Interventions · countable events
When a commit leaves its lane, extra work triggers — automatically
Every commit here gets a deterministic, LLM-free drift receipt (the mechanism). When a receipt lands out of lane (off-lane share above the 15% threshold), that is one countable event — and it triggers an intervention: a sensemaking pass explains the drift, the fixes get checklisted, and the story is published here. Countable events are what make a lane priceable; this page is the count. Each entry is a structural alert, not a scolding — a diagnosis, not a verdict — and the ledger you are reading is a loss ratio, published by the house that carries it. Stated exceptions are what surplus looks like in print.
Out-of-lane receipts per day
The interventions — why · fix · checklist
2026-09-23 · 🧪 laboratory · offPct 23
feat(vna): C202 — a dispatched worker anchors at its own label, never the goal's leaf
Why it left the lane: (sensemaking unavailable — facts-only intervention)
Measured outcome (deterministic, not self-graded): room mean offPct 16→9 over 7 commits since
Open the signed attestation →2026-09-23 · 🧪 laboratory · offPct 18
feat(vna): C183b — the left rail shows the optimisers, painted from C183a's receipt
Why it left the lane: (sensemaking unavailable — facts-only intervention)
Measured outcome (deterministic, not self-graded): room mean offPct 15→18 over 3 commits since
Open the signed attestation →2026-09-23 · 🔨 builder · offPct 34
feat(auth): C180 — a licence moves to a new machine by an explicit revoke then bind, never a silent re-sign
Why it left the lane: (sensemaking unavailable — facts-only intervention)
Measured outcome (deterministic, not self-graded): room mean offPct 26→36 over 4 commits since
Open the signed attestation →2026-09-23 · 🧭 navigator · offPct 25
fix(vna): C217 — ⏹ ends a /steer run the chat started
Why it left the lane: (sensemaking unavailable — facts-only intervention)
Measured outcome (deterministic, not self-graded): room mean offPct 30→26 over 3 commits since
Open the signed attestation →2026-09-23 · 🔨 builder · offPct 25
feat(hooks): pre-commit WARNS on a staged blob over 50 MB and names the GitHub 100 MB hard limit — bounded, never blocks
Why it left the lane: (sensemaking unavailable — facts-only intervention)
Measured outcome (deterministic, not self-graded): room mean offPct 26→22 over 15 commits since
Open the signed attestation →2026-09-23 · 🧪 laboratory · offPct 41
fix(email): an alert to the operator is never FROM the operator — alerts@ lands the inbox, only a Book Club edition wears his name
Why it left the lane: (sensemaking unavailable — facts-only intervention)
Measured outcome (deterministic, not self-graded): room mean offPct 15→13 over 4 commits since
Open the signed attestation →2026-09-23 · 🧪 laboratory · offPct 34
fix(vna): C110a — /steer re-issued C187; an indented whole-number row now holds its id
Why it left the lane: (sensemaking unavailable — facts-only intervention)
Measured outcome (deterministic, not self-graded): room mean offPct 15→18 over 3 commits since
Open the signed attestation →2026-09-23 · 🧪 laboratory · offPct 38
feat(vna): C109b — ↻ Reload Window is on the page in every build state, under the auto-paste ⋮ beside 🔄 refresh
Why it left the lane: (sensemaking unavailable — facts-only intervention)
Measured outcome (deterministic, not self-graded): room mean offPct 15→13 over 4 commits since
Open the signed attestation →2026-09-23 · 🧪 laboratory · offPct 46
fix(vna): the ⟦ GOAL ⟧ hook line defers to a dispatch-pinned leaf — a closed /goal read "report" and the worker reported instead of landing its row
Why it left the lane: (sensemaking unavailable — facts-only intervention)
Measured outcome (deterministic, not self-graded): room mean offPct 15→13 over 4 commits since
Open the signed attestation →2026-09-23 · 🧪 laboratory · offPct 17
fix(vna): the fold runs on an 8 GB heap from one argv — the runner's fold died in a V8 OOM at 3.5 GB
Why it left the lane: (sensemaking unavailable — facts-only intervention)
Measured outcome (deterministic, not self-graded): room mean offPct 15→18 over 3 commits since
Open the signed attestation →2026-09-23 · 🧭 navigator · offPct 30
feat(pmu): C188 — pmu-onchip --steer-plan orthogonalises /steer in the crate: disjoint claims, one basin cell, nearest-first by L1
Why it left the lane: (sensemaking unavailable — facts-only intervention)
Measured outcome (deterministic, not self-graded): room mean offPct 30→26 over 3 commits since
Open the signed attestation →2026-09-23 · 🧪 laboratory · offPct 26
fix(vna): C179c — 🔑 Engine keys is one clean line: the door to ⚙️ Engine & Keys plus the rows or 'set or check keys'
Why it left the lane: (sensemaking unavailable — facts-only intervention)
Measured outcome (deterministic, not self-graded): room mean offPct 15→13 over 4 commits since
Open the signed attestation →2026-09-23 · 📐 architect · offPct 26
chore(vna): tick C213 — the dispatch proves-its-tree-and-snowball guard is green
Why it left the lane: (sensemaking unavailable — facts-only intervention)
Measured outcome (deterministic, not self-graded): room mean offPct 24→26 over 3 commits since
Open the signed attestation →2026-09-23 · 🧭 navigator · offPct 37
feat(vna): C182 — many licences lock to one machine
Why it left the lane: (sensemaking unavailable — facts-only intervention)
Measured outcome (deterministic, not self-graded): room mean offPct 30→26 over 3 commits since
Open the signed attestation →2026-09-23 · 🔨 builder · offPct 45
fix(nominate): refuse the headless relay (no client clock), and copy the operator from alerts@, not a cc of elias@
Why it left the lane: (sensemaking unavailable — facts-only intervention)
Measured outcome (deterministic, not self-graded): room mean offPct 27→22 over 15 commits since
Open the signed attestation →2026-09-23 · 🧭 navigator · offPct 21
docs(vna): declare the multi-engine spec — C166 engines & keys pill, C167 local chat, C168 agnostic dispatcher, C169 clip bridge
Why it left the lane: (sensemaking unavailable — facts-only intervention)
Measured outcome (deterministic, not self-graded): room mean offPct 30→26 over 3 commits since
Open the signed attestation →2026-09-23 · 🧭 navigator · offPct 48
feat(vna): C203 extension half — every repaint names its cause, one render owner per machine, a repaint keeps scroll and inputs
Why it left the lane: (sensemaking unavailable — facts-only intervention)
Measured outcome (deterministic, not self-graded): room mean offPct 30→26 over 3 commits since
Open the signed attestation →2026-09-23 · 🧪 laboratory · offPct 18
fix(vna): C174 leg 1 — a spec tree's own outline is never the steer source; the pointer, the tail and the fold all refuse it
Why it left the lane: (sensemaking unavailable — facts-only intervention)
Measured outcome (deterministic, not self-graded): room mean offPct 15→18 over 3 commits since
Open the signed attestation →2026-09-23 · 🧪 laboratory · offPct 29
feat(vna): C168e — one engine knob for the whole /steer loop
Why it left the lane: (sensemaking unavailable — facts-only intervention)
Measured outcome (deterministic, not self-graded): room mean offPct 15→18 over 3 commits since
Open the signed attestation →2026-09-23 · 🧪 laboratory · offPct 24
fix(vna): C216 — the holds stop auto-fire, never the operator's own /steer ask, and a held queue ends
Why it left the lane: (sensemaking unavailable — facts-only intervention)
Measured outcome (deterministic, not self-graded): room mean offPct 15→13 over 4 commits since
Open the signed attestation →2026-09-23 · 🎩 operator · offPct 16
fix(pmu): grip-meter reads the walk tape's tail, bounded — never the whole 810 MB file
Why it left the lane: (sensemaking unavailable — facts-only intervention)
Open the signed attestation →2026-09-23 · 📐 architect · offPct 18
chore(vna): tick C205 — the runner pool guard is green
Why it left the lane: (sensemaking unavailable — facts-only intervention)
Measured outcome (deterministic, not self-graded): room mean offPct 24→19 over 3 commits since
Open the signed attestation →2026-09-23 · 🧭 navigator · offPct 34
feat(vna): C210 — the 💬 Steer chat is two lines of header, /clear is a typed verb, and /steer <anything> runs the /steer door
Why it left the lane: (sensemaking unavailable — facts-only intervention)
Measured outcome (deterministic, not self-graded): room mean offPct 30→26 over 3 commits since
Open the signed attestation →2026-09-23 · 🧪 laboratory · offPct 40
feat(pmu): C171a — engine-map gains a HOLDS-MASS pass; the Rust punch list ranks peak RSS × calls/hour first, decision ms second
Why it left the lane: (sensemaking unavailable — facts-only intervention)
Measured outcome (deterministic, not self-graded): room mean offPct 15→18 over 3 commits since
Open the signed attestation →2026-09-23 · 📐 architect · offPct 19
docs(vna): tick C207 — the control model calls /steer itself and answers for it (7477df3062), guard green 4/4
Why it left the lane: (sensemaking unavailable — facts-only intervention)
Measured outcome (deterministic, not self-graded): room mean offPct 24→17 over 7 commits since
Open the signed attestation →2026-09-23 · 📐 architect · offPct 33
docs(vna): declare C202 — the sidebar's refresh is one visible pattern, and a repaint closes nothing
Why it left the lane: (sensemaking unavailable — facts-only intervention)
Measured outcome (deterministic, not self-graded): room mean offPct 25→19 over 15 commits since
Open the signed attestation →2026-09-23 · 🧪 laboratory · offPct 30
feat(vna): C173a — the 🔑 licence box is a sub-pill under 💳 Fund, beside ⚙️ Tokens per cog; no longer a banner above the pills
Why it left the lane: (sensemaking unavailable — facts-only intervention)
Measured outcome (deterministic, not self-graded): room mean offPct 15→18 over 3 commits since
Open the signed attestation →2026-09-23 · 🧪 laboratory · offPct 23
fix(vna): C183a — an UNMEASURED steering reading carries n and min_pairs, so the rail can say "n=12 of 20 needed"
Why it left the lane: (sensemaking unavailable — facts-only intervention)
Measured outcome (deterministic, not self-graded): room mean offPct 15→13 over 4 commits since
Open the signed attestation →2026-09-22 · 🎩 operator · offPct 19
chore(sweep): the residue — daemon state written while the sweep was committing
Why it left the lane: (sensemaking unavailable — facts-only intervention)
Open the signed attestation →2026-09-22 · 🔨 builder · offPct 17
chore(vsix): every package lands on the Desktop — the mechanism, not the habit
Why it left the lane: (sensemaking unavailable — facts-only intervention)
Measured outcome (deterministic, not self-graded): room mean offPct 24→37 over 4 commits since
Open the signed attestation →2026-09-22 · 🔨 builder · offPct 30
chore(bookclub): high-score board update — recomputed after send
Why it left the lane: (sensemaking unavailable — facts-only intervention)
Measured outcome (deterministic, not self-graded): room mean offPct 21→22 over 6 commits since
Open the signed attestation →2026-09-22 · 🧭 navigator · offPct 33
fix(vsix): repackage at 0.3.30 — the built artifact still carried the private-repo links
Why it left the lane: (sensemaking unavailable — facts-only intervention)
Measured outcome (deterministic, not self-graded): room mean offPct 28→26 over 3 commits since
Open the signed attestation →2026-09-22 · ☕ network · offPct 16
feat(club): C160 — two layers with a visible seam: the tool layer above, one line naming the chapter with its link, the essay below; an edit to A8, relocked, L25 respected
Why it left the lane: (sensemaking unavailable — facts-only intervention)
Measured outcome (deterministic, not self-graded): room mean offPct —→0 over 12 commits since
Open the signed attestation →2026-09-22 · 🧪 laboratory · offPct 34
fix(oss): C162 — the open-source claim is now true where a stranger can check it
Why it left the lane: (sensemaking unavailable — facts-only intervention)
Measured outcome (deterministic, not self-graded): room mean offPct 15→18 over 3 commits since
Open the signed attestation →2026-09-22 · 📐 architect · offPct 17
spec(vna): C156 + C157 ticked through spec-check — both guards green (f6ffab2c77/c6b4b78f4f, ac8d12a5ae)
Why it left the lane: (sensemaking unavailable — facts-only intervention)
Measured outcome (deterministic, not self-graded): room mean offPct 25→16 over 3 commits since
Open the signed attestation →2026-09-22 · 🧭 navigator · offPct 44
fix(vscode): C161 — the listing's Repository/Issues links resolve for a stranger
Why it left the lane: (sensemaking unavailable — facts-only intervention)
Measured outcome (deterministic, not self-graded): room mean offPct 28→26 over 3 commits since
Open the signed attestation →2026-09-22 · 🧭 navigator · offPct 40
fix(mirror): denylist grip-ab-sweep.json — the name gate was refusing every push
Why it left the lane: (sensemaking unavailable — facts-only intervention)
Measured outcome (deterministic, not self-graded): room mean offPct 28→26 over 3 commits since
Open the signed attestation →2026-09-22 · 🔨 builder · offPct 31
feat(vna): C161 — the claim token: the unclaimed purchase email carries a credential, a box at the top of the sidebar takes it, /api/auth/claim binds the licences to this device and returns the key (ext 0.3.29)
Why it left the lane: (sensemaking unavailable — facts-only intervention)
Measured outcome (deterministic, not self-graded): room mean offPct 21→22 over 6 commits since
Open the signed attestation →2026-09-22 · 🧪 laboratory · offPct 24
perf(vna): C165 — the spec tree was 304 MB and every prompt parsed it
Why it left the lane: (sensemaking unavailable — facts-only intervention)
Measured outcome (deterministic, not self-graded): room mean offPct 15→18 over 3 commits since
Open the signed attestation →2026-09-22 · 🧭 navigator · offPct 19
fix(listing): the hero image 404'd on every visit — swap it for the one that is deployed
Why it left the lane: (sensemaking unavailable — facts-only intervention)
Measured outcome (deterministic, not self-graded): room mean offPct 28→26 over 3 commits since
Open the signed attestation →2026-09-22 · 🧪 laboratory · offPct 50
fix(mirror): the push is not the thing, the remote ref is — assert it, and exit non-zero when it fails
Why it left the lane: (sensemaking unavailable — facts-only intervention)
Measured outcome (deterministic, not self-graded): room mean offPct 15→18 over 3 commits since
Open the signed attestation →2026-09-22 · 🧭 navigator · offPct 28
feat(listing): C166 — the download wedge leads, and the story under it is measured
Why it left the lane: (sensemaking unavailable — facts-only intervention)
Measured outcome (deterministic, not self-graded): room mean offPct 28→26 over 3 commits since
Open the signed attestation →2026-09-22 · ☕ network · offPct 19
feat(vna): C157 — the six seconds as a looping GIF: bleed · strike · placement, rendered off the register, on both READMEs and the club lock
Why it left the lane: (sensemaking unavailable — facts-only intervention)
Measured outcome (deterministic, not self-graded): room mean offPct —→0 over 12 commits since
Open the signed attestation →2026-09-22 · ☕ network · offPct 19
docs(comms): C157 report v1 — the six seconds as a looping GIF, intent vs reality, mailed with the GIF inline
Why it left the lane: (sensemaking unavailable — facts-only intervention)
Measured outcome (deterministic, not self-graded): room mean offPct —→0 over 12 commits since
Open the signed attestation →2026-09-22 · ☕ network · offPct 19
feat(vna): C158 — the founder note, first person singular, on the club porch and the extension README; spelled once on the register, cut to L25's room
Why it left the lane: (sensemaking unavailable — facts-only intervention)
Measured outcome (deterministic, not self-graded): room mean offPct —→0 over 12 commits since
Open the signed attestation →2026-09-22 · 📐 architect · offPct 17
spec(vna): C161 ticked through spec-check — guard green
Why it left the lane: (sensemaking unavailable — facts-only intervention)
Measured outcome (deterministic, not self-graded): room mean offPct 25→13 over 7 commits since
Open the signed attestation →2026-09-22 · 🧭 navigator · offPct 37
feat(vna): C156 — the six seconds: the viral hook on both READMEs, spelled once on the register, /steer as a verb
Why it left the lane: (sensemaking unavailable — facts-only intervention)
Measured outcome (deterministic, not self-graded): room mean offPct 28→26 over 3 commits since
Open the signed attestation →2026-09-21 · 📐 architect · offPct 38
spec(vna): C148 gains the length reading — 9,510 words, 4,770 of them the generated controls dump with run-state in headings; the block regenerates as the nine pills (≤1,500 words, no reading in a heading), page ≤5,500
Why it left the lane: (sensemaking unavailable — facts-only intervention)
Measured outcome (deterministic, not self-graded): room mean offPct 25→14 over 5 commits since
Open the signed attestation →2026-09-21 · 🧪 laboratory · offPct 29
test(vna-ext): C124c guards — P1's order is second entry → tokens (the flying sentence, once, in P1) → liability → Time on Target; the attestation section carries the spark and the ratio
Why it left the lane: (sensemaking unavailable — facts-only intervention)
Measured outcome (deterministic, not self-graded): room mean offPct 16→18 over 3 commits since
Open the signed attestation →2026-09-21 · 🧭 navigator · offPct 27
docs(vna-ext): the launch page — publisher form answers, a 512px logo the form accepts, npm then vsce in order, the first $20 walk
Why it left the lane: (sensemaking unavailable — facts-only intervention)
Measured outcome (deterministic, not self-graded): room mean offPct 28→26 over 3 commits since
Open the signed attestation →2026-09-21 · 🧪 laboratory · offPct 21
feat(vna): C122c — the file is on the face: 🧪 Open Red Witness beside 📄, ↗ Open the runner log on the runner, ↗ Open the steer file on the live line
Why it left the lane: (sensemaking unavailable — facts-only intervention)
Measured outcome (deterministic, not self-graded): room mean offPct 16→18 over 3 commits since
Open the signed attestation →2026-09-21 · 🧭 navigator · offPct 38
docs(vna-ext): C148a — "double-entry bookkeeping" once on the README, then the why-both: the record stops the re-send AND is what a second key countersigns — the Time on Target you want
Why it left the lane: (sensemaking unavailable — facts-only intervention)
Measured outcome (deterministic, not self-graded): room mean offPct 28→26 over 3 commits since
Open the signed attestation →2026-09-21 · 🧪 laboratory · offPct 39
fix(vna): C156 — the 💳 action no longer refuses a window with no room: deviceIdentity resolves through signerFor, the key the tape signs with (host key when no room)
Why it left the lane: (sensemaking unavailable — facts-only intervention)
Measured outcome (deterministic, not self-graded): room mean offPct 16→18 over 3 commits since
Open the signed attestation →2026-09-21 · 🧭 navigator · offPct 35
ship(vscode): C122i — thetacog-mcp 0.3.25: the view id is thetacog.steer, so the pane title misses VS Code's cached "VNA — where the work landed"
Why it left the lane: (sensemaking unavailable — facts-only intervention)
Measured outcome (deterministic, not self-graded): room mean offPct 28→26 over 3 commits since
Open the signed attestation →2026-09-21 · ☕ network · offPct 16
feat(club): the top pill's door is the VS Code Marketplace listing — one line of what you gain from double-entry for autonomy
Why it left the lane: (sensemaking unavailable — facts-only intervention)
Measured outcome (deterministic, not self-graded): room mean offPct —→0 over 12 commits since
Open the signed attestation →2026-09-21 · 🧪 laboratory · offPct 39
feat(vna): C147 — the halt pill carries a health reading: halts of dispatches · last halt age · red witness state · the worker's last verdict
Why it left the lane: (sensemaking unavailable — facts-only intervention)
Measured outcome (deterministic, not self-graded): room mean offPct 16→18 over 3 commits since
Open the signed attestation →2026-09-21 · 🔨 builder · offPct 27
feat(site): C154 — 💳 Fund Autonomy Ledger + sign-in state on every page; a purchase binds to the login
Why it left the lane: (sensemaking unavailable — facts-only intervention)
Measured outcome (deterministic, not self-graded): room mean offPct 23→22 over 6 commits since
Open the signed attestation →2026-09-21 · 📐 architect · offPct 21
chore(vna): notary price receipt — $20 · 10,000 countersignatures per licence, read off price_1TjPZAArbZieQL7T5Uia7OOG
Why it left the lane: (sensemaking unavailable — facts-only intervention)
Measured outcome (deterministic, not self-graded): room mean offPct 25→29 over 5 commits since
Open the signed attestation →2026-09-21 · 🧪 laboratory · offPct 29
feat(vna): C146 — 🌳 Open Tree and 📄 Open Spec carry stats: nodes · root · revisions · rows behind, and rows ticked of declared · open · the unit
Why it left the lane: (sensemaking unavailable — facts-only intervention)
Measured outcome (deterministic, not self-graded): room mean offPct 16→18 over 3 commits since
Open the signed attestation →2026-09-21 · 🧪 laboratory · offPct 39
fix(vna): C109m.5 — one scroller: the page scrolls sideways and every row moves together; the ingest is a face row; the + box is "+"
Why it left the lane: (sensemaking unavailable — facts-only intervention)
Measured outcome (deterministic, not self-graded): room mean offPct 17→18 over 3 commits since
Open the signed attestation →2026-09-21 · 🧪 laboratory · offPct 42
fix(vna): C119i — an open + is its own line: display:contents on <details> is ignored by Chromium, so the drawer stood beside the button as a column over an empty box
Why it left the lane: (sensemaking unavailable — facts-only intervention)
Measured outcome (deterministic, not self-graded): room mean offPct 16→18 over 3 commits since
Open the signed attestation →2026-09-21 · 🧪 laboratory · offPct 38
feat(vna): C119d — tokens per cog written out first on the button; C121 declared — the cog in human percentile and chair-hours, its prediction guarded
Why it left the lane: (sensemaking unavailable — facts-only intervention)
Measured outcome (deterministic, not self-graded): room mean offPct 16→18 over 3 commits since
Open the signed attestation →2026-09-21 · ☕ network · offPct 19
comms(self): launch checklist — ThetaCog Steer 0.3.27 · the first run no longer crashes · 2 Stripe breaks repaired · 3 clicks are yours
Why it left the lane: (sensemaking unavailable — facts-only intervention)
Measured outcome (deterministic, not self-graded): room mean offPct —→0 over 12 commits since
Open the signed attestation →2026-09-21 · 🔨 builder · offPct 42
feat(vna): C97c `npx thetacog-mcp verify <url>` — fetch the CAR bundle at a URL and recompute it on foreign metal: every row hash and signature, the chain, every MMR proof and countersignature against the key served at <origin>/api/auth/keys; VERIFIED / NOT VERIFIED naming the row and the check / UNMEASURED never a verdict
Why it left the lane: (sensemaking unavailable — facts-only intervention)
Measured outcome (deterministic, not self-graded): room mean offPct 23→22 over 6 commits since
Open the signed attestation →2026-09-21 · 🧪 laboratory · offPct 17
feat(vna): C119b — cost per yield: the face reads tok/cog before the percentile, the miss is tok/cog against the peg, no turns on the cog card
Why it left the lane: (sensemaking unavailable — facts-only intervention)
Measured outcome (deterministic, not self-graded): room mean offPct 16→18 over 3 commits since
Open the signed attestation →2026-09-21 · 📐 architect · offPct 18
spec(vna): C151 · C152 name their guard by the file on disk — c142-the-sequence-is-the-operators-numbering.test.mjs (was the draft filename)
Why it left the lane: (sensemaking unavailable — facts-only intervention)
Measured outcome (deterministic, not self-graded): room mean offPct 25→25 over 5 commits since
Open the signed attestation →2026-09-21 · 🧪 laboratory · offPct 22
feat(vna): C138 (sidebar half) — 🛒 Buy licences on the live line and under every card's +, one painter, the 💳's own command
Why it left the lane: (sensemaking unavailable — facts-only intervention)
Measured outcome (deterministic, not self-graded): room mean offPct 16→18 over 3 commits since
Open the signed attestation →2026-09-21 · 🧭 navigator · offPct 31
feat(vna): C138 — the checkout door on every surface the extension copies out: README hero · recipe · Where this sits · handoff · the Verified line's unlicensed states
Why it left the lane: (sensemaking unavailable — facts-only intervention)
Measured outcome (deterministic, not self-graded): room mean offPct 28→26 over 3 commits since
Open the signed attestation →2026-09-21 · 🧪 laboratory · offPct 40
feat(vna): C139 — signed in · <acct8> · <N> licences left beside the 🛒 on the live line and the 💳 pill; the count ticks down off the local credits ledger
Why it left the lane: (sensemaking unavailable — facts-only intervention)
Measured outcome (deterministic, not self-graded): room mean offPct 16→18 over 3 commits since
Open the signed attestation →2026-09-21 · 🧪 laboratory · offPct 28
feat(vna): C131 — the unfunded 💳 pill carries "⚠️ Time on Target clock stopped. Unsigned work is not retained." under its face
Why it left the lane: (sensemaking unavailable — facts-only intervention)
Measured outcome (deterministic, not self-graded): room mean offPct 16→18 over 3 commits since
Open the signed attestation →2026-09-21 · 🧪 laboratory · offPct 24
test(vna): C141 guard landed — built 12:12 by the nine-pills session, never tracked (built-but-untracked is the #3 failed-ask cause)
Why it left the lane: (sensemaking unavailable — facts-only intervention)
Measured outcome (deterministic, not self-graded): room mean offPct 16→18 over 3 commits since
Open the signed attestation →2026-09-21 · 📐 architect · offPct 35
feat(vna): C122d — a closed contract reads `N/N closed · <lane>`, metric · metric, never a sentence
Why it left the lane: (sensemaking unavailable — facts-only intervention)
Measured outcome (deterministic, not self-graded): room mean offPct 25→29 over 5 commits since
Open the signed attestation →2026-09-21 · 🧪 laboratory · offPct 17
feat(vna): C119e/C119f — the cog face is a ledger line, the percentile first and coloured; the button is the exchange rate; the click is the proof
Why it left the lane: (sensemaking unavailable — facts-only intervention)
Measured outcome (deterministic, not self-graded): room mean offPct 16→18 over 3 commits since
Open the signed attestation →2026-09-21 · 🔨 builder · offPct 24
docs(pricing): C140 — queries on the map of maps are metered in the one credits ledger, per query, never a second subscription tier; falsifier on the page
Why it left the lane: (sensemaking unavailable — facts-only intervention)
Measured outcome (deterministic, not self-graded): room mean offPct 23→22 over 6 commits since
Open the signed attestation →2026-09-21 · 🔨 builder · offPct 76
feat(site): C158 — /notarise always has the checkout form: prefilled with your email when signed in, the line counts your licences, a bare page still buys (unbound, binds from the IDE)
Why it left the lane: (sensemaking unavailable — facts-only intervention)
Measured outcome (deterministic, not self-graded): room mean offPct 21→22 over 6 commits since
Open the signed attestation →2026-09-21 · 🧭 navigator · offPct 27
docs(vna-ext): C124b — the H1 leads with the cost, without the animal: "Unsigned autonomous code is a cost nobody can put a number on"
Why it left the lane: (sensemaking unavailable — facts-only intervention)
Measured outcome (deterministic, not self-graded): room mean offPct 28→26 over 3 commits since
Open the signed attestation →2026-09-21 · 🧭 navigator · offPct 33
feat(vna): C133 — the 📋 line is "Verified by ThetaCog: …", every slot off a receipt, UNMEASURED per absent receipt
Why it left the lane: (sensemaking unavailable — facts-only intervention)
Measured outcome (deterministic, not self-graded): room mean offPct 28→26 over 3 commits since
Open the signed attestation →2026-09-21 · 🧪 laboratory · offPct 19
feat(vna): C122a — the manifesto folds: the header is the short form + the stats, §25 and the shebang behind one +
Why it left the lane: (sensemaking unavailable — facts-only intervention)
Measured outcome (deterministic, not self-graded): room mean offPct 16→18 over 3 commits since
Open the signed attestation →2026-09-21 · ☕ network · offPct 22
comms(self): launch checklist — contribution items as bullets so a path (docs/research/) is not read as a spine section; regraded
Why it left the lane: (sensemaking unavailable — facts-only intervention)
Measured outcome (deterministic, not self-graded): room mean offPct —→0 over 12 commits since
Open the signed attestation →2026-09-21 · 🧪 laboratory · offPct 17
feat(vna): C119l — the graph is the last asks of the record: closed asks retained on a turns ledger, carried in front of a fresh session's own
Why it left the lane: (sensemaking unavailable — facts-only intervention)
Measured outcome (deterministic, not self-graded): room mean offPct 16→18 over 3 commits since
Open the signed attestation →2026-09-21 · 🧭 navigator · offPct 35
docs(vna-ext): the name says Book Keeping — the operator's one edit to the README tagline, propagated to STEER_NAME, the marketplace displayName and its guards
Why it left the lane: (sensemaking unavailable — facts-only intervention)
Measured outcome (deterministic, not self-graded): room mean offPct 28→26 over 3 commits since
Open the signed attestation →2026-09-21 · 🧪 laboratory · offPct 22
feat(vna): C149 — no bounded pill, and what the circles mean is spec §17 verbatim
Why it left the lane: (sensemaking unavailable — facts-only intervention)
Measured outcome (deterministic, not self-graded): room mean offPct 16→18 over 3 commits since
Open the signed attestation →2026-09-21 · 🧭 navigator · offPct 40
docs(vna-ext): C130 — the controls block regenerated off the renamed page: 💳 Fund Autonomous Ledger · 🔗 Countersign (backup) · 🛒 Buy licences · the T5 faces under the cluster's nouns, no Tasks · Feed · Health
Why it left the lane: (sensemaking unavailable — facts-only intervention)
Measured outcome (deterministic, not self-graded): room mean offPct 28→26 over 3 commits since
Open the signed attestation →2026-09-21 · 🧪 laboratory · offPct 46
fix(vna): C109m.3 — the ▸ + is sticky at the left of every row; the live line's toggle is the same box as a face button
Why it left the lane: (sensemaking unavailable — facts-only intervention)
Measured outcome (deterministic, not self-graded): room mean offPct 17→18 over 3 commits since
Open the signed attestation →2026-09-21 · 🧪 laboratory · offPct 25
test(vna): C141 — the 46 guards that pinned the five-card panel follow the pills (updated, never deleted); the parent-buttons fixture lands
Why it left the lane: (sensemaking unavailable — facts-only intervention)
Measured outcome (deterministic, not self-graded): room mean offPct 16→18 over 3 commits since
Open the signed attestation →2026-09-21 · 🧪 laboratory · offPct 37
feat(vna): C119 — complexity per human % is the first glance; the recent-turns strip, the early warning, the discrepancy log
Why it left the lane: (sensemaking unavailable — facts-only intervention)
Measured outcome (deterministic, not self-graded): room mean offPct 16→18 over 3 commits since
Open the signed attestation →2026-09-21 · 🧪 laboratory · offPct 39
feat(vna): C122g — the two arms under the walk while the envelope pulls: ⇄ Pick an arm · pull N · move the work → · move the declaration →
Why it left the lane: (sensemaking unavailable — facts-only intervention)
Measured outcome (deterministic, not self-graded): room mean offPct 16→18 over 3 commits since
Open the signed attestation →2026-09-21 · 🧪 laboratory · offPct 20
feat(vna): C151 — 🔍 View Aperture Receipt indented under 🚶 Walk HEAD, the first of the four (was under auto-paste)
Why it left the lane: (sensemaking unavailable — facts-only intervention)
Measured outcome (deterministic, not self-graded): room mean offPct 16→18 over 3 commits since
Open the signed attestation →2026-09-21 · 🧭 navigator · offPct 28
feat(vscode): C124 — the lifecycle pill knows three versions and speaks from outside the pane; thetacog-mcp 0.3.26
Why it left the lane: (sensemaking unavailable — facts-only intervention)
Measured outcome (deterministic, not self-graded): room mean offPct 28→26 over 3 commits since
Open the signed attestation →2026-09-21 · 🧪 laboratory · offPct 25
fix(steer-ui): C126 — a face button is as wide as its words; the live line's doors were 1,775 px teal and the line 5,033 px
Why it left the lane: (sensemaking unavailable — facts-only intervention)
Measured outcome (deterministic, not self-graded): room mean offPct 16→18 over 3 commits since
Open the signed attestation →2026-09-21 · 🧪 laboratory · offPct 19
feat(vna): C134 — the credits term rides on the 💳 face in every state: credits N · credits 0 · none held · credits UNMEASURED — connect
Why it left the lane: (sensemaking unavailable — facts-only intervention)
Measured outcome (deterministic, not self-graded): room mean offPct 16→18 over 3 commits since
Open the signed attestation →2026-09-21 · 🧪 laboratory · offPct 19
test(vna): extension-envelope reads the 1.47 MB envelope receipt — maxBuffer past execFileSync's 1 MB default (ENOBUFS painted the whole file red)
Why it left the lane: (sensemaking unavailable — facts-only intervention)
Measured outcome (deterministic, not self-graded): room mean offPct 16→18 over 3 commits since
Open the signed attestation →2026-09-21 · 🧪 laboratory · offPct 38
feat(vna): C122b — the context pill carries the savings and the tip: bytes folded, the window not re-sent, ⚠️ carried · Tip: the gauge's own button
Why it left the lane: (sensemaking unavailable — facts-only intervention)
Measured outcome (deterministic, not self-graded): room mean offPct 16→18 over 3 commits since
Open the signed attestation →2026-09-21 · 🧪 laboratory · offPct 33
feat(vna): C130 — the T5 drawers lose Tasks · Feed · Health; each face names its door under the cluster's noun, bound to the command that already opens it
Why it left the lane: (sensemaking unavailable — facts-only intervention)
Measured outcome (deterministic, not self-graded): room mean offPct 16→18 over 3 commits since
Open the signed attestation →2026-09-21 · 🧪 laboratory · offPct 38
fix(vna): C119g — the walk tape is read from its tail, bounded, never as one string; the flat graph and the empty header were the string ceiling
Why it left the lane: (sensemaking unavailable — facts-only intervention)
Measured outcome (deterministic, not self-graded): room mean offPct 16→18 over 3 commits since
Open the signed attestation →2026-09-21 · 🧭 navigator · offPct 31
fix(vna): C125 — the stranger's first run: a spec-less repo walks HEAD's message and says so; the bundled steps file survives npm pack; thetacog-mcp 0.3.27 packaged and installed
Why it left the lane: (sensemaking unavailable — facts-only intervention)
Measured outcome (deterministic, not self-graded): room mean offPct 28→26 over 3 commits since
Open the signed attestation →2026-09-21 · 🧪 laboratory · offPct 17
feat(vna): C155 — the cog pill carries the formal methods and THE RATCHET TO THE DIGNITY PIXEL, four receipts closed in order; the envelope moves under ⚙️ from the fork drawer
Why it left the lane: (sensemaking unavailable — facts-only intervention)
Measured outcome (deterministic, not self-graded): room mean offPct 16→18 over 3 commits since
Open the signed attestation →2026-09-21 · 🧪 laboratory · offPct 27
fix(vna): C126b — the tick starts the clipboard daemon; CLIP DEAD is a door, not a label
Why it left the lane: (sensemaking unavailable — facts-only intervention)
Measured outcome (deterministic, not self-graded): room mean offPct 16→18 over 3 commits since
Open the signed attestation →2026-09-21 · 🔨 builder · offPct 17
chore(book): rebuild HTML (detached pre-push auto-heal)
Why it left the lane: (sensemaking unavailable — facts-only intervention)
Measured outcome (deterministic, not self-graded): room mean offPct 21→22 over 6 commits since
Open the signed attestation →2026-09-21 · 🧪 laboratory · offPct 39
feat(vna): C136 — the paste door sits under ⋮ on the ledger pill as the bypass; 🔌 Connect is first under the same ⋮, up from ▸ more
Why it left the lane: (sensemaking unavailable — facts-only intervention)
Measured outcome (deterministic, not self-graded): room mean offPct 16→18 over 3 commits since
Open the signed attestation →2026-09-21 · 🧪 laboratory · offPct 20
feat(vna): C123e/f/i — the aperture is a whole pill that lists every intent · reality · excluded row with a tick and the % of the file in focus; the spec's H1 is the name
Why it left the lane: (sensemaking unavailable — facts-only intervention)
Measured outcome (deterministic, not self-graded): room mean offPct 16→18 over 3 commits since
Open the signed attestation →2026-09-21 · 🧭 navigator · offPct 37
docs(vna-ext): Bookkeeping, one word, hyphenated Double-Entry — the name on all six surfaces (README, displayName, view title, STEER_NAME, two guards)
Why it left the lane: (sensemaking unavailable — facts-only intervention)
Measured outcome (deterministic, not self-graded): room mean offPct 28→26 over 3 commits since
Open the signed attestation →2026-09-21 · 🧪 laboratory · offPct 39
fix(vna): C109m.4 — the six sections (Tasks · Feed · Health · Net · Fork · Export) follow the face structure
Why it left the lane: (sensemaking unavailable — facts-only intervention)
Measured outcome (deterministic, not self-graded): room mean offPct 17→18 over 3 commits since
Open the signed attestation →2026-09-21 · 🔨 builder · offPct 29
fix(site): C159 — the price id resolves from the committed receipt when the env is unset, so /notarise carries the checkout form on prod without a Vercel env var
Why it left the lane: (sensemaking unavailable — facts-only intervention)
Measured outcome (deterministic, not self-graded): room mean offPct 21→22 over 6 commits since
Open the signed attestation →2026-09-21 · 🧭 navigator · offPct 21
feat(vna): C109d.2 — the name is "ThetaCog Steer: Double Entry for Autonomy"; the tail lives in the README
Why it left the lane: (sensemaking unavailable — facts-only intervention)
Measured outcome (deterministic, not self-graded): room mean offPct 28→26 over 3 commits since
Open the signed attestation →2026-09-21 · 🧪 laboratory · offPct 20
feat(vna): C122e/C122f — the clock on the 💳 face (since <date>, off the tape) and 🔑 Paste licence key as the 💳's face door
Why it left the lane: (sensemaking unavailable — facts-only intervention)
Measured outcome (deterministic, not self-graded): room mean offPct 16→18 over 3 commits since
Open the signed attestation →2026-09-21 · 🧪 laboratory · offPct 20
feat(vna): C119c — the cog is the unit: the face reads yield then mass, never their quotient
Why it left the lane: (sensemaking unavailable — facts-only intervention)
Measured outcome (deterministic, not self-graded): room mean offPct 17→18 over 3 commits since
Open the signed attestation →2026-09-21 · ☕ network · offPct 17
feat(club): the pill is the launch announcement — 'Launched today', both books countersigned, the licence keeps it built; the legend says the lane is declared and the count is the frequency half
Why it left the lane: (sensemaking unavailable — facts-only intervention)
Measured outcome (deterministic, not self-graded): room mean offPct —→0 over 12 commits since
Open the signed attestation →2026-09-21 · 🧪 laboratory · offPct 30
feat(vna): C132 — the 💳 reads Fund Autonomous Ledger in both key states; the door audit reads "fund"; the countersign tooltip names the third party
Why it left the lane: (sensemaking unavailable — facts-only intervention)
Measured outcome (deterministic, not self-graded): room mean offPct 16→18 over 3 commits since
Open the signed attestation →2026-09-21 · 🧭 navigator · offPct 38
docs(vscode): C114 README pruned to the deadpan register — the ledger walkthrough in path order, the killshot kept
Why it left the lane: (sensemaking unavailable — facts-only intervention)
Measured outcome (deterministic, not self-graded): room mean offPct 28→26 over 3 commits since
Open the signed attestation →2026-09-21 · 🧪 laboratory · offPct 34
fix(vna): C119h — "not re-sent" is the worker's spend against a chat's, never the boot bundle's size; the 99.8 % was a run summed to 0 tokens
Why it left the lane: (sensemaking unavailable — facts-only intervention)
Measured outcome (deterministic, not self-graded): room mean offPct 16→18 over 3 commits since
Open the signed attestation →2026-09-21 · 🔨 builder · offPct 21
docs(vna-ext): the cockpit screenshot in the README, hosted on the site, with the flying caption
Why it left the lane: (sensemaking unavailable — facts-only intervention)
Measured outcome (deterministic, not self-graded): room mean offPct 21→22 over 6 commits since
Open the signed attestation →2026-09-20 · 🔧 steer-worker · offPct 20
spec(vna): C102a CHAIN WALKED 2026-09-20 — eleven links named LIVE|LOCAL-ONLY|BROKEN with curl/file/guard evidence; first break = AUTH_ED25519_SEED absent on Vercel (device 503), second = no Stripe price carries credits_per_unit and no committed receipt; the checkout facts and the two-doors finding
Why it left the lane: (sensemaking unavailable — facts-only intervention)
Measured outcome (deterministic, not self-graded): room mean offPct 15→22 over 3 commits since
Open the signed attestation →2026-09-20 · 🧪 laboratory · offPct 51
feat(vna): C107b — a separator or a blank is not an ask: junk classes typed at the fold, retained, never released, k held
Why it left the lane: (sensemaking unavailable — facts-only intervention)
Measured outcome (deterministic, not self-graded): room mean offPct 16→40 over 3 commits since
Open the signed attestation →2026-09-20 · 🧭 navigator · offPct 51
fix(vna): restore C116's vna.viewAperture command in package.json — dropped by 2555249805's stale tree
Why it left the lane: (sensemaking unavailable — facts-only intervention)
Measured outcome (deterministic, not self-graded): room mean offPct 19→26 over 3 commits since
Open the signed attestation →2026-09-20 · 🔨 builder · offPct 40
chore(benchmark): refresh adoption board + self-published semantic vega on push (detached, deterministic, LLM-free)
Why it left the lane: (sensemaking unavailable — facts-only intervention)
Measured outcome (deterministic, not self-graded): room mean offPct 23→22 over 6 commits since
Open the signed attestation →2026-09-20 · 📐 architect · offPct 30 · structural
spec(vna): C94b ticked — THE EXTENSION LEAVES HOME built; §26 step 1 re-marked BUILT
Why it left the lane: The diff's --stat is tiny (2 insertions/2 deletions, one markdown file) but those two '+' lines are single giant markdown lines whose text is the full verbatim builder changelog for C94b: literal strings like 'packages/thetacog-mcp-vscode/src/commands.ts', 'DOORS', 'isHome(root)', 'doorCommand(root, script, args)', 'extension.ts', 'vna-steer.ts', 'vna-clip.ts', 'vna-cockpit.ts', 'vna-tail.ts', 'auth-manager.ts', 'vna-view.ts', 'server.js', 'VNA_DOORS', 'VNA_REPO', 'bundle-pmu.mjs', 'VNA_DOOR_SCRIPTS', 'scripts/vna/door-cmd.mjs', 'packages/thetacog-mcp/scripts/mesh/mesh-keys.mjs'. These are construct/code-lane tokens spanning six TS modules and four JS doors, and the gzip-NCD reef + ballistic walk both key on token content — so lensReality picked up C3 (a code-construct coordinate) alongside A1, diverging from lensIntent A1,B1 (the architect's declared-rows lattice).
The semantic pull: The row's own 'built 2026-09-19:' parenthetical is a full engineering report (command tables, guard counts '8/8', file paths across scripts/vna, scripts/pmu, scripts/cog, scripts/mesh, src/lib) pasted into the architect-tracked SPEC-VNA-COCKPIT.md file — that pasted mass, not the actual 2-line diff, is what the walk measured.
Intent–reality gap: The commit message claims a narrow, earned status update ('Ticked through spec-check toggle after the guard ran green... §26 step 1 re-marked BUILT') confined to the architect's spec ledger, but the receipt measured 112 lit reality cells with 30% off-lane because the same diff lines carry a full builder-lane changelog, not just a checkbox flip.
- Create docs/specs/vna/build-logs/ and migrate C94b's (and C93o's) existing inline report text there as the first backfill instance
- Update scripts/vna/spec-check.mjs to write BUILT reports to build-logs/<Cid>.md with a pointer left in the row
- Ship tests/pmu-simulator/originating-terminal-matches-surface.test.mjs (ask-027, asked 19× — never landed) since docs/specs/vna/ is not on architect's owned-surface list at all
- Ship tests/ops/room-surface-coverage.test.js (ask-001, asked 10×) to flag any commit whose diff path isn't covered by Originating-Terminal's declared globs
- Add docs/specs/vna/** to the room-ownership config explicitly: status-row edits jointly architect/builder, build-logs/** builder-only
- Add a byte-size guard on the parenthetical text inside any [x] row in SPEC-VNA-COCKPIT.md
What we learned: The spec-tree convention embeds the FULL builder changelog inline inside a single checkbox-row markdown line in an architect-tracked file — so a 'tick a checkbox' commit that git counts as 2 diff lines can carry hundreds of words of code-construct content belonging to a different room, and no current guard separates 'row status' content from 'row report' content within one file, which is a distinct mechanism from the prior Originating-Terminal/Relevant-Rooms trailer lessons.
The missing guard (the deliverable): tests/vna/spec-row-build-log-separation.test.mjs — fails if any [x] checkbox row's parenthetical 'built:' annotation in docs/specs/vna/*.md exceeds a byte threshold (e.g. 500B) without being externalized to docs/specs/vna/build-logs/<Cid>.md; this is the primary new guard (complementary to the already-open ask-027/ask-001 which address room-surface attribution, not row-content size).
Detector probe: signal attribution — gzip reef 20% · ballistic walk 80%. Right-sized in depth (walksReality 112 ≈ litReality 112, no truncation flag), but content-polluted: the walk is faithfully finding real C3-coded tokens that shouldn't have been in this file's status-row lane in the first place. Adjustment: re-run the walk on this sha with the row's 'built:' parenthetical masked to just the claim sentence and compare litReality/offPct — if offPct drops toward the 15 threshold, the walk itself needs no depth change, only cleaner input. Experiments: Strip the '(declared...; built...)' parenthetical from spec-check-toggle commits before feeding the diff to the reef/walk, re-measure offPct on 1a78a817b and the last 14 days of architect commits — expect offPct to fall under 15 if the hypothesis holds · Add spec-row boilerplate tokens to the gzip baseline dictionary and re-run the ablation on the room's last 30 days to see if driftPct separates status-flip commits from genuine cross-lane commits · Preprocess docs/specs/vna/*.md by row-type (status-line vs build-log) before computing intent-lane placement for any commit whose diff is confined to that file, and compare offPct with/without the splitMeasured outcome (deterministic, not self-graded): room mean offPct 24→37 over 4 commits since · dictionary ablation saved 1181B
This lane's loss-ratio is inflated by a now-recurring false-positive class — 'tick a checkbox' commits carrying builder-report content mass (130 out-of-lane events/14 days in this room) — and premium is restored once spec rows carry pointers instead of inline reports, making status-flip commits small again on both the diff stat and the walk.
Open the signed attestation →2026-09-20 · 🧪 laboratory · offPct 38
feat(vna): C114 — double-entry bookkeeping, the deflation posture: the tagline on the header, the two sentences on the README, three constants
Why it left the lane: (sensemaking unavailable — facts-only intervention)
Measured outcome (deterministic, not self-graded): room mean offPct 17→18 over 3 commits since
Open the signed attestation →2026-09-20 · 🧪 laboratory · offPct 33
feat(vna): THE THREE DOORS — 🔏 Sign · 💳 Notarise (Buy keys until a key is held) · 🔗 Countersign (backup) as a NEXT → step; the checkout first in day one; C101a + C102c ticked; the cog ▸ more asserted on the rendered page
Why it left the lane: (sensemaking unavailable — facts-only intervention)
Measured outcome (deterministic, not self-graded): room mean offPct 16→40 over 3 commits since
Open the signed attestation →2026-09-20 · 🧪 laboratory · offPct 36
feat(vna): C102d THE LEFT PANEL'S BUTTONS ARE DISCIPLINED — the guard over the controls manifest at eight states: straight-path order, one `.action` per card with `<emoji> <Verb> <object>` on the label head, every other control behind ⋮ or a fold (two inline exceptions named by their rows), one-sentence tooltips ending `next: …`, unique labels, no file path in a label; 5/5 seen red 4/5 on 4f2d72325a
Why it left the lane: (sensemaking unavailable — facts-only intervention)
Measured outcome (deterministic, not self-graded): room mean offPct 16→40 over 3 commits since
Open the signed attestation →2026-09-20 · 🧪 laboratory · offPct 37 · structural
feat(vna): C104c PROGRESSIVE — a step the record passed is an `onboard` row on the flight tape through the ONE append door ('onboard' added to ROW_KINDS, one token), so the sequence survives a reload and a taken step never re-opens; the checklist ✓/○ under NEXT →'s +; `Nothing next — the loop is yours` at the last state; the six buttons always beneath; guard 4/4 seen red 0/4 on 4f2d72325a
Why it left the lane: The diff's own language repeats this repo's mandated AXIOM 1 vocabulary almost verbatim inside what is otherwise a one-token ticket change: the commit message says "through the ONE append door ('onboard' added to ROW_KINDS, one token)"; flight-tape.mjs's new comment reads "// C104c: an onboarding step taken, recorded through this one door"; and the test file header restates it fully — "THROUGH THE ONE APPEND DOOR (flight-tape.mjs append — kind 'onboard' in ROW_KINDS, signed like every row, never a second writer)". Phrases like 'ONE append door', 'signed and chained', and 'never a second writer' are the exact register of CLAUDE.md's AXIOM 1 (record conservation, W3: 'the checkpoint must read a record the actor did not author'). That vocabulary is what the gzip-NCD reef keys on, and it pulled placement from the declared ticket lane (lensIntent C1,C — the SPEC-VNA-COCKPIT.md C104-series ticket space) toward the foundational lattice cell (lensReality A,A1) even though the actual code delta is a single array-literal token.
Intent–reality gap: The commit claims a narrowly-scoped, honestly-bounded change — "the single word the row needs and nothing else in that file moved" — but the receipt measured 37% of lit reality mass landing outside the declared C-lane at A,A1, with laneHamming (34) only marginally above the shuffled-null baseline (32): the commit undersold its lattice footprint on paper while the actual displacement it produced was barely distinguishable from noise.
- Add a single DOCTRINE header block above ROW_KINDS in scripts/vna/flight-tape.mjs consolidating the append-door/signed/chained language
- Trim the C104c line in SPEC-VNA-COCKPIT.md (and future ROW_KINDS ticket entries) to pointer-style citations of AXIOM 1 rather than restatements
- Run the doctrine-phrase ablation probe (strip 'signed and chained' / 'ONE append door' / 'never a second writer' from sha 2ccd5628fc's diff text, recompute lensReality) to confirm the vocabulary-density hypothesis before shipping the guard as blocking
- Add tests/pmu-simulator/doctrine-citation-does-not-inflate-lane.test.mjs to CI once the ablation confirms the mechanism
- Run --perm K permutation null specifically across laboratory's last 148 out-of-lane events to quantify what share sit within noise of laneHammingNull (this event: 34 vs 32, a 2-cell margin)
- If the permutation pass shows systemic noise inflation, raise laboratory's local offPct floor rather than re-tuning the global 15 threshold
What we learned: This repo's own HARD RULE (CLAUDE.md AXIOM 1: 'restate these lines verbatim, never re-derive') means every commit touching an append-only ledger construct inherits axiom-grade vocabulary by convention — and the gzip-NCD reef cannot tell 'citing the law' apart from 'doing law-level work'. Compliance with a documentation rule can structurally manufacture lane drift on commits that are otherwise correctly scoped and honestly described, independent of any actual room-surface mistagging (which is what the ten open asks already cover).
The missing guard (the deliverable): tests/pmu-simulator/doctrine-citation-does-not-inflate-lane.test.mjs — an ablation guard: strip a fixed, config-listed set of doctrine phrases ('signed and chained', 'ONE append door' / 'the ONE writer', 'never a second writer') from a commit's diff text, recompute lensReality/offPct, and assert the delta between raw and ablated placement stays under a fixed bound; a commit whose lane jump collapses once the phrases are stripped should be flagged 'vocabulary-inflated' and discounted in the room's rolling offPct mean rather than counted at full weight.
Detector probe: signal attribution — gzip reef 30% · ballistic walk 70%. Right-sized in depth (litIntent/litReality nearly identical, no truncation flagged) but thin in margin — laneHamming exceeds its null by only 2 cells, close to what a permutation null would call noise. Adjustment: before trusting this event's 37% as signal, rerun the event-specific permutation null (not just the aggregate room floor) to confirm the margin clears significance; if it doesn't, treat this class of small-diff, doctrine-heavy commits as needing a wider per-event null rather than a fixed global threshold. Experiments: Ablate the doctrine phrases from sha 2ccd5628fc's diff text and recompute offPct/lensReality — if it drops materially toward C1,C, the vocabulary-density hypothesis is confirmed; if unchanged, the pull is intrinsic to the file/coordinate rather than the prose. · Run --perm K specifically on laboratory-room events where laneHamming sits within 5 of laneHammingNull (this event: 34 vs 32) to measure what fraction of the room's 148 recent out-of-lane flags are within noise. · Recompute lensReality with tests/vna/c104c-progressive.test.mjs excluded (it carries the bulk of the diff and restates the doctrine language in its own header for fixture purposes) to check whether the production-code-only change (the flight-tape.mjs token + the checklist toggle) lands in-lane on its own.Measured outcome (deterministic, not self-graded): room mean offPct 16→40 over 3 commits since · dictionary ablation saved 976B
This event looks like a structural false-positive — vocabulary-driven, not scope-driven — so it should not price into laboratory's loss-ratio as a repeat offense; premium stays flat pending the ablation probe, and restoring accuracy requires the doctrine-citation consolidation plus the ablation guard, not a change in how the room works.
Open the signed attestation →2026-09-20 · 🧪 laboratory · offPct 29 · mistagged
feat(vna): C94b (3/3) the stranger's sidebar — scripts/vna/door-cmd.mjs rewrites every not-run line to npx thetacog-mcp <door> at steer-ui's write boundary, the page lands in VNA_REPO, 17 door scripts read the caller's repo; guard tests/vna/c94-foreign-repo-bootstrap.test.mjs 8/8 seen red on the parent
Why it left the lane: THE EVENT header fires this receipt under room "🧪 laboratory," but the commit's own trailers say `Originating-Terminal: 📐 architect` and `Relevant-Rooms: architect, builder, operator` — laboratory is not even named. The diff is 100% `scripts/vna/*.mjs` and `tests/vna/c94-foreign-repo-bootstrap.test.mjs`; laboratory's owned-file-surface list (`.claude/`, `.mcp.json`, `thetacoach-crm-mcp/`, `swarm-comms/`, `.thetacog/orchestrator/`, `.thetacog/punch-list*`) shares zero files with any of the 20 changed paths. lensIntent=B2,B2 vs lensReality=C,C (laneJump=5) is the lattice recording exactly that split: the content sits where the trailers say it sits (an architect-lane sidebar/door feature), the RECEIPT'S ROOM ASSIGNMENT sits somewhere else.
The semantic pull: The pull isn't from a term inside the diff dragging placement sideways — every changed line (`process.env.VNA_REPO ||`, `door-cmd.mjs`, `steer-ui.mjs`) is architect-lane vna infrastructure. The pull is external: whatever assigns `room` for THE EVENT ignored both the `Originating-Terminal: 📐 architect` trailer and the `Relevant-Rooms: architect, builder, operator` trailer and filed the commit under laboratory anyway — a room whose owned surface (CRM/orchestrator/mcp config) never appears in this diff.
Intent–reality gap: The commit claims, in its own trailers, that this is architect-room work relevant to architect/builder/operator; the receipt measured and filed it as a laboratory-room event, and laboratory's declared file surface shares nothing with the actual diff.
- Grep the receipt/room-attribution pipeline for how `room` is derived for THE EVENT header (likely near where `offPct`/lane data is computed) and confirm it never parses `Originating-Terminal:`.
- Land `tests/pmu-simulator/originating-terminal-matches-surface.test.mjs` (ask-027, already asked 19×) instead of re-deferring it a 20th time.
- Audit laboratory's other ~149 out-of-lane events from the last 14 days for the same trailer/room mismatch pattern before trusting any of that room's offPct trend.
- Cross-check against `tests/rooms/relevant-rooms-covers-diff.test.mjs` (ask-010) — a commit whose Relevant-Rooms never names the assigned room is a second, independent signal of the same bug.
- Once the resolver is fixed, re-run this sha's receipt and confirm room reassigns to architect/builder, not laboratory.
What we learned: A room's "N out-of-lane events in 14 days" counter can itself be evidence of a detector bug (systematic room-misattribution) rather than N independent drift incidents — this event's room disagrees with both of the commit's own self-declared trailers AND with the room's declared file-surface, which the prior three (facts-only) interventions in this room never checked because they only ever looked at the offPct trend, never at whether the room label was even correct.
The missing guard (the deliverable): tests/pmu-simulator/originating-terminal-matches-surface.test.mjs
Detector probe: signal attribution — gzip reef 65% · ballistic walk 35%. Right-sized, not saturated or shallow — litIntent vs litReality differ by only 3 (142 vs 139) with matching walksIntent/walksReality counts, so the walk isn't the lever here. One concrete check: replay this sha's walk 2-3× and diff lensReality (C,C) for determinism before using it as ground truth in a mistagging finding — a non-deterministic walk would undermine the whole diagnosis. Experiments: Recompress the reef corpus with the two door-cmd.mjs boilerplate strings (below) collapsed into single dictionary tokens, then re-measure prewalkOverlap on this sha — predict it rises once 13+ duplicate one-liners stop each contributing distinct mass. · Replay this sha's walk 3× back-to-back and assert lensReality is byte-identical each time (determinism check) before trusting C,C as the mistagging evidence. · For every event tagged room=laboratory in the last 14 days, join against each commit's Originating-Terminal trailer and publish the mismatch rate — a cheap grep/SQL experiment that would confirm or kill the "150 events = mostly mistagging" hypothesis in this lesson.Measured outcome (deterministic, not self-graded): room mean offPct 16→40 over 3 commits since · dictionary ablation saved 1270B
A room whose own out-of-lane counter is itself a symptom of misattribution inflates that room's loss-ratio on paper without any real drift having occurred — premium for laboratory should be held, not raised, until the room-resolver is fixed and its historical 150-event count is re-audited against the trailer.
Open the signed attestation →2026-09-20 · 🧪 laboratory · offPct 16
chore(vna): C107e — triage ran live: 179 pending → 171 pending · 15 rtf-junk · 0 separators · 12 assistant-echo · 34 instrument-echo · 0 duplicates
Why it left the lane: (sensemaking unavailable — facts-only intervention)
Measured outcome (deterministic, not self-graded): room mean offPct 16→40 over 3 commits since
Open the signed attestation →2026-09-20 · 🧪 laboratory · offPct 22
feat(vna): C109a — the count carries its noun: `0 countersigned receipts`, and the why beside it on the face
Why it left the lane: (sensemaking unavailable — facts-only intervention)
Measured outcome (deterministic, not self-graded): room mean offPct 16→40 over 3 commits since
Open the signed attestation →2026-09-20 · 🧪 laboratory · offPct 37
feat(vna): C105 THE DOOR NAMED IS THE DOOR OPENED — /steer audits its own buttons: DOOR_SEMANTICS binds notarise (local, never uploads) · backup (uploads, spends licence credits) · sync; the strip paints `doors: 2 named · 1 DISAGREE — "💳 Notarise this tape" runs vna.backupTape (uploads) · expected vna.notariseTape (C102a)` off the manifest the page derives from itself, never gated; C105c 🔗 Backup to third party inline under + on THE SECOND READER in both states (C102d's third named inline exception); guard 5/5, seen red on the parent (no module, no span, backup folded or absent by state)
Why it left the lane: (sensemaking unavailable — facts-only intervention)
Measured outcome (deterministic, not self-graded): room mean offPct 16→40 over 3 commits since
Open the signed attestation →2026-09-20 · 🧪 laboratory · offPct 18
feat(vna): C98i the snowball grades its own drift — an intent/decision snippet on a basin is a DIRECTION, UNGRADED until graded by hand; `directions` under the row in the bundle, `--grade <node> <hash8> KEPT|CORRECTED|REFUSED --why` on the node + the ledger, `--ungraded`, the hook's ⟦ DRIFT ⟧ line on the goal's leaf, babysit reads `built over an ungraded direction`
Why it left the lane: (sensemaking unavailable — facts-only intervention)
Measured outcome (deterministic, not self-graded): room mean offPct 16→40 over 3 commits since
Open the signed attestation →2026-09-20 · 🔨 builder · offPct 51
spec(vna): C84f ONE WAY TO PAY, AND IT MINTS — the row under C84, five shas, red→green per guard, the claim path, the third break, the four hands left
Why it left the lane: (sensemaking unavailable — facts-only intervention)
Measured outcome (deterministic, not self-graded): room mean offPct 23→22 over 6 commits since
Open the signed attestation →2026-09-20 · 🧭 navigator · offPct 46
spec(vna): C84g THE CHECKOUT IS LICENCES, AND IT IS SEEN TO WORK — declared under C84f; the live POST refuses honestly; link 2 seen broken from the IDE
Why it left the lane: (sensemaking unavailable — facts-only intervention)
Measured outcome (deterministic, not self-graded): room mean offPct 19→26 over 3 commits since
Open the signed attestation →2026-09-20 · 🔨 builder · offPct 20
chore(bookclub): high-score board update — recomputed after send
Why it left the lane: (sensemaking unavailable — facts-only intervention)
Measured outcome (deterministic, not self-graded): room mean offPct 23→22 over 6 commits since
Open the signed attestation →2026-09-20 · 🧭 navigator · offPct 39
chore(vna): the spec line and the tree line name themselves THE SPEC · THE TREE behind their + (the manifest keyed them on a chip and a root sha); README controls section regenerated after the live render (71 controls, 0 MISSING TOOLTIP)
Why it left the lane: (sensemaking unavailable — facts-only intervention)
Measured outcome (deterministic, not self-graded): room mean offPct 19→26 over 3 commits since
Open the signed attestation →2026-09-20 · 🧭 navigator · offPct 16 · mistagged
feat(vna): C100a THE COPY CLEARS THE BAR WITHOUT NAMING IT — NO_BADGE byte-identical on the extension boundary, the npm boundary and THE SECOND READER card; the bar's three demands answered by recompute · the rows you declared · the countersignature; the essay's words never ours, its names nowhere on a surface
Why it left the lane: The commit's declared lane (B,A1) is the spec's copy/declare cell — three sentences of public-facing prose. But ~79% of the inserted lines (126 of 160) are a new adversarial-detection test file plus its supporting exports (BAR_WORDS, stripBarDenials, barWordHits, wholeWord) — regex banned-word matching, denial-stripping, and a >50-file directory walk of packages/ hunting for proper nouns. That is verification/detector-construction content, and it is what the walk lit up as B2,B2 (litReality 130 vs litIntent 124, prewalkOverlap only 6 of 124 — the reef barely recognized the two corpora as related before the walk even ran).
The semantic pull: Exact strings that pulled reality toward B2,B2: `BAR_WORDS = /\b(?:safe(?:ty|ly)?|prov(?:e[sdn]?|ing)|pac(?:e[sd]?|ing)|limit...` , `stripBarDenials`, `barWordHits`, `wholeWord = (w) => new RegExp(...)`, and the test's own `walk(dir, out)` directory scanner over `packages/`. None of these terms occur in the commit-message's framing ('THE COPY CLEARS THE BAR WITHOUT NAMING IT'), which stays entirely in copy/spec vocabulary ('sentence', 'byte-identical', 'the rows you declared').
Intent–reality gap: The commit message frames the entire change as three sentences of public copy clearing a bar; the receipt shows the actual byte-mass (126 of 160 inserted lines) is a new detector/guard engine, and — separately — this offPct event is scored against room 🧭 navigator even though the commit's own trailers say Originating-Terminal is 📐 architect and Relevant-Rooms is architect/vault/operator, with none of the six touched files (docs/specs/vna/, packages/thetacog-mcp*/README.md, scripts/vna/public-surface-register.mjs, scripts/vna/steer-ui.mjs, tests/vna/) anywhere in navigator's owned surface.
- docs/specs/vna/SPEC-VNA-COCKPIT.md — rewrite the C100a headline per spec_rewrite to declare the detector as in-lane content
- tests/pmu-simulator/originating-terminal-matches-surface.test.mjs — build this open ask (asked 18x) using sha 6917ea5ce as the reproduction case: Originating-Terminal=architect, Relevant-Rooms=architect/vault/operator, event scored against navigator, zero file overlap
- tests/ops/room-surface-coverage.test.js — same reproduction case as a secondary check: assert the diffed paths overlap the scored room's owned-surface glob before an offPct event is attributed
- scripts/vna/public-surface-register.mjs — extract the word-detector primitives per code_rewrite into scripts/vna/word-guard.mjs
- re-audit the navigator room-mean offPct trend (3→34 over 8 commits) for other misattributed events before treating it as a genuine navigator-surface regression
What we learned: This room's rising offPct trend (3→34, prior three events all 'sensemaking unavailable') may itself be partly an artifact of room misattribution rather than genuine navigator-surface drift: this event's diff touches zero files in navigator's declared owned surface, and the commit's own trailers name architect, not navigator. Prior facts-only passes couldn't surface this because they had no room-owned-surface cross-check step — the room-scoring layer needs to verify file/room overlap before a commit is allowed to move a room's trend at all.
The missing guard (the deliverable): tests/pmu-simulator/originating-terminal-matches-surface.test.mjs
Detector probe: signal attribution — gzip reef 65% · ballistic walk 35%. litIntent=124 vs litReality=130 is a close, balanced fill (not obviously shallow or empty), but laneHamming==laneHammingNull exactly is a red flag that the walk may be saturated at this depth/aperture for this commit shape, washing out any real separation. Concrete adjustment: re-run this sha's walk at the next aperture depth (or with a narrower matched-aperture) and check whether laneHamming diverges from laneHammingNull — if it still matches exactly, the walk is not resolving this class of commit and the offPct-over-threshold call for 'copy + guard' commits should be treated as UNMEASURED rather than a real 16%. Experiments: Pre-seed the gzip-NCD reef with the now-committed NO_BADGE literal string and the BAR_WORDS/stripBarDenials/barWordHits identifiers for future commits touching public-surface-register.mjs, then measure whether prewalkOverlap rises above 6 on the next 'declared constant + guard' commit in this file · Recompute laneHamming against 10 shuffled null permutations for sha 6917ea5ce (not just 1) and check whether the 34-vs-34 identity holds across the distribution or was an unlucky single draw · Split the walk's input corpus into 'declared code' and 'test/guard code' sub-walks for commits that ship both in one diff, and measure whether offPct drops when guard mass is walked against its own coordinate instead of being pooled into the copy coordinateMeasured outcome (deterministic, not self-graded): room mean offPct 19→26 over 3 commits since · dictionary ablation saved 931B
This event inflates navigator's already-rising loss-ratio (offPct trend 3→34) with a commit that touches none of navigator's owned surface and is trailered to architect — premium for this lane is restored by shipping the originating-terminal-matches-surface guard so misattributed events stop being counted against a room that never did the work.
Open the signed attestation →2026-09-20 · 🧪 laboratory · offPct 17
feat(vna): C113h — the 💳 is three parts: Notarise insurable tape · <n> countersigned receipts · <n> 3rd-party backups, and the click is the buy flow
Why it left the lane: (sensemaking unavailable — facts-only intervention)
Measured outcome (deterministic, not self-graded): room mean offPct 17→24 over 4 commits since
Open the signed attestation →2026-09-20 · 🧭 navigator · offPct 28
feat(vna): C108c the read-site — steer-ui's ONBOARD_SEQUENCE and ONBOARD_STEPS come from ONBOARDING-STEPS.md, not a list typed at the site
Why it left the lane: (sensemaking unavailable — facts-only intervention)
Measured outcome (deterministic, not self-graded): room mean offPct 19→26 over 3 commits since
Open the signed attestation →2026-09-20 · 🧪 laboratory · offPct 21
feat(vna): C107a — RTF never reaches the fold: the clip door converts at the one reader and the one append, sha of the plain text
Why it left the lane: (sensemaking unavailable — facts-only intervention)
Measured outcome (deterministic, not self-graded): room mean offPct 16→40 over 3 commits since
Open the signed attestation →2026-09-20 · 🔨 builder · offPct 34
feat(iamfim): C84g the company is guessed from the email's domain — the form never asks
Why it left the lane: (sensemaking unavailable — facts-only intervention)
Measured outcome (deterministic, not self-graded): room mean offPct 23→22 over 6 commits since
Open the signed attestation →2026-09-20 · 🧪 laboratory · offPct 28
feat(vna): C103c THE CHECKOUT OPENS AT ONCE (page half) — /notarise never awaits Stripe before paint: the price line is read synchronously off the committed receipt data/vna/notary-price.json, written by notary-price-receipt.mjs --write from a real read and refused when dark; server render at the fixture 0.4 ms against the 300 ms bound; guard 4/4 seen red on the parent
Why it left the lane: (sensemaking unavailable — facts-only intervention)
Measured outcome (deterministic, not self-graded): room mean offPct 16→40 over 3 commits since
Open the signed attestation →2026-09-20 · 🧪 laboratory · offPct 32
feat(vna): C109i — the drill-down carries the canonical ShortLex axes and what they mean here
Why it left the lane: (sensemaking unavailable — facts-only intervention)
Measured outcome (deterministic, not self-graded): room mean offPct 16→40 over 3 commits since
Open the signed attestation →2026-09-20 · 🧭 navigator · offPct 26 · mistagged
feat(vna): C99a THE HEADERS CARRY NO ANIMAL — five npm README headers renamed for what the section does, the guard seen red on :764 first
Why it left the lane: The five header edits at README.md:326,764,959,978,984 scrub the animal words from the H1–H3 text itself, but the immediately adjacent, UNCHANGED body prose keeps every one of them: 'the cedent, the broker and the carrier' right under the renamed flywheel header, 'AI Liability Insurance is the lead market', the Judge Learned Hand / T.J. Hooper negligence paragraph, 'reinsurer', 'Oracle emits facts', 'cohort and price'. The SPEC-VNA-COCKPIT.md hunk is a single enormous line (the whole C99 basin) that also sits in the diff as context, dense with 'underwriter', 'CISO', 'Treasury Secretary', 'SAR', 'parametric-trigger.mjs', 'severity-ledger.mjs', 'reinsurer', 'Temporal'. The reality walk (117 lit cells, saturated with walksReality) reads that surrounding mass and lands in lensReality=B,A1, away from the declared lensIntent=B,C1 (the voice/public-surface-register lane).
The semantic pull: 'the carrier's dials' / 'The insurability flywheel' bodies, 'AI Liability Insurance', the T.J. Hooper/negligence paragraph, 'reinsurer', plus the spec's untouched HYPOTHETICAL 3 text ('underwriter', 'CISO', 'Treasury Secretary', 'SAR 99.98%', 'parametric-trigger.mjs', 'severity-ledger.mjs') — all adjacent to, not inside, the five edited header lines.
Intent–reality gap: The commit's own trailers state Originating-Terminal: architect and Relevant-Rooms: architect · builder · operator — navigator is never named — and the work is scoped entirely to packages/thetacog-mcp/README.md, scripts/vna/public-surface-register.mjs, tests/vna/*, and one spec checkbox line. The receipt nonetheless filed this event under room 🧭 navigator, whose owned surface (scripts/open-room-session.sh, openclaw/src/thematic-scheduler.ts, focus-gravity.ts, thematic-schedule.json, cognitive-dashboard.html) shares zero files with anything in the diff.
- Build tests/pmu-simulator/originating-terminal-matches-surface.test.mjs (ask-027, already asked 17× — stop re-asking, build it)
- Patch the room-assignment step to prefer the Originating-Terminal trailer over glob/reef-derived room
- Audit navigator's other 30 out-of-lane events in the last 14 days for the same Originating-Terminal≠room mismatch, since the room-mean offPct 3→34 trend (fd50acb6c/fc8719175/f3f4c6db7) may be mostly mistagged architect/builder work
- Tighten tests/pmu-simulator/shared-state-files-have-room-owner.test.mjs (ask-003) so packages/thetacog-mcp/README.md, scripts/vna/public-surface-register.mjs and tests/vna/* have an explicit declared owner instead of falling through to a default room
- Add tests/ops/room-surface-coverage.test.js (ask-001) coverage for the four files this commit touched
What we learned: A receipt's `room` field can silently diverge from the commit's own Originating-Terminal/Relevant-Rooms trailers — the pipeline isn't yet reading the trailer as authoritative — so a commit that explicitly and correctly excludes a room from its trailers can still be filed under that room's ledger and inflate its offPct trend. This is new relative to the prior three facts-only lessons for navigator, which reported the same 3→34 trend without ever diagnosing that the room tag itself might be wrong.
The missing guard (the deliverable): tests/pmu-simulator/originating-terminal-matches-surface.test.mjs
Detector probe: signal attribution — gzip reef 35% · ballistic walk 65%. Saturated, not discriminating: every cell the walk visits gets lit on both sides (walksX == litX exactly), which combined with laneHamming sitting right at the null (36 vs 34) suggests the walk is too shallow to separate signal from noise here — it's lighting whatever it touches rather than finding a sparse, confident core. Adjustment: require a minimum gzip-NCD margin before a walked cell counts as 'lit', so saturation drops below 100% when the signal is this close to null. Experiments: Re-run this commit's placement with the unchanged C99 basin context-line excluded from the reef seed (only the actual changed hunk fed in) and check whether offPct drops below 15 — tests whether adjacent-but-unmodified spec text is inflating the seed. · Recompute offPct restricting the reality walk to a fixed character radius around each actual diff hunk (excluding untouched body paragraphs) and compare against the current whole-file read to quantify how much of the 26% comes from adjacency vs the real edit. · Backfill room attribution via Originating-Terminal across navigator's last 14 days of 31 out-of-lane events and recompute the room-mean offPct trend to see if the 3→34 climb collapses once mistagged commits are excluded.Measured outcome (deterministic, not self-graded): room mean offPct 19→26 over 3 commits since · dictionary ablation saved 800B
A mistagged room inflates navigator's apparent loss-ratio for work it never touched and never claimed, corrupting any per-room premium signal until ask-027's trailer-first attribution guard is built so navigator's real 31-event/14-day trend can be judged on its own actual surface.
Open the signed attestation →2026-09-20 · 🧭 navigator · offPct 39
feat(vna): C103f THE CARD IS A LINK — one document table (door-cmd.mjs DOCS ⇔ commands.ts DOCS, diffed), a `↗ Open …` door behind each card's + onto ONE extension handler, TASKS' inlined spec rows and tree nodes become one line each whose click opens the file; the page fell 13,475,014 B → 471,572 B; guard 4/4
Why it left the lane: (sensemaking unavailable — facts-only intervention)
Measured outcome (deterministic, not self-graded): room mean offPct 19→26 over 3 commits since
Open the signed attestation →2026-09-20 · 🔨 builder · offPct 35
copy(licence): C84f one licence = one agent = 10,000 countersignatures or 365 days; the quantity is yours — /iamfim#checkout, /licences, /notarise
Why it left the lane: (sensemaking unavailable — facts-only intervention)
Measured outcome (deterministic, not self-graded): room mean offPct 23→22 over 6 commits since
Open the signed attestation →2026-09-20 · 📐 architect · offPct 24
docs(vna): C103a step 7 carries the revised FEELS_LIKE_FLYING — 'Double-entry bookkeeping for your robot. That is why it feels like flying and saves you tokens.' (3382f38c59 revised the row under the walkthrough; the guard reads the sentence off the row and went red 1/10, green again)
Why it left the lane: (sensemaking unavailable — facts-only intervention)
Measured outcome (deterministic, not self-graded): room mean offPct 25→8 over 4 commits since
Open the signed attestation →2026-09-20 · 🧪 laboratory · offPct 22
chore(steer): the skill reads the doors line every cycle — node scripts/vna/door-audit.mjs in the sensor table and in step 4's receipts (C105); a label≠command is read aloud in the reply, never gated
Why it left the lane: (sensemaking unavailable — facts-only intervention)
Measured outcome (deterministic, not self-graded): room mean offPct 16→40 over 3 commits since
Open the signed attestation →2026-09-20 · 📐 architect · offPct 24
feat(vna): C97f the upload is programmatic — notary-drain.mjs drainForCredits() spends one credit per queued CAR and stops; backupReading() is the 🔗 control's reading
Why it left the lane: (sensemaking unavailable — facts-only intervention)
Measured outcome (deterministic, not self-graded): room mean offPct 25→13 over 11 commits since
Open the signed attestation →2026-09-20 · 🧭 navigator · offPct 25 · mistagged
feat(vscode): C94b (1/3) ONE command table — every child the extension spawns is resolved by src/commands.ts: node scripts/vna/<x>.mjs at home, npx thetacog-mcp <door> anywhere else, or not run — <x>.mjs has no npx door yet and nothing spawned
Why it left the lane: The diff's own vocabulary is saturated with wayfinding/home-and-route identifiers — DOORS, doorCommand, isHome, HOME_MARKER = path.join('scripts','vna','steer-ui.mjs'), the header comment 'THE EXTENSION LEAVES HOME', fields home/away/runnable, and door-table entries walk: 'scripts/pmu/walk.mjs', replay: 'scripts/pmu/replay.mjs', 'straight-path': 'scripts/vna/straight-path.mjs', mesh: 'scripts/vna/mesh.mjs'. That lexicon gzip-NCD-compresses tightly against navigator's own reef corpus (openclaw/src/thematic-scheduler.ts, focus-gravity.ts — routing/pull vocabulary), so the ballistic walk placed lit reality mass at A1,C1 even though zero of the 13 changed files sit under navigator's owned globs (scripts/open-room-session.sh, .thetacog/cache/room-runners/*.sh, openclaw/*, .workflow/cognitive-dashboard.html).
The semantic pull: 'doorCommand'/'DOORS'/'isHome'/'home'/'away' + the literal door keys 'walk'→scripts/pmu/walk.mjs and 'replay'→scripts/pmu/replay.mjs are the exact tokens dragging placement from the claimed B1,A1 (architect/builder VS Code plumbing) into C1 (navigator's wayfinding coordinate) — nothing in the diff touches openclaw or room-runner scripts.
Intent–reality gap: The commit trailer claims Originating-Terminal: architect and Relevant-Rooms: architect, builder, operator — navigator is never named. The receipt nonetheless scores 25% of this commit's lit reality mass against navigator, despite the diff owning zero files under navigator's declared surface; the room/lane claim on THIS event, not the code, is what's wrong.
- Land tests/pmu-simulator/mistagged-commit-does-not-inflate-offpct.test.mjs (ask-033, asked 11×) — fixture: this exact sha, assert navigator's offPct computes to 0/UNSCORED since it owns none of the 13 changed paths and isn't in Relevant-Rooms.
- Cross-check tests/rooms/relevant-rooms-covers-diff.test.mjs (ask-010, asked 25×) in the same pass — the inverse guarantee (rooms NOT named/NOT touched must not be scored) belongs beside the existing 'rooms named must cover the diff' guarantee.
- Extend tests/ops/room-surface-coverage.test.js (ask-001, asked 10×) to flag cross-room reef vocabulary bleed — door/home/walk/path/mesh tokens shared between packages/thetacog-mcp-vscode and openclaw/*.
- Re-verify tests/pmu-simulator/originating-terminal-matches-surface.test.mjs (ask-027, asked 20×) still passes once the scorer change lands — it checks the claimed terminal against touched surface, the adjacent but distinct half of this bug.
- Add a room-ownership pre-filter to the reef seed step (scripts/pmu-simulator or wherever lensReality buckets get built) so lattice coordinates outside the commit's declared/owned room set are masked before the walk runs, not scored after.
- Audit the last 38 navigator out-of-lane events for the same signature (zero owned-path overlap, Relevant-Rooms excludes navigator) to size how much of the 3→34 offPct trend this one mechanism explains.
What we learned: Room attribution in this pipeline is decided by lattice/reef proximity (vocabulary compression against each room's reef corpus), not by file-path glob or Relevant-Rooms trailer intersection — so a commit whose code uses another room's metaphor vocabulary (here: door/home/walk/path, navigator's wayfinding register) can be scored against a room it never touches and never claims. The prior three fires on this room reported 'sensemaking unavailable' and the room mean still rose 3→34 across 8 commits — this is the first pass to name the mechanism rather than just the number.
The missing guard (the deliverable): tests/pmu-simulator/mistagged-commit-does-not-inflate-offpct.test.mjs
Detector probe: signal attribution — gzip reef 80% · ballistic walk 20%. Saturated, not right-sized — a walk where 100% of walked cells are lit on both intent and reality sides isn't filtering, it's rubber-stamping the reef's initial placement. Adjustment: require a minimum compression-ratio improvement (e.g. NCD gain over the room's baseline corpus) before marking a walked cell 'lit', so litIntent/walksIntent and litReality/walksReality drop below 1.0 and the walk starts doing independent discriminating work. Experiments: Re-run this sha's reef placement with navigator's corpus (openclaw/src/thematic-scheduler.ts, focus-gravity.ts) excluded from the shared token dictionary and check whether navigator's offPct collapses toward 0 — confirms cross-corpus vocabulary bleed as root cause. · Compute a real p-value for laneHamming=30 vs laneHammingNull=26 on this sha with N=1000 shuffles — the observed value sits close enough to the null mean that this specific event may be statistical noise rather than a real drift signal, which changes how urgently the guard needs to fire. · Apply the room-ownership pre-filter (proposed in code_rewrite) retroactively across the last 38 navigator events and measure whether the room-mean offPct trend (3→34) drops — tests the hypothesis that most of this room's apparent drift is mis-scoring, not real cross-lane work.Measured outcome (deterministic, not self-graded): room mean offPct 19→26 over 3 commits since · dictionary ablation saved 898B
A room whose offPct is inflated by an unclaimed, untouched commit looks like it's drifting when it isn't, which either overprices navigator's lane or masks the real signal in the 38 genuine events underneath it — restoring the premium means gating room-scoring by Relevant-Rooms/owned-glob intersection so offPct only ever reflects work the room actually did.
Open the signed attestation →2026-09-20 · 🔨 builder · offPct 20
feat(vna): C102a chain walk — the checkout mode follows the price type (recurring → subscription, one_time → payment) so the $20/agent-year price the site already sells can sit behind /notarise; C84b.4 seen red first
Why it left the lane: (sensemaking unavailable — facts-only intervention)
Measured outcome (deterministic, not self-graded): room mean offPct 23→22 over 6 commits since
Open the signed attestation →2026-09-20 · 🧭 navigator · offPct 20
spec(vna): C104b ticked — the loop in five lines on the README, guard green (270bfa70c1)
Why it left the lane: (sensemaking unavailable — facts-only intervention)
Measured outcome (deterministic, not self-graded): room mean offPct 19→26 over 3 commits since
Open the signed attestation →2026-09-20 · 🧪 laboratory · offPct 40
fix(hooks): the VNA record chain fires under llm-pause — attest · tesseract-state · flight-tape · envelope · cockpit → aperture-receipt are LLM-free and sat below the pause branch's exit, so no commit of the day got its signed tape row, walk or forest receipt from the hook
Why it left the lane: (sensemaking unavailable — facts-only intervention)
Measured outcome (deterministic, not self-graded): room mean offPct 17→18 over 3 commits since
Open the signed attestation →2026-09-20 · 🧪 laboratory · offPct 36
fix(vna): C106b's guard is its own file — a copy rise flips the panel row alone, never the door's tick; a stated absence (not connected · not synced) is a reading; the floor reseeded from the hook's render
Why it left the lane: (sensemaking unavailable — facts-only intervention)
Measured outcome (deterministic, not self-graded): room mean offPct 16→40 over 3 commits since
Open the signed attestation →2026-09-20 · 🧭 navigator · offPct 25
feat(vna): C103e THE SPARK IS IMPLICIT — SPARK_LINES, one line per card ≤ 12 words, the large noun then the small mechanism, each the first line behind its card's + beside the name; the README's line under the wedge with its number read off the committed ratio receipt (window.would) or none; feeling words and brake verbs banned by regex; the paste's REFUSED sentences absent from packages/ and steer-ui.mjs; guard 4/4 seen red 0/4 on 4f2d72325a
Why it left the lane: (sensemaking unavailable — facts-only intervention)
Measured outcome (deterministic, not self-graded): room mean offPct 19→26 over 3 commits since
Open the signed attestation →2026-09-20 · 📐 architect · offPct 18
feat(vna): C109j painted — the Δ slack line under RINGS +, read off delta-slack.mjs; the live line's ⤵ door carries its last-ingest reading
Why it left the lane: (sensemaking unavailable — facts-only intervention)
Measured outcome (deterministic, not self-graded): room mean offPct 25→24 over 4 commits since
Open the signed attestation →