Week 10 / 2026 — The pack era begins
Dieser Inhalt ist noch nicht in deiner Sprache verfügbar.
2 March – 8 March 2026 · 141 commits
This is the week the product stopped being called nuMetrix and started being called jinflow. Or rather: nuMetrix stopped being the product and became a product — the first reference domain pack of an analytical engine that could host others. The reframing was earned over three commits on Friday morning and one paragraph in CLAUDE.md, but it had been in the making for two months. By Sunday night the architecture had a name for every part: AFS, KLS, SIS, pack, live root, deploy root. Six new acronyms in a week is normally a smell. Here it was the moment a sprawling idea finally fit on one page.
A name for the parts
Section titled “A name for the parts”On Tuesday afternoon, a673d63c introduced AFS / KLS / SIS into the jinflow concept and glossary. AFS = the analytical framework (signals, theses, lineage — version-controlled YAML). KLS = the knowledge store (DuckDB file, immutable build output). SIS = the system information store (mutable per-tenant state). The next morning, 1e7fe1d2 committed the AFS concept paper with branches-as-scenarios as its load-bearing idea: an AFS is just a git repo, branches are alternative realities, the KLS is what falls out when you compile a particular reality.
These names would survive the next 10 weeks unchanged. Senses 13–24 are all variations on the same three letters.
The pack split
Section titled “The pack split”The architecture refactor came in numbered phases:
- Phase 0 (83108c55) — abstract domain path resolution through AFS pack discovery. The engine stops knowing where domain content lives.
- Phase 1+2 (3281694d) — move domain content into
packs/numetrix/. dbt, signals, contracts, tenants — all under the pack. - Phase 3 (ba8eaca2) — move domain scripts, docs, and evidence under the pack.
By Friday afternoon, the root .jinflow.yml had a pack: packs/numetrix line, dynamic brand config (dc58cdcc), and the synthetic tenant directory had been deleted (f2c09080) — “remove synthetic tenants, update CLAUDE.md for pack structure.” nuMetrix the product became the reference pack; the engine became distributable.
Sunday’s 1f79d18c named the runtime piece this implied: live root and deploy root. Live root holds tenant AFS instances and data. Deploy root holds the app. They are never the same directory. By the end of the week, c3e6d06c was wiring KLS snapshots and tenant qualification into a CLI that knew the difference.
jinflow the CLI is born
Section titled “jinflow the CLI is born”Friday brought d454a7a3 — “Add ArtifactStore API, jinflow init, and AFS-aware CSV intake”. Saturday: a3c7dcd5 — “Add jinflow CLI and —afs flag to all compilers and validators”. Saturday afternoon: 32675914 — “Add jinflow make, evolve ingest, portable app concept, and CLI tests”. Sunday: c7489bc7 committed “jinflow CLI implementation reference” — a single document any future contributor could read to understand the surface.
The companion piece on Thursday: 64153db4 shipped jinflow evolve — a dual-mode local/AI exploration REPL with KLS and SIS in its banner. Two days later 3a7fa38b gave it write and delete artifact tools.
The CLI shape now had make, explore, evolve, init, us — verbs, not nouns. They’ve kept that shape.
SMEbits and BitBundles flesh out
Section titled “SMEbits and BitBundles flesh out”The SMEbit concept landed last week. This week the implementation arrived. Monday’s 98910b86 shipped the SMEbit pipeline (contract, validator, compiler, dbt models, platform layer), b2cf1d02 added BitBundles as “curated narrative groupings of SMEbits”, and 687620ce added the Explorer pages with tri-lingual i18n.
By Wednesday, e2e670c0 had backfilled 45 SMEbits and 13 BitBundles across all tenants — atomic expert knowledge as data, not commentary. The “why” field got mandatory consideration (“backfill why fields”), which is the whole difference between knowledge and trivia.
Three threads that paid off later
Section titled “Three threads that paid off later”A few moves that look minor in week-09 hindsight but became load-bearing:
terminology.yamlcompiler (52a4a860) — generatesglossary.json+terminology.mdfrom a single source. This is how every renamed term (Sense 14, Subject Matter, Statement) propagates without grep..jinflow.ymlbrand config (94909345) — “replace hardcoded nuMetrix branding”. Logos, taglines, colors per pack. The first thing that made the pack/product distinction visible in the Explorer.- KLS hot-swap (bc843c4d) — “DB generation counter increments when DuckDB file mtime changes. Entity registry and relationship caches tag entries with the generation they were populated at, re-fetching when stale. No restart needed after dbt rebuild.” The exact mechanism that broke ten weeks later when KLS Store mode bypassed it (and got fixed yesterday).
Quiet engineering, loud effects
Section titled “Quiet engineering, loud effects”- “Inspired By” generator (4bcda891) — extract statistical profiles, synthesize unlimited hospitals. The concept paper (22d5fab0) names what’s load-bearing: you don’t need 80 real hospitals to demo, you need 80 fingerprints.
- AF Convention tab, artifact decoder, ELK layout engine (75b6829e) — pipeline graph gets serious. Position cached, persistence wired.
- What’s New page (5d5c0b59) — recent artifact changes surface in the Explorer. The recents thread that would dominate W13 starts here.
- Auto video demo scaffolding (1daad592) — Playwright + GitHub Actions. The same harness later became Playworks.
- Concept paper: Provenance, Custody, and Retention (48943ad7) — the design seed for lineage panels.
Numbers
Section titled “Numbers”- 141 commits, 7 days
- 6 acronyms introduced (AFS, KLS, SIS, pack, live root, deploy root)
- 4 architecture-refactor phases (0, 1, 2, 3) executed in 2 days
- 45 SMEbits + 13 BitBundles backfilled, three languages
- 1 fictional SME renamed several times along the way — this is what learning-in-public looks like
- 7 design docs graduated to
architecture/ - 0 releases yet — the release pipeline is next week’s story
What this week made possible
Section titled “What this week made possible”Everything that follows. The pack/tenant/engine separation is the load-bearing architecture for the next nine weeks of design papers (Sense 16, 20, 23, 24 are all expressions of it). The AFS/KLS/SIS triad is the vocabulary the senses sequence builds on. The CLI is the surface every future command extends. The Explorer-as-pack-renderer is the architecture that makes Millésime, alptrack, and interlogic possible the week after next.
Three months of preparation, dispatched in seven days.