Intuition Labs · φ research · 47 · measured · 05 sep 2026

one record, several instances

Working copies of this lab write into two shared files, one shared by two instances and the other by three, and the wider record in maxwell's repo counts 606 drafts against 18 settled entries.

606 draft entries against 18 canon, across 253 baton rows in two shared files
209 + 44 = 253 baton rows · 624 canon artifacts = 606 draft + 18 canon  ·  one schema, one canonical_digest, shared within each file by the instances that write it

the takeaway

Two instances write into the site's file and three into maxwell's. The site's file carries rows tagged `site-claude`, a working session, and `codex-intuitionlabs-site`, the name the node harness stamps on itself when it builds in a worktree of this repo. Maxwell's file carries rows tagged `maxwell-db`, `maxwell-orchestrate` and `maxwell-4c`. Every row in both files carries the same schema, `estate.baton/v1`, so a row one instance writes reads the same way under any other in its own file.

Read today, the site's baton file holds 209 rows and maxwell's holds 44. A second, wider file in maxwell's repo, `docs/parity/maxwell-canon.json`, holds 624 artifacts under one `canonical_digest` (`sha256:b38387155f62fc741bb1b77b547239656cadff653fc7038a948714194b6e4ab9`). 606 of those 624 carry the status `draft`. 18 carry `canon`.

the everyday problem

oscillators that start apart settle into the same shared trios.

People working separately on one project usually end up holding different pictures of it. Each one keeps what they found in their own head or their own scratch file, and the group only stays aligned when someone stops and retypes it for the others. A software project with several working copies has the same failure mode. A private note left in one session's scratchpad is gone the moment that session ends.

the mechanism

Every baton row carries `instance`, `repo`, `branch`, `head`, and a top-level `kind`. Rows of kind `delta` carry a `delta` block naming what happened, with `hold`, `lever`, `landed`, `finding` and `twin_sync` among its kinds. A few rows are a bare `claim` or `open` instead.

Every row records the head at the moment it was appended.

The canon file carries its own status on every entry. Every one of its 624 artifacts carries an explicit `status` field, `draft` or `canon`, so a fact never counts as settled just because it sits in the file. `docs/parity/README.md` names the rule directly: every artifact it references stays draft until the operator runs it through the canon CLI's approve step.

recordvaluewhat it names
site baton rows209`.zero/cx/baton.jsonl`, written by site-claude and codex-intuitionlabs-site
maxwell baton rows44`.maxwell/cx/baton.jsonl`, written by maxwell-db, maxwell-orchestrate and maxwell-4c
canon artifacts, total624`maxwell-canon.json`, one `canonical_digest`
canon status: draft606not yet run through the approve step
canon status: canon18all 18 are base types (`types/action`, `types/law`, `types/object`, and 15 more), not a research finding
constructed objects in the manifest9 of 9irc-strix-halo's `manifest()` reports all nine as implemented and available

Moving an entry from draft to canon takes one named step. `research_worker/src/kernel/canon/cli.ts` runs `approve` against a list of ids passed on the command line, on the operator's own word. `pending_revisions` records artifacts a later capture superseded, not a queue waiting on approval. Nothing has moved past the 18 base types yet.

what this does not cover

  • These counts are pinned to one point in time: `canonical_digest sha256:b38387...` and a row count taken on 2026-09-05. Every row in both files carries a timestamp between 2026-09-02T18:08Z and 2026-09-04T03:18Z, and both files grow every session that opens a baton.
  • `draft` covers everything from a fully-specified relation to a one-sentence placeholder idea. 606 is one number over an uneven pile, and this note does not grade what is inside it.
  • The estate registry lists irc-strix-halo, strix-mind, codebox-os, terminals-tech and terminals-os-corpus with no `cx_dir` configured. They are not writing into this baton mechanism yet.
  • `canon` here means the 18 base types have graduated, not that any research claim has cleared the approve step.
  • The lab's own six canon entries this note depends on are all `draft` themselves: `artifacts/master-structural-corpus`, `artifacts/context-continuity-switchboard`, `relations/materializes-corpus`, `relations/implements-context-continuity`, `formal/substrate-receipts`, `formal/external-witness`. None of the six is one of the 18 that have graduated.
  • Neither baton file is tracked by git. `.zero/cx/` is gitignored in the site repo and `.maxwell/cx/` is gitignored in maxwell's, so this record lives in this box's working trees, not in any clone or CI run.
  • 162 of the site file's 209 rows are automatic `hold` deltas the harness writes per build node. Findings account for 22 of the 253 rows across both files (8 in the site file, 14 in maxwell's).

the next gate

Approve takes a list of ids. The CLI's `review-queue` step already groups every draft by the session that captured it. The next gate is picking a bundle out of that queue and running approve on its ids.