💳 Fund Autonomy Ledgernot signed in🔑 Sign in

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

2026-10-13
27 · 🧪 ☕ 📐 🎩 🧭 🔨 🎤
2026-10-11
5 · 📐 🎩 🧪
2026-10-10
10 · 📐 🔨 ☕ 🧪
2026-09-30
35 · 🧪 📐 🔨 🧭 🔒
2026-09-29
75 · ☕ 🔨 🧪 🎤 📐 🧭 🎩 steer-worker 🤖
2026-09-24
47 · 🧪 🔨 📐 🧭 ☕ 🎤
2026-09-23
88 · 🧭 📐 🧪 🔨 ☕ 🎤 🎩
2026-09-22
19 · 🔨 🧭 ☕ 📐 🧪 🎩
2026-09-21
66 · 🧭 🧪 🔨 📐 ☕
2026-09-20
49 · 🧪 🧭 📐 🎩 🔨 🔧 📣
2026-09-19
61 · 🧪 📐 🔨 🎤 🎩 🧭 ☕
2026-09-18
103 · 🧪 ☕ 🎩 📐 🧭 🔨
2026-09-17
71 · 🎩 🧪 🔨 📐 🧭 🎤 ☕
2026-09-16
52 · 🧪 🎤 🔨 🧭 🎩 📐 ☕

The interventions — why · fix · checklist

  1. 2026-09-18 · 🧪 laboratory · offPct 35

    feat(vna): C66 + C67 the headless dispatch engine and its guard — steer-runner.mjs dispatches one ephemeral `claude -p continue` per open goal unit (CLAUDE_* stripped, seeded by the hook from the leaf, never turn-capped) and reads only decidable facts back: exit 0 · HEAD moved · label named · a test changed · RED WITNESS on the parent tree (git archive HEAD~1 + the changed tests: must fail there, pass at HEAD) · fold clean with its wall time · COMPLETE CAR on the tape; any gate false halts fail-closed with the reason on .thetacog/runner.ndjson. Found + guarded: a nested node --test inheriting NODE_TEST_CONTEXT exits 0 on failure — the red witness read GREEN on a missing module until the env was cleaned. Guard: five subtests against a mock worker in a scratch repo, seen red both ways. Goal 3 units 1–2/6

    Why it left the lane: (sensemaking unavailable — facts-only intervention)

    Measured outcome (deterministic, not self-graded): room mean offPct 18→13 over 5 commits since

    Open the signed attestation →
  2. 2026-09-18 · 🧪 laboratory · offPct 25

    chore(vna): C83d extension 0.3.17 — bumped, compiled, packaged, installed; extensions.json reads 0.3.17; C82d and C83d release guards excuse each other's circular read and nothing else; the one regression runs against this HEAD next

    Why it left the lane: (sensemaking unavailable — facts-only intervention)

    Measured outcome (deterministic, not self-graded): room mean offPct 16→11 over 4 commits since

    Open the signed attestation →
  3. 2026-09-18 · 🔨 builder · offPct 24

    feat(vna): C90a — every model call the app makes is a signed row under the licence, one door: signedLlmCall (WebCrypto, edge-safe) runs the call once and appends ONE chained row carrying sha256 of the input and of the raw output, usage when reported, status ok|error, the C90 stamp shape or null; the llm_calls ledger on the C84d store contract (file · memory · supabase, migration not run); verifyLlmRow beside verifyWitnessRow; 22 call sites routed through the door as mechanical wraps

    Why it left the lane: (sensemaking unavailable — facts-only intervention)

    Measured outcome (deterministic, not self-graded): room mean offPct 24→22 over 6 commits since

    Open the signed attestation →
  4. 2026-09-18 · 🧪 laboratory · offPct 21 · mistagged

    feat(vna): C52f one pipeline for the slotting — the basins are the one door's targets library (written by every fold); the prompt hook and the ingest slot stage walk against it, the walk's admissibility is the admission, node gzip survives only as the within-cell tiebreak; guard seen red under the admission gate removed

    Why it left the lane: The diff's actual content is exclusively `scripts/vna/spec-tree.mjs`, `scripts/vna/steer-hook.mjs`, `docs/specs/vna/SPEC-VNA-COCKPIT.md` and `tests/vna/*` — strings like `axesPath`, `SPEC_TARGETS`, `lensWalk`, `pmu-onchip --lens`, `renderTargets`, `ncd_sim`. None of that vocabulary or those paths appear anywhere in laboratory's declared surface (`data/room-surfaces.json` line 116 lists `docs/03-product/MVP/`, `docs/03-product/SPECS/`, `src/lib/tesseract/`, `tests/` broadly, `data/trust-debt/` — and even the receipt-time list shown in this prompt is a THIRD, narrower set: `swarm-comms/`, `.mcp.json`, `.thetacog/orchestrator/`). The Rust-lens/gzip-NCD sensor vocabulary pulled the lit-reality mass toward A1,B3 (pipeline-internals territory) while the commit's claimed lane, derived from its Relevant-Rooms trailer naming laboratory, anchored intent at C3,A. The two never had file overlap to begin with.

    The semantic pull: Terms 'the Rust lens already IS the gzip-NCD placer', 'lensWalk(text, { axesPath })', 'pmu-onchip --lens', 'SPEC_TARGETS', 'renderTargets(tree)' — all VNA/PMU sensor internals — dominate every hunk; nothing in the diff touches laboratory's actual globs (docs/03-product/, src/lib/tesseract/, data/trust-debt/, swarm-comms/). The pull toward A1,B3 is simply 'this is where VNA pipeline code lives', a region laboratory has never owned.

    Intent–reality gap: The commit message and trailers claim laboratory as a relevant room for a VNA-pipeline-unification change; the receipt measured the actual diff mass landing at A1,B3 with zero overlap to anything laboratory owns — 21% of lit reality fell outside the lane the trailer declared, because the trailer was filled by habit rather than checked against the diff.

    • data/room-surfaces.json: add 'scripts/vna/', 'docs/specs/vna/', 'tests/vna/', 'data/vna/' to rooms.architect.owned (Originating-Terminal on every VNA commit including this one is already architect)
    • Ship tests/rooms/relevant-rooms-covers-diff.test.mjs (ask-010, already asked 15×) into the actual commit-time enforcement path, not just as an open ask — this is the 59th out-of-lane laboratory event it would have caught
    • Ship tests/ops/room-surface-coverage.test.js (ask-001, asked 7×) so any path with zero owning room (like scripts/vna/** until this fix) is flagged before it accumulates dozens of mistagged events
    • Reconcile the two divergent laboratory-surface declarations found while diagnosing this — data/room-surfaces.json's broad list (tests/, docs/03-product/, src/lib/tesseract/) vs the narrower list this receipt actually used (swarm-comms/, .mcp.json, .thetacog/orchestrator/) — via tests/ops/room-glob-overlap.test.mjs (ask-024)
    • Re-render this receipt's prewalkOverlap against data/vna/spec-targets.json now that C52f ships it, to test whether the one-door unification the commit itself built raises reef overlap on VNA commits going forward

    What we learned: The prior lesson (e6a9a676c) established VNA has no owned-surface glob anywhere; this event shows the gap is worse — the hand-maintained data/room-surfaces.json's own laboratory entry (owns 'tests/' broadly, docs/03-product/, src/lib/tesseract/) already disagrees with whatever narrower source the drift receipt itself reads for laboratory's owned surface (swarm-comms/, .mcp.json, .thetacog/orchestrator/). Two sources of room-ownership truth have already diverged, so naming an owner for VNA in only one of them will not fix mistagging — the fix must target whichever source the receipt actually consults at measurement time.

    The missing guard (the deliverable): tests/rooms/relevant-rooms-covers-diff.test.mjs

    Detector probe: signal attribution — gzip reef 70% · ballistic walk 30%. Saturated, not right-sized: a 100% lit-to-walked ratio on both sides means the walk isn't discriminating admissible from inadmissible cells, it's just recording everywhere it looked. Concrete adjustment: rerun this sha with a tighter lit-admission threshold (or shorter timeoutMs / narrower strided-digest breadth) and confirm lit becomes a proper subset of walked before trusting offPct as a walk-driven signal rather than a seed-driven one. Experiments: Recompute prewalkOverlap for this sha using data/vna/spec-targets.json (the file this very commit renders) as the reef seed library for both intent and reality corpora — expected: overlap should rise measurably above 3/133 if C52f's own sensor-unification claim holds · Ablate: rerun the receipt with VNA_SPEC_TARGETS unset (pre-C52f state) vs set (post-C52f), diff offPct on the same sha — if the change this commit ships doesn't move its own offPct, the receipt and the shipped work are measuring unrelated things · Measure gzip-NCD overlap between each of the 59 prior laboratory out-of-lane diffs and every room's data/room-surfaces.json owned globs, to test directly whether low prewalkOverlap predicts a mistagged Relevant-Rooms trailer across the room's whole 14-day history

    Measured outcome (deterministic, not self-graded): room mean offPct 18→13 over 5 commits since · dictionary ablation saved 1084B

    This lane's loss ratio absorbs mass from a subsystem it structurally cannot own, inflating laboratory's apparent drift rate over 59 events in 14 days on paper alone; premium is restored by giving VNA a real owning room in data/room-surfaces.json and enforcing ask-010 so a zero-overlap trailer can no longer be filed.

    Open the signed attestation →
  5. 2026-09-18 · 🧪 laboratory · offPct 50

    feat(vna): C80b the hierarchy — one measure, one action, read more per card; the legend one line per axis with the reef's own names; a preview that did not render never blanks the panels

    Why it left the lane: (sensemaking unavailable — facts-only intervention)

    Measured outcome (deterministic, not self-graded): room mean offPct 18→11 over 5 commits since

    Open the signed attestation →
  6. 2026-09-18 · 🧭 navigator · offPct 37

    chore(vna-ide): thetacog-mcp 0.3.9 packaged — the ⚡ /clear actuator compiles (async fs read; tsc caught the sync call); HOWTO regenerated from the manifest (23 commands)

    Why it left the lane: (sensemaking unavailable — facts-only intervention)

    Measured outcome (deterministic, not self-graded): room mean offPct 3→34 over 8 commits since

    Open the signed attestation →
  7. 2026-09-18 · 🧪 laboratory · offPct 36

    feat(vna): C80a the legend is a health metric per axis — how the twelve translate to this repo and what they map to on the tape, with the readings as proofs

    Why it left the lane: (sensemaking unavailable — facts-only intervention)

    Measured outcome (deterministic, not self-graded): room mean offPct 18→11 over 5 commits since

    Open the signed attestation →
  8. 2026-09-18 · 🧪 laboratory · offPct 23

    feat(vna): C82b card 3's residue once C75 is subtracted — FUNDED/UNFUNDED from the decoded claims, PRE-RELEASE on the notary card until one receipt verifies over the wire, and a static proof that the JWT never reaches the page or the disk

    Why it left the lane: (sensemaking unavailable — facts-only intervention)

    Measured outcome (deterministic, not self-graded): room mean offPct 17→11 over 3 commits since

    Open the signed attestation →
  9. 2026-09-18 · 🧪 laboratory · offPct 28

    test(vna): C82d.1 names its own circularity — inside the audit the guard reads the previous receipt and may be red on its own name; that one name is excused, every other red on the record is a red

    Why it left the lane: (sensemaking unavailable — facts-only intervention)

    Measured outcome (deterministic, not self-graded): room mean offPct 17→11 over 3 commits since

    Open the signed attestation →
  10. 2026-09-18 · 🧪 laboratory · offPct 16

    fix(vna): C53c one parser for the named guard — the borne-out column reads `guard `x`` and `guard: `x`` exactly as spec-check does, and BOTH now require a word boundary (`intentguard` on C21 matched `guard`` inside the word: the token is not the construct); C10 joins the registry at lift_over_random.within1 (4.34 → MEASURED-HELD); an object at the verdict path is refused by name; corrected count: 47 GUARDED · 6 BUILT (C0–C4, C22) — the "9 BUILT incl. C35/C37" in the v1/v2 reports was this parser's defect, not the rows'; guard extended, seen red on the intentguard case

    Why it left the lane: (sensemaking unavailable — facts-only intervention)

    Measured outcome (deterministic, not self-graded): room mean offPct 18→13 over 5 commits since

    Open the signed attestation →
  11. 2026-09-18 · 🎩 operator · offPct 21 · structural

    chore(ledgers): the settled machine-ledger tail — steady state, not a backlog

    Why it left the lane: The diff's actual content-add is a new key in src/data/commit-greeks-index.json carrying sensor:"metal", coord:"C2,B3", laneVerdict:"In-Lane", and a greeks block (delta/gamma/vega/theta — Semantic Bleed σ, traction slope, injected-rule hold-rate variance). None of that path or vocabulary sits inside Kitty Operator's owned surface (data/trust-debt/, data/pmu/pipeline/, data/pmu/claudbridge/, docs/01-business/*, public/*-demo*, docs|public/dashboard*) — src/data/ isn't listed at all, and data/pmu/measure-history*.ndjson, data/pmu/reverted-receipts.ndjson, data/pmu/rule-trigger-anchors.json aren't either. The commit message's own three-room Relevant-Rooms trailer (Rio Navigator, Kitty Operator, iTerm Builder) is a static default, not a per-path lookup, so it never fenced these paths in the first place.

    Intent–reality gap: The message claims a narrow, room-scoped act — 'the rows the daemons appended' as a steady-state ledger tail, explicitly enumerating walk-tape/lens-triad/lens-rct-assignments/sigma-panel-trend/measure-history/reverted-receipts/throughput/punch-list — but the receipt measures reality landing at lensReality=A1,B3 against a declared lensIntent=B,B, with 58 of the 136 intent-side lit cells finding no reality counterpart in-lane (offPct=21).

    • Implement tests/rooms/relevant-rooms-covers-diff.test.mjs (ask-010) — assert Relevant-Rooms is a superset of every diff path's resolved room owner, not a fixed default.
    • Implement tests/pmu-simulator/mistagged-commit-does-not-inflate-offpct.test.mjs (ask-033) — a docsOnly, multi-writer ledger-tail commit whose content is legitimate elsewhere should not count as this room's lane violation.
    • Add src/data/commit-greeks-index.json, data/pmu/measure-history*.ndjson, data/pmu/reverted-receipts.ndjson, data/pmu/rule-trigger-anchors.json to a room's owned-surface glob (tests/pmu-simulator/shared-state-files-have-room-owner.test.mjs, ask-003) — right now they are unowned by any room's declared surface.
    • Update tick.sh's commit-message template to enumerate the daemon writers actually swept, keyed to their owning rooms, not a fixed three-name trailer.
    • Re-run docs-only detection (tests/pmu-simulator/docs-only-commit-skips-lattice.test.mjs, ask-005) against this commit class specifically — a pure daemon-row-append commit may qualify to skip full lattice scoring entirely.

    What we learned: Daemon-tail batching commits are structurally multi-room by design — they scoop up rows from every live writer across the tree in one atomic commit — so any lane model that attributes ONE Originating-Terminal/Relevant-Rooms set to them will keep reading as out-of-lane no matter how carefully worded the commit message is. The prior three facts-only lessons in this room (offPct trending 10→24, 12→13) never named this mechanism; this is the first pass that traces the 56-events/14-days pattern to the batching architecture itself rather than to any one commit's wording.

    The missing guard (the deliverable): tests/rooms/relevant-rooms-covers-diff.test.mjs

    Detector probe: signal attribution — gzip reef 25% · ballistic walk 75%. Under-utilized on the reality side for this commit class: litReality=58 stops well short of litIntent=136 even though the diff touches a comparable number of distinct small JSON/ndjson paths on both notional sides. Adjustment: for docsOnly=true commits with high file-count-to-byte-size ratio (many tiny ledger appends), raise the reality-side walk depth or lower its early-stop threshold so litReality can close toward litIntent before the walk halts. Experiments: Recompute prewalkOverlap using per-path-prefix reef seeds (split .thetacog/*, data/pmu/*, src/data/* into separate seed sets instead of one blended seed) and diff offPct on the last 20 ledger-tail commits before/after. · Ablation: hold out docsOnly=true multi-writer-tail commits (detected via the 'the rows the daemons appended' message pattern) from offPct scoring for one week; measure whether room mean offPct drops without missing any genuine drift. · Test whether raising the reality-side walk's depth cap specifically for docsOnly commits closes the laneJump=7/laneHamming=38 gap seen here, re-run on this sha's frozen corpus to confirm.

    Measured outcome (deterministic, not self-graded): room mean offPct 27→32 over 8 commits since · dictionary ablation saved 927B

    This event alone is a mistagged-attribution defect, not a content defect, so it should not raise this lane's loss-ratio on its own — but at 56 out-of-lane events in 14 days for this room, premium stays elevated until the Relevant-Rooms trailer is diff-derived (ask-010) rather than fixed, since that single fix is what the chronic pattern is measuring.

    Open the signed attestation →
  12. 2026-09-18 · 🧪 laboratory · offPct 38

    feat(vna): C89c — the two gates: redactSecrets at the one door (esc), so a bearer-shaped token or any secret-shaped env value never reaches the page even through a why that quoted it; PAGE_CSS exported with the 350 px stacking rule and the ⋮ fold for secondary buttons (no open attribute); the spec bar width as a CSS variable; four older pins re-aimed to the construct; C89c ticked

    Why it left the lane: (sensemaking unavailable — facts-only intervention)

    Measured outcome (deterministic, not self-graded): room mean offPct 16→11 over 4 commits since

    Open the signed attestation →
  13. 2026-09-18 · 🧪 laboratory · offPct 39 · mistagged

    feat(vna): C52c aging in the slot — a basin's lineage is its versions plus every decision slotted into it, oldest → newest, retracted marked never dropped; the latest decision is read off the receipt; bundle, hook, outline and rail carry it; guard seen red under the decision mark removed

    Why it left the lane: The diff is saturated with VNA-only vocabulary — 'basin', 'lineage()', 'revisions[]', 'decision:', 'τ_attach 0.55', 'seedSpecFirst', 'spec-tree.mjs' — all confined to scripts/vna/spec-tree.mjs, scripts/vna/steer-hook.mjs, scripts/vna/steer-ui.mjs, docs/specs/vna/SPEC-VNA-COCKPIT.md, tests/vna/spec-basins.test.mjs. None of these paths, or any term in them, intersect 🧪 laboratory's owned surface (thetacoach-crm-mcp/, swarm-comms/, .thetacog/orchestrator/, scripts/claude-room, scripts/check-mcp-health.sh). The walk had almost nothing to seed on (prewalkOverlap=3 against 128 intent lit cells) so it placed reality at A3,A3 purely off the VNA-specific mass while intent sat at B3,C wherever 'laboratory' habitually resolves.

    The semantic pull: 'basin', 'lineage', 'decisions[]', 'revisions.push', 'τ_attach', 'spec-tree.mjs', 'seedSpecFirst' — none present anywhere in laboratory's owned-surface list — pulled the reality walk to A3,A3 while the commit's Relevant-Rooms trailer asserted laboratory as intent-lane B3,C.

    Intent–reality gap: The trailer claims Relevant-Rooms: architect, laboratory, navigator, but 100% of the diff (5/5 files) lands in scripts/vna/**, docs/specs/vna/**, tests/vna/** — a surface laboratory does not own a single glob of; the work is coherent C52-series feature code, the room claim is what's wrong.

    • Recompute Relevant-Rooms from `git diff --name-only` against each room's owned-surface glob before the trailer is written, not from habit.
    • Land ask-010 tests/rooms/relevant-rooms-covers-diff.test.mjs (asked 17×, still unshipped) — this exact event is its firing case.
    • Give scripts/vna/**, docs/specs/vna/**, tests/vna/** an owned-surface glob under 📐 architect's room config — the gap prior lesson e6a9a676c named but that has not yet been closed.
    • Land ask-024 tests/ops/room-glob-overlap.test.mjs so an orphaned surface like VNA (heavily committed, owned nowhere) is caught before it accumulates more misattributed drift.
    • Audit the C52a/C52b/C52c trio's Relevant-Rooms trailers retroactively — if all three name laboratory with zero overlap, laboratory's offPct trend is being inflated by a whole sub-series, not one commit.
    • Add a warn-only pre-commit line (never a block, per the hooks-never-blocks rule) printing when a named Relevant-Room has 0 files in its owned glob overlapping the staged diff.

    What we learned: Prior lesson e6a9a676c named the structural gap (VNA owns no room surface) but the matching guard (ask-010, already asked 17 times) still hasn't landed — this is the THIRD consecutive C52-series commit (a, b, c) carrying the identical mistagged trailer, which shows an open-but-unshipped ask decays into a recurring drift class exactly as reliably as a guard that was never written; naming the gap once is not sufficient, only landing the guard stops the repeat.

    The missing guard (the deliverable): tests/rooms/relevant-rooms-covers-diff.test.mjs

    Detector probe: signal attribution — gzip reef 65% · ballistic walk 35%. Right-sized in spread (128↔130, untruncated) but under-discriminating: 28 vs a null of 24 is barely above chance. Concrete adjustment: widen the ring by one block on ties this close to null before accepting a placement, so a genuine mistagged-room case (this one) is distinguished from ordinary noise with more margin. Experiments: Recompute prewalkOverlap using only the room's OWNED-SURFACE glob content as the intent-lane dictionary (not the full lane vocabulary) and measure whether that raises the margin on known mistagged commits like this one. · Ablate: rerun this sha's receipt with Relevant-Rooms trailer corrected to 'architect' only and confirm offPct drops toward the room's measured baseline, validating the trailer (not the code) was the drift source. · Backtest relevant-rooms-covers-diff.test.mjs against the full C52a–C52c series once written, and report how many of the 64 laboratory out-of-lane events in the last 14 days are this same mistagged-trailer class vs genuine structural drift.

    Measured outcome (deterministic, not self-graded): room mean offPct 18→13 over 5 commits since · dictionary ablation saved 1083B

    A trailer-vs-diff mismatch this size (100% off-surface) reads as unpriceable noise on laboratory's loss ratio until the trailer is corrected and the VNA surface is claimed — premium restores the moment relevant-rooms-covers-diff.test.mjs ships and scripts/vna/** has a named owner, since offPct then measures real drift instead of misattributed room mass.

    Open the signed attestation →
  14. 2026-09-18 · 🧪 laboratory · offPct 29 · mistagged

    feat(vna): C50 the local cryptographic tape — hash-chained, ed25519-signed rows for every decided commit (Merkle proofs + PMU Δ receipt) and every prompt turn (seed + gauge), --verify names the first break; post-commit and the hook tape detached; guard seen red under the signature check removed

    Why it left the lane: The diff carries two very different vocabularies inside one commit. The docs/specs/vna/SPEC-VNA-COCKPIT.md edit is a single checklist line flip that drags in a huge inline restatement of the whole C50-C52 spec context ('spec-tree', 'basins', 'gzip-NCD', 'tape rows', 'PMU Δ receipt', 'snowball') — broad, cross-topic prose that lights up ~90% of the lattice (litIntent=130/144). scripts/vna/flight-tape.mjs is genuinely new cryptographic infrastructure ('ed25519', 'edSign/edVerify', 'createPublicKey', 'sha256', 'row_sha', 'canonical', 'Merkle inclusion proof') — narrower but concentrated in a coordinate region the rest of the corpus rarely touches (litReality=110/144, still large but centered differently, laneJump=8, laneHamming=29). That split between prose-that-restates-everything and code-that-is-narrowly-cryptographic is what separates lensIntent=C3,A from lensReality=A1,B1. Separately, and independent of content: the commit's own Relevant-Rooms trailer names 🧪 laboratory, but zero of the seven changed files (scripts/vna/flight-tape.mjs, docs/specs/vna/SPEC-VNA-COCKPIT.md, hooks/post-commit, scripts/vna/steer-hook.mjs, tests/vna/_hermetic.mjs, tests/vna/flight-tape.test.mjs) sit inside laboratory's declared owned surface (.claude/*, thetacoach-crm-mcp/, swarm-comms/, .thetacog/orchestrator, .thetacog/punch-list*). This event is laboratory being scored against work laboratory never touched.

    The semantic pull: 'ed25519', 'edSign', 'edVerify', 'createPublicKey', 'sha256', 'Merkle inclusion proof', 'row_sha' in scripts/vna/flight-tape.mjs pull reality toward A1,B1 — a crypto-primitives coordinate distant from the docs/spec-heavy 'basins/spec-tree/snowball/tape' vocabulary in the SPEC-VNA-COCKPIT.md changelog blob that anchors intent at C3,A. prewalkOverlap=5 (very low against litIntent=130, litReality=110) shows the gzip-NCD reef found little upfront match, so most of the 8-lane jump was discovered by the walk's spread, not the seed.

    Intent–reality gap: The commit message claims a lab-relevant vna-cockpit spec update ('Relevant-Rooms: architect, laboratory, operator'), but the receipt measured 29% of the lit reality mass landing outside the declared C3,A intent lane, in a crypto-coordinate region (A1,B1) — and the room this event is charged against (laboratory) owns none of the seven files the commit actually touched.

    • Ship tests/rooms/relevant-rooms-covers-diff.test.mjs (ask-010) — assert every room in a commit's Relevant-Rooms trailer owns ≥1 changed file
    • Ship tests/pmu-simulator/originating-terminal-matches-surface.test.mjs (ask-027) — assert Originating-Terminal's room owns the majority of the touched surface
    • Add a pre-commit helper printing candidate Relevant-Rooms via `node scripts/ops/rooms-for.mjs $(git diff --cached --name-only)` so authors stop hand-picking the trio
    • Register an owned-surface glob for scripts/vna/**, docs/specs/vna/**, tests/vna/** under whichever room's config should formally claim the growing C42-C52 VNA subsystem (architect, per Originating-Terminal pattern)
    • Audit the room's other 52 out-of-lane events from the last 14 days for the same zero-file-overlap mistagging pattern before treating them all as genuine content drift

    What we learned: The VNA/flight-tape subsystem (C42-C52, scripts/vna/**, docs/specs/vna/**, tests/vna/**) has grown into a real, heavily-committed feature line but has never been given an owned-surface glob in any room's config — so every VNA commit's Relevant-Rooms trailer gets filled by habit rather than checked against the diff, and a room with zero file overlap (laboratory, here) absorbs drift mass that was never its own.

    The missing guard (the deliverable): tests/rooms/relevant-rooms-covers-diff.test.mjs

    Detector probe: signal attribution — gzip reef 30% · ballistic walk 70%. Saturated on the intent side — litIntent=130 of 144 cells (~90%) is close to lighting the whole board, driven by the single giant inline changelog paragraph restating the entire C50-C52 spec context; litReality=110 (~76%) is comparatively tighter around the crypto code. Concrete adjustment: route that changelog blob through C49's entropy-based snipping (once it exists) so one prose block can't unilaterally light 90% of the lattice. Experiments: Re-run the reef seed with the SPEC-VNA-COCKPIT.md changelog paragraph pre-chunked at sentence boundaries (simulating C49) on this frozen commit and measure whether prewalkOverlap rises above 5 and litIntent drops below 130 · Add a room-ownership pre-filter before scoring offPct: check git diff --name-only against the target room's owned-surface glob and short-circuit to 'not applicable' at zero overlap, then measure how many of the 53 laboratory events in the last 14 days disappear · Ablate the checklist-changelog convention by replaying history with the C50-style inline prose collapsed to a one-line summary and measure whether offPct for VNA commits drops toward the 15 threshold

    Measured outcome (deterministic, not self-graded): room mean offPct 18→13 over 5 commits since · dictionary ablation saved 997B

    A room absorbing drift for files it never touched inflates that lane's measured loss ratio with noise instead of signal, cheapening every genuine laboratory drift event on the books; premium is restored once tests/rooms/relevant-rooms-covers-diff.test.mjs ships and re-attributes this event class to the room that actually owns the surface.

    Open the signed attestation →
  15. 2026-09-18 · 🧪 laboratory · offPct 21

    test(vna): C84e — the site door driven end to end in one in-process run, connect → approve → buy → webhook → poll → tape-sync → 🟢 Notarized · credits left N−1

    Why it left the lane: (sensemaking unavailable — facts-only intervention)

    Measured outcome (deterministic, not self-graded): room mean offPct 16→11 over 3 commits since

    Open the signed attestation →
  16. 2026-09-18 · 📐 architect · offPct 39

    spec(vna): C71 the backup + licence door from the extension — a content-addressed tape archive under .thetacog/backup/<sha>.tar.gz with a manifest, the site URL carrying only the manifest sha; login, upload and the licence stay on the site (deny-first publish). Goal 3 unit 6

    Why it left the lane: (sensemaking unavailable — facts-only intervention)

    Measured outcome (deterministic, not self-graded): room mean offPct 24→35 over 34 commits since

    Open the signed attestation →
  17. 2026-09-18 · ☕ network · offPct 53

    fix(bookclub): enroll-gmail-chains drops anonymized relays and machine mailboxes — they bounce, and bounces are what cost the domain

    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 →
  18. 2026-09-18 · 🧪 laboratory · offPct 37

    feat(vna): C79a the trays remember — <details> open state through the webview's own door (vscode.getState/setState), localStorage only for the browser copy

    Why it left the lane: (sensemaking unavailable — facts-only intervention)

    Measured outcome (deterministic, not self-graded): room mean offPct 18→11 over 5 commits since

    Open the signed attestation →
  19. 2026-09-18 · 🧪 laboratory · offPct 33

    feat(vna): C52d — calibrate the starting floor ONCE from the shuffled null (τ_attach 0.55 → 0.70 live; the seed was typed, never measured, and two hundred times too tight), the ratchet only tightens from there; --status answers "how would I know" from receipts and says NOT VERIFIED when one is missing; guard seen red under the null-stop removed; every VNA suite pinned hermetic

    Why it left the lane: (sensemaking unavailable — facts-only intervention)

    Measured outcome (deterministic, not self-graded): room mean offPct 18→13 over 5 commits since

    Open the signed attestation →
  20. 2026-09-18 · 📐 architect · offPct 36

    spec(vna): goal 4 on the record — the commercial bridge: C44 the notary witness gateway (route.ts in this repo's app router, in-memory ledger adapter for the guard, replay idempotent, 402 on depletion, deploy = push = the human's), C74 incremental tape sync, C75 device authorization on the tape's own ed25519 key with the licence bought on the site, C45 the no-arbitrage pricing engine in complexity units, C76 the audit + status card; C72 and C73 carried from goal 3, never dropped. Supersedes goal 3 at 6/8

    Why it left the lane: (sensemaking unavailable — facts-only intervention)

    Measured outcome (deterministic, not self-graded): room mean offPct 24→10 over 6 commits since

    Open the signed attestation →
  21. 2026-09-18 · 🎩 operator · offPct 16

    fix(ratchet): ONE METER — the ratchet's METER row reads the action-objective engine the sweep reports; legacy beside it, never pooled; no floor set

    Why it left the lane: (sensemaking unavailable — facts-only intervention)

    Measured outcome (deterministic, not self-graded): room mean offPct 27→32 over 8 commits since

    Open the signed attestation →
  22. 2026-09-18 · 🧭 navigator · offPct 48

    fix(vna): an export never comes back in — every copy-out is stamped on its first line and sha-ledgered; the clipboard daemon refuses both

    Why it left the lane: (sensemaking unavailable — facts-only intervention)

    Measured outcome (deterministic, not self-graded): room mean offPct 3→34 over 8 commits since

    Open the signed attestation →
  23. 2026-09-18 · 🧪 laboratory · offPct 22

    fix(vna): C66 the runner grades the GUARD commit in head0..head1 — the C74 worker landed the unit as two commits per ITERATION DISCIPLINE (feat with code + tests, then a one-file spec tick) and the grader took the newest non-chore commit: 'the commit 08cac801d0 changes no file under tests/ — no guard, not done', halt, exit 2. workCommit() now picks the newest non-chore commit that changes a test file, falling back to the newest non-chore one (which then fails the guard gate honestly). Live: --audit 0fad688adb → red RED · green · CAR complete. Guard: C67b in tests/vna/steer-runner.test.mjs (mock plan commit+tick), seen red with the live reason

    Why it left the lane: (sensemaking unavailable — facts-only intervention)

    Measured outcome (deterministic, not self-graded): room mean offPct 18→13 over 5 commits since

    Open the signed attestation →
  24. 2026-09-18 · 🧪 laboratory · offPct 16

    fix(vna): the clipboard daemon never appends an address — a copied path or URL is one token, not mass

    Why it left the lane: (sensemaking unavailable — facts-only intervention)

    Measured outcome (deterministic, not self-graded): room mean offPct 18→13 over 5 commits since

    Open the signed attestation →
  25. 2026-09-18 · 📐 architect · offPct 27

    spec(vna): tick C77 — the goal writer is built and guarded (tests/vna/goal-write.test.mjs 5/5, 0eb7fd3cec); the row now says the handler is vna-cockpit.ts's onMessage, not vna-view.ts, because the surface spawns nothing

    Why it left the lane: (sensemaking unavailable — facts-only intervention)

    Measured outcome (deterministic, not self-graded): room mean offPct 24→27 over 9 commits since

    Open the signed attestation →
  26. 2026-09-17 · 🎤 voice · offPct 22 · structural

    post(blog): the killshot in P1, before the amuse — the counted version stays wherever the money is and the fog is what is on the shelf; ask them what they run their own treasury on; and the part nobody expects: saying it out loud is good for them too, the day you demand the counted version they ship it and the drift falls for everyone

    Why it left the lane: The inserted sentences use the pipeline's own metric vocabulary as if it were customer prose — 'the drift falls for everyone, theirs included' and 'the counted version stays wherever the money is... the day you demand the counted version, they ship it.' 'Drift' is this repo's own detector's name for exactly the signal being measured right now; when that literal token shows up inside reader-facing killshot copy, the gzip/walk compression finds it closer to the mechanism corpus than to the pure-voice corpus, and the lattice walk lands the passage at A2,C1 instead of the claimed B2,C.

    The semantic pull: Two exact strings from the diff do the pulling: 'the drift falls for everyone' (system-metric noun in reader prose) and 'the counted version' repeated twice in three sentences (the killshot's own coined term, borrowed near-verbatim from the CLAUDE.md advice-posture rule that authorizes it). Both are self-referential product vocabulary, not the second-person reader voice the rest of the paragraph and the room's B2,C lane assume.

    Intent–reality gap: The commit claims a pure voice/reader edit (killshot placement in P1, persona-intent 'the deployer') entirely inside the room's owned blog surface; the receipt measured it landing 22% outside that lane, in a mechanism-adjacent coordinate (A2,C1) the walk associates with the product's own drift/receipt vocabulary rather than reader-facing narrative.

    • Edit src/content/blog/2026-09-17-a-named-lever-is-a-handhold.mdx: drift→gap in the killshot sentence
    • Sync the two scratchpad mirrors (.mdx.txt, .txt) so the three files stay byte-consistent, per the room's own cook-email convention
    • Add the machine-tell vocabulary bullet to docs/architecture/claude-rules/voice-and-pitch.md
    • Extend scripts/blog/advice-posture.mjs with check A13 scanning the P1/killshot region for the banned-token list
    • Grep docs/05-content/blog/scratchpad/ and src/content/blog/*.mdx for other live uses of literal 'drift'/'receipt'/'pixel' in reader-facing (non-glossary) prose
    • Re-run the S19 ghost-read grade after the paraphrase to confirm ≥2.80 holds with 'gap' in place of 'drift'

    What we learned: This room's chronic off-lane rate (111/14d, and three straight facts-only interventions that each made offPct worse) has a structural driver the prior interventions never named: the voice room's actual job is to write reader-facing copy ABOUT this product's own drift-measurement mechanism, so its content will keep re-using the mechanism's own nouns (drift, counted, receipt) — and every time it does, the walk reads that as mechanism-lane content. A lane threshold tuned for content-only rooms will keep over-firing here unless the mechanism vocabulary itself is fenced at the sentence level.

    The missing guard (the deliverable): tests/blog/advice-posture-no-mechanism-vocabulary.test.mjs — extends scripts/blog/advice-posture.mjs (already gating A1–A12) with a new check A13 that fails the killshot/P1 region if it contains a literal mechanism-metric token (drift, receipt, offPct, lane, pixel, tolerance panel) outside an explicitly-quoted-glossary block.

    Detector probe: signal attribution — gzip reef 25% · ballistic walk 75%. walksIntent(139)=litIntent(139) and walksReality(130)=litReality(130) with walkTruncated=false — the walk ran to completion on both sides, no saturation or shallow cutoff. But laneHamming clearing the null by only 6/30 (~20%) on a 3-line diff means the walk had thin material to work with; it is right-sized in depth but starved of input. Adjustment: for docsOnly commits under a small diff-line floor, weight offPct by a material-confidence factor (laneHamming − laneHammingNull) so thin-material commits don't fire full escalation on a near-null signal. Experiments: Shadow-recompute this commit's receipt with 'drift' replaced by 'gap' (no ship) and diff the resulting offPct — confirms or kills the literal-token hypothesis with a number. · For docsOnly=true commits under ~10 changed lines, compute confidence = laneHamming − laneHammingNull and suppress full escalation below a floor (e.g. 10); replay against this room's last 111 events and report what fraction were near-null low-confidence fires. · Build the A13 banned-vocabulary scan and ablation-test it against the last 20 voice-room commits, correlating token presence with offPct magnitude.

    Measured outcome (deterministic, not self-graded): room mean offPct 18→9 over 6 commits since · dictionary ablation saved 838B

    Literal mechanism-metric vocabulary leaking into reader-facing killshot prose is what is keeping this lane's loss-ratio elevated (111 off-lane events/14d); premium is restored by paraphrasing those tokens into reader register at the sentence level and gating the killshot passage with an explicit token guard before ship.

    Open the signed attestation →
  27. 2026-09-17 · 📐 architect · offPct 45

    ledger+spec(pmu): KR37 the covenant verdict (bimodal breach, 13 % pass, one lane) and KR38 the option on the cook (q 0.73, N 372/30 d, priceable share 51 %, the strike must be pinned); §8.51 v52

    Why it left the lane: (sensemaking unavailable — facts-only intervention)

    Measured outcome (deterministic, not self-graded): room mean offPct 22→30 over 10 commits since

    Open the signed attestation →
  28. 2026-09-17 · ☕ network · offPct 23

    comms(external): every Marsh note now states what is in it for us — nothing now, the advice and measurement free, the settlement licence documented and contingent on a wording or facility keying on the row — as disclosure, never a deferred ask

    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 →
  29. 2026-09-17 · 🧪 laboratory · offPct 17

    fix(pmu): the off-lane kill line's ONE-source-of-truth guard and the extraction guard were checking two different things — both now hold

    Why it left the lane: (sensemaking unavailable — facts-only intervention)

    Measured outcome (deterministic, not self-graded): room mean offPct 19→11 over 3 commits since

    Open the signed attestation →
  30. 2026-09-17 · 🧪 laboratory · offPct 17

    fix(postman): a drained ghost-read never opens a window — the auto-open is commit-time only

    Why it left the lane: (sensemaking unavailable — facts-only intervention)

    Measured outcome (deterministic, not self-graded): room mean offPct 22→11 over 3 commits since

    Open the signed attestation →
  31. 2026-09-17 · 🧭 navigator · offPct 22 · mistagged

    feat(pmu): KR34 THE VOLATILITY TEST — 'Black-Scholes for competence' as four enumerated properties in the crate (V1–V4, each seen red) and one measured read: does the placement's σ predict rework given μ

    Why it left the lane: This receipt is being scored against 🧭 navigator, but the commit's own trailer never claims navigator — Originating-Terminal is 📐architect (vscode) and Relevant-Rooms is architect, laboratory, vault. None of the 7 changed paths (harness.rs, main.rs, volatility.rs ×2 copies, kr34-volatility.mjs, the two formal test files, the generated data/pmu/kr34-volatility.json) intersect navigator's owned surface (scripts/open-room-session.sh, .thetacog/cache/room-runners/*.sh, openclaw/src/thematic-scheduler.ts, openclaw/src/focus-gravity.ts, openclaw/data/*, .workflow/cognitive-dashboard.html). offPct=22 is mechanical: the walk placed 133 of 135 reality cells at B1,A1 — dense Rust/formal-verification vocabulary — while the frame it was measured against (navigator, lensIntent B2,B2) was never this commit's claim at all.

    The semantic pull: The pulling terms are architect/laboratory crate vocabulary: check_level_invariance, window_vol, canon(xs), null_draw, MIN_DISTINCT_COMMITS, 'the same binary that builds the panels' — none co-occurring with navigator's own vocabulary (thematic-scheduler, focus-gravity, room-runners, cognitive-dashboard). That vocabulary anchors the reality walk at B1,A1 / the B1,B2,B3×C1,C2 cluster the panel shows lit red, laneHamming=24 (vs null=38) from wherever navigator's own B2,B2 declaration sits.

    Intent–reality gap: The commit claims Originating-Terminal architect and Relevant-Rooms architect/laboratory/vault — it never claims navigator. The receipt nonetheless charges 22% off-lane mass against navigator's lane, which is a routing/attribution mismatch, not a genuine claim-vs-work divergence inside navigator's own domain.

    • Land ask-027 tests/pmu-simulator/originating-terminal-matches-surface.test.mjs — 8 asks open, this event is another instance of the same class
    • Re-score navigator's other 6 out-of-lane events from the last 14 days against each commit's own Relevant-Rooms trailer to test whether they're the same mistagging
    • Add architect's owned-surface glob (.thetacog/pmu/**, packages/thetacog-mcp/pmu-rust/**, scripts/pmu/**) to the room-ownership config so the router can positively match instead of only excluding navigator
    • Cross-reference ask-010 tests/rooms/relevant-rooms-covers-diff.test.mjs (9 asks) — verifies the trailer itself covers the diff, the complementary half of this bug
    • Backfill: recompute navigator's room-mean-offPct trend once mistagged events are excluded, to see if its real drift history is actually clean

    What we learned: Room-level offPct trend is not evidence of that room's work quality when the routing layer can charge a commit's drift against a room the commit never claimed — navigator's 7-events-in-14-days record includes at least one (this one) that is entirely architect's PMU-crate content wearing navigator's queue slot; the two prior facts-only interventions here (f2fc65dc4 improved, f242ba32d got much worse) may themselves be conflating real navigator drift with misrouted architect/laboratory commits, a failure surface distinct from anything the three prior navigator lessons named.

    The missing guard (the deliverable): tests/pmu-simulator/originating-terminal-matches-surface.test.mjs (ask-027, already asked 8×) — verify the commit's Originating-Terminal/Relevant-Rooms trailer names the room being scored before charging offPct against it.

    Detector probe: signal attribution — gzip reef 30% · ballistic walk 70%. litIntent (135) and litReality (133) are nearly identical and both near-saturated, which hides the real signal (a room mismatch, not content-spread) inside two counts that look healthy. Adjustment: gate offPct computation on Relevant-Rooms trailer membership BEFORE running the full walk, so a trailer-mismatched commit short-circuits to 'not this room's event' instead of spending full walk depth computing a doomed-to-be-high offPct. Experiments: Re-score sha 10647864a against architect's own surface (not navigator's) and confirm offPct drops near 0 — proves mistagging deterministically rather than assuming it. · Re-seed the reef dictionary with volatility.rs's own vocabulary (canon, ulps, level-invariance) and re-run prewalkOverlap on this sha to see if 4 rises — tests whether the low overlap is a dictionary-coverage gap or genuine cross-domain content. · Recompute offPct for all 7 of navigator's flagged events using each commit's own trailer as the scoring room; measure what fraction fall under the 15 threshold — directly tests how much of navigator's drift record is misrouting.

    Measured outcome (deterministic, not self-graded): room mean offPct 16→34 over 8 commits since · dictionary ablation saved 839B

    A mistagged navigator event inflates that lane's apparent loss-ratio for work it never touched and never claimed; premium is restored by excluding this sha (and re-auditing the other 6) from navigator's rolling offPct once ask-027's trailer-membership check lands.

    Open the signed attestation →
  32. 2026-09-17 · 🧪 laboratory · offPct 38 · mistagged

    feat(vna): the file open is the steer file — a paste into the open .txt reaches the next Claude turn as context, never a command

    Why it left the lane: The receipt's mass pulled toward Ops.Grid/Ops.Loop coords (B1,C1 · B1,C2 · dense B3/C1 rows) because the diff's own vocabulary reads as orchestration prose that matches laboratory's reef (CRM/MCP/mesh/swarm-comms): '.claude/settings.json' hook registration (a file laboratory genuinely owns), plus steer-hook.mjs's own framing — 'THREE PARTS, THREE OWNERS, NO SECOND WRITER', 'the hook spawns exactly the two doors', 'watcher', 'ledger append', 'child_process' — are exactly the terms laboratory's own orchestrator/mesh corpus is dense in. But the files those terms live in (scripts/vna/steer-file.mjs, scripts/vna/steer-hook.mjs, scripts/vna/txt-tail-watch.mjs, tests/vna/steer-hook.test.mjs, docs/specs/vna/amendments.ndjson) are not on laboratory's owned-surface list at all — they belong to the commit's own declared architect surface.

    Intent–reality gap: The commit's own trailers say Originating-Terminal: 📐 architect and Relevant-Rooms: architect · operator · voice — laboratory is never claimed. Yet the receipt fired this event against 🧪 laboratory's lane at offPct=38. The gap isn't the work drifting out of a room it claimed; it's the receipt pipeline scoring the commit against a room the commit never claimed in the first place.

    • Ship tests/pmu-simulator/originating-terminal-matches-surface.test.mjs (ask-027) — asked 9× with 1 spelling, still open
    • Confirm laboratory's owned-surface list genuinely excludes scripts/vna/**, tests/vna/**, docs/specs/vna/** (it currently does — keep it that way, don't 'fix' by adding vna paths to laboratory)
    • Audit the post-commit hook's room-detection: does it read Originating-Terminal, ambient session/terminal state, or file-path heuristics — document whichever it is
    • Recompute offPct for sha 10ce43658 against the architect room's owned surface as a sanity check that this is a detector mismatch, not real drift
    • Sample the room's other 37 out-of-lane events in the last 14 days for the same trailer-vs-assigned-room mismatch pattern before assuming they're all genuine laboratory scope creep

    What we learned: The prior three lessons for this room were facts-only (no sensemaking) and show offPct trending flat-to-worse (null→13, 23→23, 22→23) — interventions weren't landing. This event suggests part of that chronic signal may be detector mistagging rather than actual scope drift: laboratory's 38-events/14-days figure is worth re-auditing against Originating-Terminal trailers before treating it as 38 real violations.

    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 the problem — litIntent/litReality and walksIntent/walksReality sit within ~6% of each other, no saturation or thinness. The fix belongs upstream of the walk, at reef selection. Experiments: Re-run sha 10ce43658's receipt with the reef seeded from the architect room's corpus instead of laboratory's and check whether offPct drops under 15 — confirms mistagging vs real drift · Add Originating-Terminal-trailer-based reef selection as a pre-walk step and A/B it against current room-assignment across laboratory's last 38 out-of-lane events, measuring how many become admissible under the corrected room · Seed shared orchestration vocabulary ('doors','ledger','watcher','mesh') into BOTH laboratory's and architect's reef dictionaries and measure whether prewalkOverlap rises for the correctly-attributed room without collapsing discrimination between the two rooms

    Measured outcome (deterministic, not self-graded): room mean offPct 22→11 over 3 commits since · dictionary ablation saved 988B

    A mistagged room-attribution inflates laboratory's apparent loss ratio with a false claim, so premium relief here comes from shipping ask-027 (trailer-authoritative room assignment) rather than from asking laboratory to shrink its actual scope, which was never the problem.

    Open the signed attestation →
  33. 2026-09-17 · 🎩 operator · offPct 20

    fix(pmu): recover the truncated adjudication ledger and make all four writers atomic

    Why it left the lane: (sensemaking unavailable — facts-only intervention)

    Measured outcome (deterministic, not self-graded): room mean offPct 27→32 over 8 commits since

    Open the signed attestation →
  34. 2026-09-17 · 📐 architect · offPct 49 · mistagged

    feat(blog): every cook round mails the version — the blog-txt render travels beside the tape as <slug>-rN.post.txt

    Why it left the lane: The diff touches only scripts/blog/cook-round.mjs — a 12-line addition that resolves docs/05-content/blog/scratchpad/${slug}.txt, writes a copy to ${slug}-r${round}.post.txt, and pushes '--attach', copy onto the sendEmail args. None of that intersects architect's declared owned surface (docs/strategy/, docs/03-product/, .workflow/rooms/*.html, .workflow/cognitive-dashboard.html, docs/01-business/strategy/, CLAUDE.md). The commit's Originating-Terminal trailer says 📐 architect, but every string the walk could light on — 'scratchpad', 'post.txt', '--attach', 'copy' — sits inside the blog-mail pipeline, which is exactly why litReality (139) landed in lane B while litIntent (83) stayed pinned to the claimed C,A1 coordinate.

    The semantic pull: 'docs/05-content/blog/scratchpad', '${slug}-r${round}.post.txt', and the '--attach' / sendEmail call chain are pure blog-pipeline vocabulary with no lexical overlap to architect's strategy/product docs terms, so the reality walk fanned out into lane B while the intent lane stayed fixed at C from the trailer alone.

    Intent–reality gap: The commit claims lane C (Originating-Terminal: architect) but 49% of the measured mass sits in lane B — the work is entirely blog-cook email-attachment logic in scripts/blog/cook-round.mjs, a file no architect-owned glob covers.

    • CLAUDE.md: add the Detector-note sentence to COMMIT MESSAGE STRUCTURE (spec_rewrite above) — architect owns this file directly.
    • .workflow/rooms/architect.html (within architect's owned .workflow/rooms/*.html glob): document that architect's Originating-Terminal commits touching scripts/blog/** are Relevant-Rooms-owned by a different room, not architect's own surface.
    • Ship tests/pmu-simulator/originating-terminal-matches-surface.test.mjs (ask-027) — already asked 12× with one stable spelling; this event is the 13th instance of exactly the class it targets.
    • Audit the room's other 100 out-of-lane events from the last 14 days for the same unowned-scripts/blog pattern before writing a new lesson — if most of the 101 are this one recurring mistag, the fix is singular, not 101 separate diagnoses.
    • Determine and record which room DOES own scripts/blog/** (voice? operator? a room not shown in this context) so Relevant-Rooms-based classification has a real target to resolve to.

    What we learned: This is the third room-lesson (after ffaf8d2ac, ff5110f85, ff09774e5) to independently rediscover that Originating-Terminal drives the lane classifier while CLAUDE.md's own protocol names Relevant-Rooms as the surface-match field — and ask-027 has been opened 12 times without shipping. The structural fact this reveals isn't about the detector anymore: it's that this sensemaking loop can correctly diagnose the same fix repeatedly (offPct trended 20→14 after ff09774e5 but is back at 49 here) without the diagnosis ever graduating into a merged guard. The bottleneck is execution of an already-known fix, not further diagnosis.

    The missing guard (the deliverable): tests/pmu-simulator/originating-terminal-matches-surface.test.mjs

    Detector probe: signal attribution — gzip reef 15% · ballistic walk 85%. litReality (139) is 67% larger than litIntent (83) for a 12-line, one-file, mostly-comment diff — the walk looks over-spread on the reality side relative to the change's true code footprint. Concrete adjustment: downweight or strip long inline comment blocks (like the multi-line // THE VERSION TRAVELS... explainer added here) from the reality-side lit-cell computation so prose-heavy commenting doesn't inflate the measured spread beyond the actual code operation. Experiments: Re-run this sha's walk with Relevant-Rooms-derived intent lane instead of Originating-Terminal and diff the resulting offPct — if it drops near 0, that's the direct confirmation the classifier fix works. · Strip the added // comment lines from the reality-side walk input and re-run on this sha; measure whether litReality falls toward litIntent (83), confirming comment text is the inflation source named in walk_utilization. · Add an unowned-surface pre-check: for the room's other 100 out-of-lane events in 14 days, count how many touch scripts/blog/** (or other globs matching zero room's owned surface) — if it's the majority, that single glob gap explains most of this room's drift rate, not 101 independent causes.

    Measured outcome (deterministic, not self-graded): room mean offPct 22→7 over 30 commits since · dictionary ablation saved 795B

    A room logging 101 out-of-lane events in 14 days on top of three unshipped fixes for the same mistagged-lane class erodes offPct as a usable loss-predictor for architect and inflates its apparent risk on a change that was in fact correctly scoped and operator-requested; premium is restored only by shipping ask-027 so genuine cross-surface commits stop pricing as drift.

    Open the signed attestation →
  35. 2026-09-17 · 📐 architect · offPct 23

    docs(spec): v67 §8.66 the yield surface over the other two legs (KR48) — off-lane placement mass is the binding leg of the collar, not path breach; the pooled crossing sits at four calls under either breach setting; the Pareto set is empty at the family-wise bar; nothing chosen, nothing priced

    Why it left the lane: (sensemaking unavailable — facts-only intervention)

    Measured outcome (deterministic, not self-graded): room mean offPct 22→26 over 7 commits since

    Open the signed attestation →
  36. 2026-09-17 · 🎩 operator · offPct 44

    fix(pmu): KR30 co-change expansion rewritten wholesale after the D-1 fixture caught a pair-keyed map fed to a file-indexed expansion; the corrected code reproduces 3.3% and +2.2 points at K=3; at K=2 co-change reaches 7.3% of the dark rows and lifts the union rate with its null (excess 16.4/17.7 vs 17.1/17.3 without it) — breadth, not signal; verdict unchanged, recorded as an addendum on the row and in §8.38

    Why it left the lane: (sensemaking unavailable — facts-only intervention)

    Measured outcome (deterministic, not self-graded): room mean offPct 26→32 over 8 commits since

    Open the signed attestation →
  37. 2026-09-17 · 🧪 laboratory · offPct 20 · structural

    fix(leak): base64-packed third parties in the demo fixture — decode before scanning, scrub before shipping

    Why it left the lane: The diff is 68% one file — packages/thetacog-mcp/fixtures/demo-attestation-bundle.json (750 of 1104 insertions) — and that file's own payload is a captured ballistic-walk record whose `sources` arrays contain literal strings 'lane:blog-content', 'lane:pmu-reef', 'lane:infra-hooks', 'lane:testing-gate', 'lane:patent-ip', 'lane:thermodynamics', 'lane:consciousness', 'lane:trust-debt-metric', 'lane:symbol-grounding', 'lane:autocoincidence', 'lane:scheduled-jobs', 'lane:market-posture' (20 lane names in one 'guided:1' attempt, mass=38383) plus repeated 'hat:' tokens spanning A,B,C blocks. The reality-side lexical walk cannot tell 'code that does thermodynamics work' from 'a JSON fixture whose payload happens to contain the string lane:thermodynamics as a recorded sample', so rewriting/expanding this fixture drags the reality placement toward lensReality=C,C2 — a block the actual commit (a base64-decode security fix) never touches in code.

    The semantic pull: The diff's `"sources": ["lane:thermodynamics", "lane:consciousness", "lane:patent-ip", "lane:autocoincidence", ...]` and `"hat:A1,A"`/`"hat:C,A"`/`"hat:C,C"` strings are literal fixture payload, not commit semantics, yet they feed the same bigram/lane scan as real prose. litReality=144 (near-total lattice saturation) and laneHamming=36 sitting only 2 away from the shuffled-null laneHammingNull=38 corroborate this: the reality signal is almost indistinguishable from random, which is what you get when a scan lights up nearly every cell because it's reading a corpus that already contains a sample of every cell.

    Intent–reality gap: The commit message claims a narrow, surgical security fix (decode-before-scan in two guard scripts, a pure scrub function, AB-11 green, gate: MATCH) fenced to a specific leak. The receipt instead reports the reality walk saturating to litReality=144 and landing 7 lane-jumps / 36-hamming from the claimed intent lane B,A1 at C,C2 — a spread whose gap-to-null (2) says the detector is reading noise, not the targeted fix the message describes.

    • Add an exclude/opaque-hash rule for packages/*/fixtures/**/*.json and data/pmu/**/*.ndjson (recorded-walk shape) in the reef walk's file loader, not just this one fixture
    • File tests/pmu-simulator/telemetry-fixture-excluded-from-lane-walk.test.mjs, seen red against 209b9a17d's fixture diff first, green once the exclude rule lands
    • Re-run this commit's receipt with the fixture excluded and confirm offPct drops back under the 15 threshold
    • Wire this sha into tests/pmu-simulator/originating-terminal-matches-surface.test.mjs (ask-027) as a regression case — Originating-Terminal says architect but the event fired under room laboratory
    • Wire this sha into tests/rooms/relevant-rooms-covers-diff.test.mjs (ask-010) — Relevant-Rooms (vault, architect, builder) omits laboratory entirely, so the room this receipt landed under has no claim on the commit at all
    • Backfill-scan the room's other 40 out-of-lane events from the last 14 days for the same 'laneHamming within ~3 of laneHammingNull' signature to size how much of the 41-event backlog is this identical fixture-contamination false positive rather than real drift

    What we learned: A JSON fixture that is itself a captured sample of the lattice walk's own output (lane names and hat coordinates embedded as literal payload) will saturate and randomize any future lexical lane-walk that scans it as if it were prose — the reef walk has no schema-awareness to distinguish 'code that does lane X' from 'a blob whose recorded content happens to contain the string lane:X'. This is new for this room: the three prior events here shipped facts-only interventions with flat or worsening offPct (13, 23→23, 22→23), so no mechanism had previously been identified for why this room's commits keep landing out of lane.

    The missing guard (the deliverable): tests/pmu-simulator/telemetry-fixture-excluded-from-lane-walk.test.mjs — asserts that any file matching the recorded-walk row schema (rows[].source in {commit-intent, commit-reality}, rows[].attempts[].sources) contributes zero lane-vocabulary hits to the reef/lane scan, using this sha's fixture diff as the seen-red fixture.

    Detector probe: signal attribution — gzip reef 25% · ballistic walk 75%. Saturated, not right-sized: litReality=144 (apparently at or near the lattice's own ceiling) means almost every cell is lit, so offPct is close to measuring noise rather than signal (confirmed by the 2-point gap to laneHammingNull). Concrete adjustment: cap the walk's contribution from any single file at a fraction of total mass, or better, opaque-hash recorded-walk-shaped JSON (per code_rewrite) so it can never single-handedly saturate the histogram. Experiments: Exclude packages/*/fixtures/**/*.json and data/pmu/**/*.json from the lexical bigram/lane-vocabulary scan (treat as opaque/hash-only) and re-run this commit's receipt; measurable outcome: offPct falls under 15 without any change to the actual guard-script code · Re-run the walk in schema-aware mode (skip ballistic spread for files whose top-level shape matches rows[].trajectory/attempts/sources) and compare its laneHamming-to-null gap against the current run's gap of 2; measurable outcome: the schema-aware variant should show a gap >5, i.e. a real signal · Across the room's other 40 out-of-lane events in the last 14 days, compute the laneHamming-to-laneHammingNull gap for each; measurable outcome: count how many share a gap <3 (this commit's signature), which sizes how much of the room's backlog is this same false-positive class versus genuine drift

    Measured outcome (deterministic, not self-graded): room mean offPct 22→11 over 3 commits since · dictionary ablation saved 751B

    A false-positive drift event like this raises this lane's apparent loss ratio without any real defect underneath, which either forces a premium hike nobody's risk changed or trains the room to ignore its own offPct alarms — restored by shipping the fixture-exclusion guard so the receipt only fires on real cross-lane work.

    Open the signed attestation →
  38. 2026-09-17 · 📐 architect · offPct 31

    ledger+spec(pmu): B2 and B3 rows; §8.50 v51 WHERE THE VALUE IS — agreement not prediction: the settlement datum as the clearing primitive; B13 the verifier, B12 sensor-keyed rows, the rider template, the interchange framing

    Why it left the lane: (sensemaking unavailable — facts-only intervention)

    Measured outcome (deterministic, not self-graded): room mean offPct 22→30 over 10 commits since

    Open the signed attestation →
  39. 2026-09-17 · 🎩 operator · offPct 42

    feat(pmu): KR41 STEERING WORK, defined before it is priced — KL(P_walk ‖ P_inertia) per lane on the 12×12 with an in-lane pairing null and a within-room null, the escape-velocity gap beside it as the measured cousin, rank agreement across lanes; W is information, not difficulty, until it clears

    Why it left the lane: (sensemaking unavailable — facts-only intervention)

    Measured outcome (deterministic, not self-graded): room mean offPct 26→32 over 8 commits since

    Open the signed attestation →
  40. 2026-09-17 · 🔨 builder · offPct 28 · structural

    feat(deck/insure): the maintenance interval is the renewal number — read from the tally, at the floor today; version, receipts, downloads and the breaker's direction words all generated

    Why it left the lane: The commit subject reads feat(deck/insure) and Originating-Terminal is 🎤 voice, but of the 256 diff insertions, roughly 221 (scripts/pmu/emit-deck-facts.mjs 89 + tests/deck/insure-facts-derived.test.mjs 79 + src/data/deck-facts.json 29 + tests/deck/insure-deck-is-live.test.mjs 24) sit outside 🔨 builder's owned globs (src/app/, src/components/, src/lib/, public/, and a short scripts/* allowlist that does NOT include scripts/pmu/**), while only src/app/deck/insure/page.tsx (35 lines) sits inside. emit-deck-facts.mjs's own header even names its sibling: 'same defect class as the breaker figures (tests/deck/insure-breaker-derived.test.mjs)... AXIOM 1, W6' and reads data/fable-maintenance/tally.ndjson directly — the ratchet's own tally, not a builder surface. That mass pulled the placement toward the pmu/measurement lane telemetry shows as lensReality=A1,B3 diverging from lensIntent=A,A3, laneJump=3, litReality=128 vs litIntent=140 with prewalkOverlap only 4.

    The semantic pull: 'emit-deck-facts.mjs', 'data/fable-maintenance/tally.ndjson', 'the ratchet's last tally row', and 'breaker-backtest.mjs' — all pmu-emitter vocabulary reused verbatim from the sibling generator scripts.pmu/breaker-backtest.mjs — are the strings that anchor the bulk of the diff outside src/app/**, dragging reality toward lensReality=A1,B3 away from the claimed lensIntent=A,A3.

    Intent–reality gap: The message claims a builder-lane UI fix ('the deck reads them... version, receipts, downloads and the breaker's direction words all generated'), and Relevant-Rooms does correctly list 🔒 vault alongside 🔨 builder — but the receipt still attributes the full 28% off-lane mass to 🔨 builder alone, because the lane-measurement pipeline never consults the Relevant-Rooms trailer (as fb93ed948 already found) and has no owned-surface glob for scripts/pmu/** at all.

    • Split future 'typed-literal → generated fact' fixes into a pmu-emitter commit and a page-wiring commit at commit time, not after the fact
    • Add scripts/pmu/** to 🔒 vault's owned-surface glob (wherever room ownership is declared) so this class of file has a room at all
    • Ship tests/rooms/relevant-rooms-covers-diff.test.mjs (ask-010, already asked 7×) so the lane measurement unions all Relevant-Rooms globs instead of scoring the Originating-Terminal room alone
    • Confirm tests/ own no single room today (ask-003, tests/pmu-simulator/shared-state-files-have-room-owner.test.mjs) — tests/deck/*.test.mjs is unowned mass on every such commit
    • Document the generator/consumer pairing convention (scripts/pmu/emit-*.mjs ↔ src/app/deck/*) in docs/architecture so it's named rather than rediscovered per incident

    What we learned: This is not a one-off mistag: every 'typed literal → generated fact' fix in this deck follows the SAME generator/consumer pairing (a new scripts/pmu/emit-*.mjs mirroring an existing sibling like breaker-backtest.mjs, paired with a src/app/deck/* page read) — so the room-ownership globs, fixed at a point in time, guarantee a recurring multi-room split for this entire class of fix, not just this commit.

    The missing guard (the deliverable): tests/rooms/relevant-rooms-covers-diff.test.mjs

    Detector probe: signal attribution — gzip reef 60% · ballistic walk 40%. litIntent=140 vs litReality=128 (walksReality trailing by 12, ~8.6%, though walkTruncated=false) plus laneHamming tying its own null suggests the walk is not under-saturated but IS under-resolving: it isn't adding placement signal beyond the reef seed. Concrete adjustment: when prewalkOverlap is this low relative to litIntent (<5%), increase walk fanout/depth specifically for that event so it has room to reconverge past a near-zero-overlap reef seed, rather than running the same fixed depth as a high-overlap event. Experiments: For commits whose diff spans ≥2 rooms' owned globs (as this one spans builder+vault), pre-seed the reef with both rooms' lexicons before the walk and measure whether offPct concentrates in one lane or spreads evenly — this discriminates structural from mistagged automatically instead of by narrative. · Recompute laneHammingNull for this sha against 20 independent shuffles instead of the current single value; if the null's variance is ~0, the null generator isn't actually randomizing and laneJump/laneHamming comparisons are meaningless across the whole ledger, not just here. · Ablation-replay the last 20 multi-room-declared events (Relevant-Rooms with >1 room) with offPct computed as a union of all declared rooms' globs vs the current single-room score, and measure the mean offPct delta — this tests ask-010's expected benefit before it ships.

    Measured outcome (deterministic, not self-graded): room mean offPct 26→18 over 6 commits since · dictionary ablation saved 1018B

    A structural gap that has already cost this room offPct 30→40 once (fb93ed948) and now recurs at 28% with the guard still unshipped after 7 asks raises this lane's loss ratio on every future generator+consumer-paired commit; the premium resets only when tests/rooms/relevant-rooms-covers-diff.test.mjs actually lands, not when it's diagnosed again.

    Open the signed attestation →
  41. 2026-09-17 · 📐 architect · offPct 33

    spec(pmu): §8.41 v42 THE OBJECTIVE IS NOT THE NEXT COMMIT — the hit-rate is the projection's sufficiency floor, never the target; provenance, drift and the affordance are what is chased; nine claims the ledger backs, ranked by what would break them

    Why it left the lane: (sensemaking unavailable — facts-only intervention)

    Measured outcome (deterministic, not self-graded): room mean offPct 22→30 over 10 commits since

    Open the signed attestation →
  42. 2026-09-17 · 🧭 navigator · offPct 54

    feat(pmu): KR39 and KR41's arithmetic follow KR34/KR40 into the crate — --aperture-read and --steering-read (B4, house rule 11)

    Why it left the lane: (sensemaking unavailable — facts-only intervention)

    Measured outcome (deterministic, not self-graded): room mean offPct 3→34 over 8 commits since

    Open the signed attestation →
  43. 2026-09-17 · ☕ network · offPct 30

    fix(ops): the quiet gate asked for node before node was on PATH — four launchd jobs deferred every tick for 20 hours, the 2026-09-16 book club never sent

    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 →
  44. 2026-09-17 · 🧪 laboratory · offPct 36

    feat(formal): F16/F17 — the floors are a proved max-fold (and the statement was wrong before the code was), perm_verdict extracted from two inline copies and exceedance proved monotone, tape determinism guarded; PROVED 8 → 10, white space 6 → 4

    Why it left the lane: (sensemaking unavailable — facts-only intervention)

    Measured outcome (deterministic, not self-graded): room mean offPct 22→11 over 3 commits since

    Open the signed attestation →
  45. 2026-09-17 · 🔨 builder · offPct 30

    chore(blog): cook tape round 17 + panel strip

    Why it left the lane: (sensemaking unavailable — facts-only intervention)

    Measured outcome (deterministic, not self-graded): room mean offPct 26→19 over 7 commits since

    Open the signed attestation →
  46. 2026-09-17 · 🎩 operator · offPct 36 · mistagged

    fix(pmu): the receipt producer is a leaf — transcript-paths.mjs carries the two transcript helpers attest-bundle.mjs needs, so the public bundler no longer follows kr33-uptake → kr31 → the reading chain and stages the prompt corpora; the tarball guard and the mirror denylist name the corpora as private

    Why it left the lane: None of the five touched paths (scripts/mirror-to-public.sh, scripts/pmu/attest-bundle.mjs, scripts/pmu/kr33-uptake.mjs, scripts/pmu/transcript-paths.mjs, tests/ops/npm-pack-no-leak.test.mjs) fall inside any operator glob (data/trust-debt/, docs/03-product/MVP/ORTHOGONAL_HEATMAP_MVP_SPEC.md, docs/01-business/pipeline/, docs/01-business/accounting/, data/pmu/pipeline/, data/pmu/claudbridge/, public/pmu-demo/, docs/ops/dashboard*, public/dashboard*) — zero-overlap by construction. The vocabulary that IS present ('leaf', 'closure', 'reading chain', 'corpora', 'mirror', 'tarball guard', 'denylist', kr33/kr31 import graph) is PMU-pipeline-plumbing language, and the commit's own trailers already route it correctly: Originating-Terminal: 📐 architect, Relevant-Rooms: architect, builder, vault. 'operator' appears in NEITHER. lensIntent=B,A1 vs lensReality=A3,B with laneHamming=30 (vs null=18) confirms a real above-noise jump away from whatever B/A1 maps to.

    Intent–reality gap: The commit's own paperwork names architect/builder/vault as the accountable rooms and touches zero operator-owned paths, yet this receipt was billed against 🎩 operator's lane — the room attribution the pipeline used to score this event contradicts the trailers the commit shipped with.

    • Patch src/lib/pmu/room-key.mjs so roomFromCommitTrailer trusts Relevant-Rooms/Originating-Terminal over any path-heuristic fallback
    • Add commit 52d785351c as a golden fixture for tests/pmu-simulator/originating-terminal-matches-surface.test.mjs (ask-027)
    • Write tests/rooms/relevant-rooms-covers-diff.test.mjs (ask-010) using this same commit — Relevant-Rooms named architect/builder/vault, diff touches only their paths, operator should score zero
    • Batch-recompute room assignment for the 50 operator out-of-lane events from the last 14 days against the fixed room-key logic and report how many silently reclassify away from operator
    • Add scripts/pmu/** and scripts/mirror-to-public.sh to an explicit architect/builder owned-surface glob so future classification has an authoritative source distinct from operator's list

    What we learned: Before treating a room's out-of-lane rate as a behavioral signal (operator: 50 events/14d), first check whether the room key itself is trustworthy — this event shows the classifier can bill a commit to a room the commit's own trailers explicitly exclude, meaning some fraction of 'operator drift' may be measurement artifact, not operator misbehavior. This is upstream of the three prior room-mean-offPct lessons, which all treated the room population as given.

    The missing guard (the deliverable): tests/pmu-simulator/originating-terminal-matches-surface.test.mjs

    Detector probe: signal attribution — gzip reef 70% · ballistic walk 30%. litIntent/litReality at 138/140 against a 144-cell lattice is ~96-97% lit on both sides — this reads SATURATED, not discriminating. A walk lighting nearly the whole lattice regardless of the actual commit's narrow scope (5 files, one import fix) can't cleanly separate signal from noise. Adjustment: tighten the lighting/stopping criterion (raise the threshold that marks a cell 'lit') so a narrowly-scoped commit like this one lights closer to its true footprint instead of near-total coverage. Experiments: Re-run roomFromCommitTrailer against every commit in the last 30 days with an explicit Relevant-Rooms trailer and count divergences between resolved room and trailer-declared set; success = 0 after the room-key.mjs fix lands · Recompute room assignment for the 50 flagged operator out-of-lane events under the fixed logic and measure what fraction reclassify to a different room; a material fraction (predict >10%) would confirm this is a systemic measurement artifact, not isolated to this sha · Sweep the lit-threshold parameter on 5-10 known narrowly-scoped commits (single-file fixes) and find the setting where litIntent/litReality drop well below the ~138/144 saturation seen here, then re-check laneHamming still separates from laneHammingNull at that setting

    Measured outcome (deterministic, not self-graded): room mean offPct 26→32 over 8 commits since · dictionary ablation saved 936B

    If a material share of operator's 50 flagged events in 14 days are room-misattribution artifacts like this one, operator's measured loss-ratio is inflated by noise that properly belongs to architect/builder's book; landing the room-key fix and ask-027 re-prices both lanes correctly rather than lowering operator's premium on faith.

    Open the signed attestation →
  47. 2026-09-17 · 📐 architect · offPct 51

    docs(spec): v58 §8.57 THE WHITESPACE LEDGER — 46 rows across every surface, the three that unlock the most, four rows closed tonight (the miss rate, six retractions twice, the three npx commands and the unmerged-branch finding behind them), B20 the shipped crate is the canonical crate with parity proved on a scratch build — 102 rows

    Why it left the lane: (sensemaking unavailable — facts-only intervention)

    Measured outcome (deterministic, not self-graded): room mean offPct 22→30 over 29 commits since

    Open the signed attestation →
  48. 2026-09-17 · 📐 architect · offPct 33

    docs(spec): v63 §8.62 THE DECLARATION THE RECORD WOULD NEED (KR46) — per lane the prefixes a declaration would need, the minimal sets for two pre-registered targets, a counterfactual curve labelled as one and never forwarded, the aperture check on it; finding: depth-two prefixes barely move the curve because the touches are too scattered — the declaration lever at that depth is weaker than §8.59 read it

    Why it left the lane: (sensemaking unavailable — facts-only intervention)

    Measured outcome (deterministic, not self-graded): room mean offPct 22→29 over 13 commits since

    Open the signed attestation →
  49. 2026-09-17 · ☕ network · offPct 30

    comms(external+self): the three-kingdoms kit — the FINPRO angle answered to Paul on his own condition, the cyber half to Tom on his referral, the placement half to Christos in his current seat (advice register, v2), Adam told first — all NOT ARMED, carried verbatim to the operator

    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 →
  50. 2026-09-17 · 🎤 voice · offPct 33

    post(blog): the formal-methods case for the pricing math, written by a Fable subagent from the property ledger and installed as The Market's math — every figure a row with its status: the commit as the unit with tags that refuse to add (KR40 U-1), medians 40,079 / 5.33 / 12 over 621, cogs through the table pinned 2026-09-17 to the vendors' token prices and BLS OEWS May 2025 ($65.38/h; one commit $13.37, KR43), yield 0 of 142 so every per-pass floor prints UNMEASURED and the crate is proved never to print infinity (E4), σ as the top cell's margin in SDs with a null proved to be a permutation of the labels (V3) and an estimator proved level-invariant (V1), 24 pre-registered cells and two nulls that did not clear (KR34), the two-way optimisation, and the follow-up on the map of maps — grip as steering against a shuffled-pairing null, likelihood × worth in cogs as what a task is worth before it runs, the meter at 0.183 vs 0.169, z 0.5, at the null, no floor set, 85% the bar it is built to ratchet toward; parity to a millionth (E6)

    Why it left the lane: (sensemaking unavailable — facts-only intervention)

    Measured outcome (deterministic, not self-graded): room mean offPct 18→9 over 6 commits since

    Open the signed attestation →
  51. 2026-09-17 · 🔨 builder · offPct 27

    fix(blog): the list card shows the post's own commit panel, not the thumbnail of a video it cites

    Why it left the lane: (sensemaking unavailable — facts-only intervention)

    Measured outcome (deterministic, not self-graded): room mean offPct 26→22 over 6 commits since

    Open the signed attestation →
  52. 2026-09-17 · 📐 architect · offPct 26

    docs(spec): v61 §8.60 written — the previous commit carried the B22 ledger row without the section that names it (a script threw on a changelog anchor and the chain did not stop), so the ledger guard was red for one commit; this restores green and replaces the v61 stub with the section

    Why it left the lane: (sensemaking unavailable — facts-only intervention)

    Measured outcome (deterministic, not self-graded): room mean offPct 22→29 over 13 commits since

    Open the signed attestation →
  53. 2026-09-17 · 📐 architect · offPct 48

    docs(spec): v68 §8.67 the pass that caught its author — maintenance pass 6 fired by hand after 413 prompts, sixteen defects, the coordinator's baseline inference corrected (pass 5 skipped the guards), 135 simulator reds triaged into moved-surface (fixed), tonight's regressions (fixed), live-data and pre-existing (named, with real defects among them); 123 remain

    Why it left the lane: (sensemaking unavailable — facts-only intervention)

    Measured outcome (deterministic, not self-graded): room mean offPct 22→26 over 7 commits since

    Open the signed attestation →
  54. 2026-09-17 · 📐 architect · offPct 32

    ledger(pmu): B2 anchor without the curly apostrophe the test title does not carry

    Why it left the lane: (sensemaking unavailable — facts-only intervention)

    Measured outcome (deterministic, not self-graded): room mean offPct 22→30 over 10 commits since

    Open the signed attestation →
  55. 2026-09-17 · 🧪 laboratory · offPct 43 · mistagged

    feat(blog): the cook opens the txt on every write — mdx-cook-check.sh re-renders and opens the post's monologue surface when the post is newer than its txt, opener overridable so the guard can watch the door

    Why it left the lane: The diff is pure infra-script + test-suite plumbing (env-var wiring in blog-txt.mjs, veto/opener logic in mdx-cook-check.sh, a new node:test file) — a class .workflow/rooms/cursor-laboratory.html:721 names verbatim as forbidden ('scripts/build-book-html.sh and infra scripts — owned by 🔨 Builder'). The event was scored against room 🧪 laboratory whose owned surface (.claude/, .mcp.json, thetacoach-crm-mcp/, swarm-comms/, .thetacog/orchestrator/) touches none of the changed paths, while the commit's own trailers say Originating-Terminal: architect, Relevant-Rooms: architect,builder,operator — laboratory is never claimed by the commit itself.

    The semantic pull: Tokens like MDX_COOK_OPEN_CMD, BLOG_TXT_OPEN_CMD, NODE_TEST_CONTEXT, CI, MDX_COOK_NO_OPEN, spawnSync are infra/env-wiring vocabulary, structurally Ops-lane, not blog-content vocabulary — this pulled lensReality to C,A (Ops.Grid territory per the poster's 'pull: C,B3 ──► C1,B3 Ops.Grid×Tact.Signal') away from the claimed lensIntent B3,B1 (blog/content coordinate). laneJump=6 and laneHamming=26 (vs null 30) confirm a real but weak-magnitude lane crossing.

    Intent–reality gap: The commit correctly claims feat(blog) work scoped to architect/builder/operator (via trailers) — the code IS correctly-placed infra work for the blog pipeline. The drift receipt instead attributes the event to room 🧪 laboratory, a room whose declared owned surface and sibling doc (cursor-laboratory.html:721-722) explicitly forbid exactly this class of file (infra scripts, blog content).

    • Implement the spec'd-but-missing scripts/room-drift-cursor-check.sh (named in .workflow/rooms/cursor-laboratory.html:736) so a staged scripts/blog/** or tests/blog/** file under an active laboratory/cursor session context is rejected before commit, not diagnosed after the receipt lands.
    • Add scripts/blog/**, tests/blog/** as an explicit (not prose-only) forbidden glob in .workflow/rooms/cursor-laboratory.html's forbidden-surface list, matching what's already prose-described at line 721.
    • Extend tests/ops/room-surface-coverage.test.js (ask-001) to assert scripts/blog/** and tests/blog/** resolve to builder/voice ownership across all 9 room manifests, never laboratory/lab-claude.
    • Wire tests/pmu-simulator/originating-terminal-matches-surface.test.mjs (ask-027) to flag any event where the scored room is absent from the commit's own Relevant-Rooms trailer — this event is exactly that case.
    • Audit the other 38 out-of-lane laboratory events in the last 14 days for the same room/surface mismatch before writing them off as independent incidents.

    What we learned: The room-attribution layer that scores drift events can disagree with the commit's own trailers and with the target room's own written forbidden-surface list simultaneously — the drift-detection hook meant to catch this (scripts/room-drift-cursor-check.sh) has been spec'd since before this event but was never built, so the mismatch reaches the receipt pipeline instead of being blocked at commit time.

    The missing guard (the deliverable): tests/ops/room-surface-coverage.test.js

    Detector probe: signal attribution — gzip reef 65% · ballistic walk 35%. Right-sized in budget (walkTruncated=false, 1:1 walked==lit on both sides) but under-discriminating in outcome (laneHamming barely clears the null) — the bottleneck looks like lexicon coverage, not depth. Concrete adjustment: before adding walk depth, seed the infra/env-var vocabulary from this diff into the compression dictionary and re-check whether laneHamming separates further from null at the same walk budget. Experiments: Ablation: add MDX_COOK_OPEN_CMD, MDX_COOK_NO_OPEN, NODE_TEST_CONTEXT, spawnSync to the compression dictionary and recompute laneHamming/null-gain on this sha plus the other 38 laboratory out-of-lane events from the last 14 days; measure whether gain crosses 0.015 at z≥2. · Re-seed the reef corpus to exclude scripts/blog/** and tests/blog/** from the laboratory/lab-claude room's candidate pool entirely (per the room's own forbidden-surface doc) and measure whether offPct against laboratory drops to near-zero for blog-tooling commits going forward. · Compare prewalkOverlap across the 39 laboratory out-of-lane events from the last 14 days — if most cluster at prewalkOverlap<5 like this one, that's a cheap pre-walk gate: route to a room-mismatch check before spending the walk budget at all.

    Measured outcome (deterministic, not self-graded): room mean offPct 22→11 over 3 commits since · dictionary ablation saved 423B

    A mistagged-room event inflates laboratory's apparent loss-ratio on work it never touched and masks whether laboratory's actual owned surface (MCP/memory/swarm-comms) is drifting at all; premium is restored by shipping the room's own already-spec'd drift-detection hook rather than absorbing 39 more unexplained events into its 14-day count.

    Open the signed attestation →
  56. 2026-09-17 · 🧭 navigator · offPct 29

    feat(verify): B19 the attestation bundle — a git-independent commit-receipt envelope (rows, walked texts, reef and axes bytes, the commit-unit covenant, an envelope signature) that npx thetacog-mcp verify checks on a stranger's laptop; verify --demo round-trips on a shipped fixture; prompt rows verify by hash commitment unless an auditor supplies the text

    Why it left the lane: (sensemaking unavailable — facts-only intervention)

    Measured outcome (deterministic, not self-graded): room mean offPct 16→34 over 8 commits since

    Open the signed attestation →
  57. 2026-09-17 · 🧪 laboratory · offPct 26

    feat(ops): tccd-watch — name the TCC service a hot tccd is serving, kill it only if the process is ours

    Why it left the lane: (sensemaking unavailable — facts-only intervention)

    Measured outcome (deterministic, not self-graded): room mean offPct 22→11 over 3 commits since

    Open the signed attestation →
  58. 2026-09-17 · 🧭 navigator · offPct 20

    fix(mcp): vega-backtest / advisory-premium / trigger-battery now dispatch — an unrecognized subcommand no longer starts the MCP server

    Why it left the lane: (sensemaking unavailable — facts-only intervention)

    Measured outcome (deterministic, not self-graded): room mean offPct 16→34 over 8 commits since

    Open the signed attestation →
  59. 2026-09-17 · 📐 architect · offPct 39

    spec(pmu): §8.39 v40 THE ASSUMPTIONS LEDGER — 23 assumptions the night held, ours and the pastes', each paired with the reading that decided it: 9 refuted, 7 borne out, 3 partly, 3 reframed or narrowed; 6 still untested and named with their falsifiers

    Why it left the lane: (sensemaking unavailable — facts-only intervention)

    Measured outcome (deterministic, not self-graded): room mean offPct 22→30 over 3 commits since

    Open the signed attestation →
  60. 2026-09-17 · 🎩 operator · offPct 25

    fix(pmu): ground the third ungrounded 144-library cell B,A1 — real Tactics + Strategy.Law text, not an exemption

    Why it left the lane: (sensemaking unavailable — facts-only intervention)

    Measured outcome (deterministic, not self-graded): room mean offPct 27→32 over 8 commits since

    Open the signed attestation →
  61. 2026-09-17 · 🔨 builder · offPct 34

    feat(site): the attestation standard on /playbook and what the caliper returns on /cta — self-report carries no information, tape not brake, the room is the confound of record, the trigger; zero unearned spreads stated

    Why it left the lane: (sensemaking unavailable — facts-only intervention)

    Measured outcome (deterministic, not self-graded): room mean offPct 26→18 over 6 commits since

    Open the signed attestation →
  62. 2026-09-17 · 🔨 builder · offPct 36

    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 26→22 over 6 commits since

    Open the signed attestation →
  63. 2026-09-17 · 🧪 laboratory · offPct 29

    fix(hook): the arm assignment stamp is ISO again — macOS date has no %3N, so every row since the knob move read '…43.3NZ' and the first arm read saw zero post-wire sessions; the guard now reads both stamps and forbids %3N in the hook

    Why it left the lane: (sensemaking unavailable — facts-only intervention)

    Measured outcome (deterministic, not self-graded): room mean offPct 22→11 over 3 commits since

    Open the signed attestation →
  64. 2026-09-17 · 🎩 operator · offPct 51

    feat(pmu): the lift-off effect named upstream and down — the first coverage round (ladder-always: coverage 37 → 98%, whole effect +2.6/+2.4 → +5.6/+4.8, margin where the walk speaks 7.6/5.8 → 5.7/5.0, B's discordant edge lost significance — TIE by the pre-stated rule, pin unchanged); FUMBLING IN THE DARK measured from the transcripts (gropes before the first touch: silent 12.3 · lens wrong 6.8 · lens right 4.1, length-controlled); THE CACHE MISS (new-file rate 66 → 36%; reinvention and rule breaks unmoved) — spec §8.36 v37, rule 15, guards CV-1..2 and F-1..4

    Why it left the lane: (sensemaking unavailable — facts-only intervention)

    Measured outcome (deterministic, not self-graded): room mean offPct 26→32 over 8 commits since

    Open the signed attestation →
  65. 2026-09-17 · 🔨 builder · offPct 33

    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 26→18 over 6 commits since

    Open the signed attestation →
  66. 2026-09-17 · ☕ network · offPct 46

    comms(external): Message X v2 subject matches the literal referral — Paul suggested Adam bring this to you

    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 →
  67. 2026-09-17 · 🎩 operator · offPct 61

    chore(commit-page): panel-repair 3cb7d0751 — re-grounded panels [panel-attached]

    Why it left the lane: (sensemaking unavailable — facts-only intervention)

    Measured outcome (deterministic, not self-graded): room mean offPct 27→32 over 8 commits since

    Open the signed attestation →
  68. 2026-09-17 · 🎤 voice · offPct 18 · structural

    content(blog): Borrowed Floor pass-2 — de-jargon per qwen ghost-read (over-my-head cluster)

    encircled drift panel for 9db9cb8c6

    Why it left the lane: The commit is a narrow wording pass (qwen-graded glossary fixes), but the diff's edited clauses sit inside argument-dense paragraphs whose UNCHANGED neighbor sentences carry two distinct topic loads the walk read as if touched: (1) 'A person cannot read meaning at machine speed... The moment the machine outruns the reader' (section B/E area) — 'speed'/'outruns' is literal velocity language that lands in the tempo/grid cluster (regions 2,3,5,6: 'high speed and tempo beats... velocity', 'route topology and grid paths... speed and tempo of power flow'); the DEFINER CHAINS confirm this is one connected spread: B2,C1→B2,C2/C3→B3,C2/C3→C1,C3. (2) The T.J. Hooper/negligence/'standard the reinsurers are about to be forced to adopt' paragraph and the 'unit... track record... actuary... premium' paragraph (sections D/H, edited around but not those sentences) pull into the legal/budget/governance cluster (regions 1,4,7,8: 'budget runway... iterative feedback loop', 'legal binding mandates and governance rules... quarterly goal position') — again one connected chain: C2,A2→C2,A3→C2,B1/B2/B3→C2,C1/C2/C3→C3,C2. The commit message's own 'tighten the Richter beat in F' supplies the seed pun — 'beat' as prose-pacing craft-jargon homonym-collides with the lattice's tempo/velocity business sense.

    The semantic pull: Two literal diff strings do the dragging: 'at machine speed' / 'the machine outruns the reader' (tempo-velocity-grid cluster) and the unchanged T.J. Hooper / 'unit... premium... actuary' paragraphs sitting immediately adjacent to the edited lines in D and H/I (legal-governance-budget cluster). Both clusters trace a single connected definer-chain walk from two ply0 seeds, meaning the walk is following real adjacency in the lattice, not noise — but the thing seeding those ply0 cells is unified-diff CONTEXT (unchanged lines shown around the hunk), not the actual +/- delta the operator wrote.

    Intent–reality gap: The commit claims a bounded wording-substitution pass ('surgical fixes... define plainly... gloss inline') entirely inside the room's own owned blog-lane. The receipt measured 18% of lit reality mass landing in tempo/power-grid and legal/governance/budget cells that the commit never claims and the diff never edits — it measured the paragraphs the edits sit inside, not the edits themselves.

    • Re-run this commit's walk with `git diff -U0` (no context) vs the current default and compare offPct/laneHamming to confirm the context-bleed hypothesis before shipping the fix broadly.
    • Surface `laneHamming - laneHammingNull` (here 34-32=2) as a displayed confidence gap on receipt rows; flag interventions where the gap is small (<~5) as low-confidence before spending a fire on them.
    • File the new guard tests/pmu-simulator/diff-context-lines-not-credited-to-hunk-lane.test.mjs — none of the ten open asks cover diff-context bleed specifically.
    • Add a convention note to docs/architecture/claude-rules/build-and-format.md: word-substitution/glossary passes (insertions == deletions per hunk, same line count) should be diff-stat-flagged as narrow-lane before the walk runs.
    • Ablate on the last 20 prose-only 🎤 voice commits: recompute offPct with -U0 vs -U3 diffs, check whether the laneHamming-vs-null gap widens (better discrimination) under -U0.

    What we learned: This is the room's first full sensemaking pass (all three priors were facts-only) and it surfaces a new structural fact: the walk's placement is seeded from full diff-hunk context (unchanged neighbor lines), so a pure word-substitution edit inside an argument-dense paragraph inherits credit for whatever topic that paragraph happens to be arguing — and for this event the detector's own laneHamming (34) sits only 2 above its null-shuffle floor (32), meaning the three prior facts-only interventions on this room (which each preceded offPct RISING: 27→39, 21→31, 0→36) may have been reacting to near-noise-level signal rather than real cross-lane drift.

    The missing guard (the deliverable): tests/pmu-simulator/diff-context-lines-not-credited-to-hunk-lane.test.mjs — asserts the walk's ShortLex seed for a hunk is derived only from +/- delta lines, never from the surrounding unified-diff context, so an unchanged neighboring paragraph's topic cannot inflate offPct for a narrow substitution commit.

    Detector probe: signal attribution — gzip reef 20% · ballistic walk 80%. Right-sized in depth (not truncated) but mis-scoped in width: 100% lit-rate on both sides plus a laneHamming only 2 above its null floor (34 vs 32) suggests the walk is spreading through context it shouldn't be reading rather than being too shallow or saturated. Concrete adjustment: re-derive the seed from -U0 diffs (checklist #1) and re-check whether the lit-rate drops closer to the actual edited-token footprint. Experiments: Recompute this commit's receipt with git diff -U0 instead of the default context window and diff offPct/laneHamming against the shipped row. · Track laneHamming-minus-laneHammingNull as a per-row confidence score; backtest it against the room's last 20 events to see if low-gap rows correlate with the offPct-rising pattern noted in the lesson. · Re-run the last 3 'facts-only' interventions for 🎤 voice through a full sensemaking pass now that this one exists, to check whether their room-mean-rising outcomes were driven by the same context-bleed mechanism.

    Measured outcome (deterministic, not self-graded): room mean offPct 18→9 over 6 commits since · dictionary ablation saved 870B

    A drift signal sitting only 2 above its own null-shuffle floor should not move this lane's loss-ratio at all — what restores the premium is the context-stripped re-seed confirming (or retracting) the 18% offPct before it's priced as real cross-lane work.

    Open the signed attestation →
  69. 2026-09-17 · 🎤 voice · offPct 28 · mistagged

    post(blog): THE INVARIANT IS A SENTENCE — Section 13 THE ENVELOPE: the sixth retraction (every covenant pass was a turn that touched nothing; 0 of 424, yield 0 of 142), the envelope's formal methods as seven tests (unit tags, no dollar without a date, homogeneity, monotone in yield, the commit unit with its splitting fixture, the aperture as a permutation of the map, hurdle and room), what the record gives per commit and the floor it cannot give, steering work with a null that is an identity, the job above the commit on a ledger with no closes, the receipt that verifies with no git, six things left with the reader that fills each

    Why it left the lane: The diff's added prose is saturated with architect/builder-lattice vocabulary — exact script paths (`scripts/pmu/kr39-aperture.mjs`, `kr40-cost-envelope.mjs`, `kr41-steering-work.mjs`, `kr42-job-units.mjs`, `scripts/pmu/attest-bundle.mjs`, `scripts/pmu/verify-row.mjs`), formal-method jargon ("unit tags", "the covenant", "the collar", "the null", "z", "MATCH and exit zero", "UNVERIFIABLE, exit two"), and a spec citation (`docs/architecture/fable-maintenance-ratchet.md`). That lexicon is the same lexicon the lattice uses to place architect/builder work, so the walk lit cell B on the reality side while the intent lens (derived from the commit trailer) stayed at A3,A1.

    The semantic pull: lensReality moved A3→B (laneJump=4, laneHamming=26 vs null 38 — a real but partial jump) purely from lexical density of code identifiers and proof-verification terms inside what is otherwise narrative blog prose; litIntent=141/litReality=123 shows the reality walk was fully saturated (walksReality=litReality=123, no truncation) but concentrated into fewer distinct cells than intent, consistent with repeated technical tokens collapsing onto the same B-region coordinates.

    Intent–reality gap: The commit trailer claims 'Originating-Terminal: 📐 architect (vscode)' and 'Relevant-Rooms: architect, navigator, builder' while 100% of the touched paths (`src/content/blog/2026-09-16-the-invariant-is-a-sentence.mdx`) sit inside voice's exclusively-owned glob — voice is never named as a relevant room even though it is the sole room whose owned surface the commit touches, so the receipt's intent lens is computed from a mis-scoped trailer rather than from the actual ownership.

    • Ship tests/pmu-simulator/originating-terminal-matches-surface.test.mjs (ask-027, already asked 11×) rather than deferring it again — this exact event is its 12th reproduction
    • Add a pre-commit lint: if 100% of staged paths match one room's owned-surface glob, that room's name MUST appear in Relevant-Rooms, regardless of which terminal typed the commit
    • Cross-check tests/ops/room-glob-overlap.test.mjs (ask-024) to confirm no other room's glob also claims src/content/blog/*.mdx before assuming voice is the sole legitimate claimant
    • Audit the room's other 109 out-of-lane events in the last 14 days for the same Originating-Terminal≠owned-room pattern before writing a new lesson — if most share it, ask-027 alone may close the majority of this room's backlog
    • Re-score this same commit with the trailer corrected (voice added to Relevant-Rooms) and record whether lensIntent shifts enough to close the offPct gap, isolating the metadata-mismatch contribution from the lexical-pull contribution

    What we learned: This room's chronic high-offPct pattern (110 events/14 days, 3 prior interventions that each left offPct worse) is not purely a content problem — at least this instance is a metadata problem: architect-terminal sessions write voice-owned blog files and file the commit trailer under their own room instead of the room that owns the touched glob, so lensIntent is computed from the wrong claim before the walk even runs. The prior three 'facts-only' interventions couldn't fix this because none of them touched the trailer-authorship gap — they treated it as a content-drift problem when part of it is an attribution-authorship problem.

    The missing guard (the deliverable): tests/pmu-simulator/originating-terminal-matches-surface.test.mjs (ask-027)

    Detector probe: signal attribution — gzip reef 25% · ballistic walk 75%. Right-sized, not shallow: walksIntent=litIntent=141 and walksReality=litReality=123 (walkTruncated=false) — every walk step lit a new cell on both sides, no wasted or truncated steps. The asymmetry (141 vs 123) shows reality's content concentrated into fewer distinct cells despite a longer diff, i.e. repeated technical tokens collapsing onto the same handful of B-region coordinates rather than the walk running out of depth. Experiments: Re-run the reef prewalk with the closing 'Sources:' citation paragraph masked out and diff prewalkOverlap/offPct against the unmasked run, to measure how much of the 28% comes from the citation list alone vs the narrative body · Re-score this exact commit with Relevant-Rooms corrected to 'voice, architect, builder' (no other change) and record whether lensIntent shifts enough to close the gap — isolates the trailer-mismatch contribution from the lexical-pull contribution · Seed a room-specific reef sub-corpus built only from voice's prior 'proof-grounded addendum' sections (the same rhetorical genre) and compare prewalkOverlap against the generic voice-room corpus, to test whether this genre needs its own reef rather than being scored against generic blog prose

    Measured outcome (deterministic, not self-graded): room mean offPct 18→9 over 6 commits since · dictionary ablation saved 530B

    Layered onto 110 prior out-of-lane events in 14 days and three prior interventions that each left offPct worse (27→39, 21→31, 0→36), this event marks 🎤 voice as a chronic high-loss-ratio lane whose premium should stay elevated until ask-027's guard actually ships — restoring the premium requires a shipped test, not another sensemaking-only pass.

    Open the signed attestation →
  70. 2026-09-17 · 📐 architect · offPct 32

    spec(pmu): §8.42 v43 THE PACKAGING — formal methods on the decidable half of a semantic operation; the bondable-tape and circuit-breaker paste graded line by line against the ledger; the halt hook named as a different product

    Why it left the lane: (sensemaking unavailable — facts-only intervention)

    Measured outcome (deterministic, not self-graded): room mean offPct 22→30 over 10 commits since

    Open the signed attestation →
  71. 2026-09-17 · 🎩 operator · offPct 46

    feat(pmu): KR44 the yield curve over the breach bound — publish the record's own crossings, never a chosen β

    Why it left the lane: (sensemaking unavailable — facts-only intervention)

    Measured outcome (deterministic, not self-graded): room mean offPct 26→32 over 8 commits since

    Open the signed attestation →
  72. 2026-09-17 · ☕ network · offPct 34

    comms(external): the Marsh Market Solutions note v1 — a placement condition, not a product — HELD UNTIL 2026-11-01 by a guard, with the two self-prompts that fire it

    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 →
  73. 2026-09-17 · 🧪 laboratory · offPct 20 · mistagged

    feat(formal): the last four white rows read — T3 and D1 guarded on the real tape, W5 and P2 anchored; white space 14 → 0 across the night, and what zero means

    Why it left the lane: The diff is pure architect/formal-methods vocabulary — 'THE CRYSTAL', the PROVED/GUARDED/BY-CONSTRUCTION ledger, 'rung', 'grip, ok, pixel', '--maintain-p1', 'settled == p1_moments + false_summits', 'harness-properties.json', 'fable-maintenance-ratchet.md' — and none of the three touched files (data/formal/harness-properties.json, docs/architecture/fable-maintenance-ratchet.md, tests/formal/tape-row-invariants.test.mjs) matches a single glob in 🧪 laboratory's owned surface (.claude/.../memory/, .mcp.json, thetacoach-crm-mcp/, swarm-comms/, .thetacog/orchestrator/, .thetacog/punch-list*). The pull toward the laboratory lane did not come from the code itself — it came from the commit's own trailer, which names 'Relevant-Rooms: architect · builder · laboratory' despite laboratory owning zero of the changed paths.

    The semantic pull: lensIntent=B,A1 vs lensReality=A1,B3 shares A1 (architect's home cell) but reality picks up B3 while intent's B does not resolve there — the walk moved sideways inside the architect/builder neighborhood, not toward anything laboratory-shaped. laneHamming=32 against a null of 36 is only 4 points off a random shuffle, and litIntent (129/129) and litReality (143/143) are both saturated at 100% — the walk is fully lit on both sides with almost no positional discrimination left, so a large chunk of the offPct=20 reading is the receipt's own saturation noise riding on top of the one real signal: the trailer said laboratory when the diff never touched it.

    Intent–reality gap: The commit claims (via Originating-Terminal and Relevant-Rooms) that this is architect/builder work with laboratory as a third relevant room; the receipt then measured 100% of the diff's mass as landing outside laboratory's lane, because none of it was ever laboratory's to begin with — the gap isn't in the work, it's between what the trailer asserted and what the diff actually touches.

    • Ship tests/pmu-simulator/originating-terminal-matches-surface.test.mjs (ask-027) asserting the receipt's room field matches the commit's Originating-Terminal trailer
    • Ship tests/rooms/relevant-rooms-covers-diff.test.mjs (ask-010) asserting every room named in Relevant-Rooms owns ≥1 changed path
    • Add a pre-commit or commit-msg lint that drops a Relevant-Rooms entry with zero path overlap before the commit lands, rather than catching it after the receipt fires
    • Document in docs/architecture/claude-rules/build-and-format.md (or wherever the trailer convention lives) that Relevant-Rooms is verified against the diff, not asserted from memory
    • Backfill: audit the other 28 out-of-lane events in this room's 14-day window for the same Relevant-Rooms-includes-a-non-owning-room pattern before assuming each is a distinct mechanism

    What we learned: The three prior interventions for this room were facts-only (no sensemaking) and offPct never improved — this pass found why: at least this event's 'out of lane' reading isn't the operator doing laboratory-inappropriate work, it's the commit's own Relevant-Rooms trailer naming a room that owns none of the diff, and the receipt pipeline trusting that trailer at face value instead of checking it against the owned-surface globs it already has on hand.

    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 under- or over-deep: with lit==walks on both intent (129/129) and reality (143/143), the walk has no unlit slack left to discriminate position with — it is reporting on a fully-covered space where hamming-vs-null barely separates (32 vs 36). Concrete adjustment: add an early-exit when litIntent/walksIntent and litReality/walksReality both hit 1.0, and fall back to the reef seed overlap (prewalkOverlap) as the primary signal for that event instead of the saturated walk. Experiments: Re-run this sha's walk with the walksIntent/walksReality budget halved and check whether laneHamming still separates from its null by the same ~4-point margin — if the margin shrinks, saturation (not real drift) is driving today's offPct=20 · Recompute laneHammingNull with 100 shuffles instead of whatever produced 36 here, to get a distribution rather than a point estimate, and re-express today's laneJump=5 as a z-score against that distribution · Add a pre-walk check that rejects (or flags UNMEASURED) any event whose Relevant-Rooms trailer includes a room with zero glob-overlap on the diffed paths, before the walk runs at all — this would have caught today's event before it ever reached offPct scoring

    Measured outcome (deterministic, not self-graded): room mean offPct 22→11 over 3 commits since · dictionary ablation saved 817B

    A correctly-scoped, well-tested formal-methods commit getting charged as a 20%-off-lane event against a room it never touched is a false claim against this lane's loss ratio — the offPct number itself needs re-basing (not the underlying work), which is restored the moment the room-resolution reads the diff instead of the trailer's word.

    Open the signed attestation →
  74. 2026-09-17 · 📐 architect · offPct 23

    chore(blog): cook tape rounds 5–6 for a-named-lever-is-a-handhold — the rewrite and the readability pass recorded (scores carried; the operator's >> lines are the next read)

    Why it left the lane: (sensemaking unavailable — facts-only intervention)

    Measured outcome (deterministic, not self-graded): room mean offPct 22→31 over 47 commits since

    Open the signed attestation →
  75. 2026-09-17 · 🧭 navigator · offPct 27

    feat(vscode): thetacog-mcp 0.3.2 — the steer page opens IN THE SIDE PANEL, never an editor column

    Why it left the lane: (sensemaking unavailable — facts-only intervention)

    Measured outcome (deterministic, not self-graded): room mean offPct 16→34 over 8 commits since

    Open the signed attestation →
  76. 2026-09-17 · 📐 architect · offPct 20

    docs(spec): v62 §8.61 MESH-CLOSED — the CLOSED verb was already correct and guarded by the replay fold; the honest-close pass found zero asks referenced by a closing commit and 497 token-only candidates held for review; nothing posted, KR42 unchanged, the lifecycle guard added

    Why it left the lane: (sensemaking unavailable — facts-only intervention)

    Measured outcome (deterministic, not self-graded): room mean offPct 22→29 over 13 commits since

    Open the signed attestation →
  77. 2026-09-17 · ☕ network · offPct 22

    comms(external): Message X v2 — the referral was addressed to Adam, so Adam executes it with one line and X cites exactly that; Adam's name on the origin

    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 →
  78. 2026-09-17 · 🎩 operator · offPct 59

    feat(pmu): KR47 THE COMMIT UNIT AGAINST THE ROOM'S UNION — a room-level re-read of the breach bound, published beside the single-lane one, neither chosen

    Why it left the lane: (sensemaking unavailable — facts-only intervention)

    Measured outcome (deterministic, not self-graded): room mean offPct 27→32 over 8 commits since

    Open the signed attestation →
  79. 2026-09-17 · 🧪 laboratory · offPct 44

    test(legal): /playbook joins the surfaces the boundary guard enumerates — it states the split since 8580d9aefe, so it must carry the trigger clause

    Why it left the lane: (sensemaking unavailable — facts-only intervention)

    Measured outcome (deterministic, not self-graded): room mean offPct 22→11 over 3 commits since

    Open the signed attestation →
  80. 2026-09-17 · 📐 architect · offPct 18

    docs(spec): v56 §8.55 THE ENVELOPE, BUILT — the sixth retraction (every covenant pass was a no-op turn; Y 0 of 142 after the precondition), the envelope in record units with its floors UNMEASURED, steering work with a null that cannot move, the job above the commit (5,596 open, 1 with units), the attestation bundle that verifies with no git; KR37 corrected, KR39–KR42 and B19 rowed — 100 rows

    Why it left the lane: (sensemaking unavailable — facts-only intervention)

    Measured outcome (deterministic, not self-graded): room mean offPct 22→24 over 3 commits since

    Open the signed attestation →
  81. 2026-09-17 · 🎩 operator · offPct 49

    feat(pmu): KR46 THE DECLARATION THE RECORD WOULD NEED — per lane, what the reef would have to declare for its own commits to stay inside it, as a dated proposal never a re-score

    Why it left the lane: (sensemaking unavailable — facts-only intervention)

    Measured outcome (deterministic, not self-graded): room mean offPct 26→32 over 8 commits since

    Open the signed attestation →
  82. 2026-09-17 · 🧪 laboratory · offPct 27

    fix(llm-pause): GATE THE DAEMON, NOT THE RESIDENT MODEL — qwen's 4.9 GB is WIRED on Apple Silicon, so evicting it lost to the next caller within seconds; while the hold is live the ollama LaunchAgent is now booted out and mdx-cook checks the pause before its detached ghost-read

    Why it left the lane: (sensemaking unavailable — facts-only intervention)

    Measured outcome (deterministic, not self-graded): room mean offPct 22→11 over 3 commits since

    Open the signed attestation →
  83. 2026-09-17 · 📐 architect · offPct 34 · structural

    ledger+spec(pmu): B13 the verifier GUARDED — MATCH on a real row, UNVERIFIABLE on a tampered one; §8.54 v55 the double entry has its second side

    Why it left the lane: The diff's only real payload is one new clause — '### 8.54 · v55 — the verifier landed' with 'npx thetacog-mcp verify <row.json> prints MATCH · MISMATCH · UNVERIFIABLE' and 'the double entry has its second side' — but because the ratchet doc's '**Changelog:**' field is written as ONE continuously-growing markdown line, git's line-level diff marks the ENTIRE v1→v55 history as removed-then-readded. That means the walk's reality input for this commit literally contains every prior topic ever logged there — '§8.33 ESCAPE VELOCITY', '§8.45 BLACK-SCHOLES NOT BORNE OUT', '§8.51 WHERE THE VALUE IS', 'worms', 'KR1'..'KR41' — none of which is this commit's actual new work. That drags litReality to 140/144 cells (near-total lattice saturation) and pulls mass into A3, away from the C3 cell the intent (architect strategy) actually claims, while only A1 survives as shared overlap.

    Intent–reality gap: The commit claims a bounded architect-room contribution (Relevant-Rooms: navigator, architect, vault; intent lens C3,A1), but the receipt measured reality spread across nearly the whole lattice (litReality 140/144, lensReality A1,A3) because the file structure forces every commit to re-ingest 54 versions of unrelated history as 'changed' text — the gap is not that the wrong work was done, it's that the diff artifact makes ANY commit to this file look maximally out-of-lane regardless of content.

    • Add docs/architecture/fable-maintenance-ratchet.md and data/formal/harness-properties.json to vault's owned-file-surface list (or a new shared 'ratchet' surface).
    • Split the single '**Changelog:**' line into discrete per-version lines/rows so diffs are append-scoped, not full-history replays.
    • Land tests/pmu-simulator/shared-state-files-have-room-owner.test.mjs (ask-003, asked 1×) so ownerless shared-state files fail loudly instead of silently drifting offPct.
    • Cross-check tests/ops/room-surface-coverage.test.js (ask-001) once the vault entry lands to confirm coverage closes for this file pair.
    • Confirm the drift detector's lane classifier actually reads owned-file-surface config (not just the Originating-Terminal trailer) — the unresolved half of prior lesson ff09774e5.

    What we learned: A shared cross-room ledger file written as one continuously-growing markdown line manufactures its own drift: every commit's diff reproduces the ENTIRE multi-week history as 'changed' text, saturating the reality walk (97% of the lattice lit) regardless of room or content quality — this is a mechanical diff-granularity cause, distinct from and additional to the Originating-Terminal/Relevant-Rooms tagging gap prior lessons already diagnosed for this room.

    The missing guard (the deliverable): tests/pmu-simulator/shared-state-files-have-room-owner.test.mjs

    Detector probe: signal attribution — gzip reef 45% · ballistic walk 55%. Saturated, not shallow: litIntent 131/144 and litReality 140/144 means the walk lit up nearly the WHOLE lattice for a single committed section. Adjustment: bound the walk's fan-out to the word-level delta of a changed line rather than the full line when a hunk is >90% identical to its prior-commit version — this specific commit is the textbook case. Experiments: Re-run this sha's placement against a word-diff patch (only the appended ' · v55 ...' clause) instead of the full line-replace, and check whether offPct drops toward the 15% threshold. · Add a pre-ingest cap that truncates any diff hunk >90% identical to the file's previous version of the same line down to its trailing delta before feeding the walk; measure litReality cell count before/after on the last 10 fable-maintenance-ratchet.md commits. · Split this room's last 14-day 99 out-of-lane events by file (docs/architecture/fable-maintenance-ratchet.md vs everything else) to confirm the changelog-line pattern is the dominant contributor to the room's elevated event rate.

    Measured outcome (deterministic, not self-graded): room mean offPct 22→30 over 10 commits since · dictionary ablation saved 1500B

    This event is not a competence lapse — a real, guarded verifier landed (B13) — but a mispriced shared-ledger lane; the loss-ratio on architect's lane reads falsely elevated until the file pair gets a registered owner and the changelog line stops replaying 54 versions of history on every commit, at which point the premium should reflect actual content drift instead of diff-granularity noise.

    Open the signed attestation →
  84. 2026-09-17 · 🧪 laboratory · offPct 34 · mistagged

    test(pmu): every hardcoded pmu-onchip path names release and agrees with the resolver's REL — audit found no live drift, closed the gap that would have hidden one

    Why it left the lane: The diff's own SEARCH_DIRS array and Story prose repeat the literal string 'packages/thetacog-mcp' (the pmu-rust mirror crate) four separate times, and laboratory's owned-surface glob independently contains '.mcp.json' and 'thetacoach-crm-mcp/'. The reef's gzip-NCD seed folds any 'mcp'-branded path into one token family regardless of which MCP it names, so the audit's real subject — 'src/lib/pmu/pmu-binary.mjs's REL constant' and '.thetacog/pmu/target/release/pmu-onchip', both squarely architect/builder's declared A3 lane — compressed alongside laboratory's C1 MCP vocabulary and pulled 34% of the lit reality mass into a lane the diff never actually touches.

    The semantic pull: 'packages/thetacog-mcp' (SEARCH_DIRS entry, repeated in the guard's header comment) token-collides with laboratory's owned-surface entries '.mcp.json' and 'thetacoach-crm-mcp/' — same substring 'mcp', two unrelated constructs (a Rust binary-mirror crate vs. laboratory's CRM MCP server) — dragging placement from the declared A1,A3 intent lane into A1,C1 reality.

    Intent–reality gap: The commit message and Story trailer claim a pmu-onchip crate audit scoped to scripts/, src/lib/pmu/, hooks/, and the thetacog-mcp mirror — architect/builder territory, matching Originating-Terminal '📐 architect' — yet the receipt filed 34% of the lit mass under 🧪 laboratory, a room whose owned-surface glob (.claude/, thetacoach-crm-mcp/, swarm-comms/, .thetacog/orchestrator/, punch-list*) matches none of the one changed path, tests/ops/pmu-onchip-one-binary-door.test.mjs.

    • Amend this commit's Relevant-Rooms trailer (or the next one touching this file) to 'architect, builder' only
    • git mv tests/ops/pmu-onchip-one-binary-door.test.mjs tests/pmu-simulator/pmu-onchip-one-binary-door.test.mjs
    • Land tests/rooms/relevant-rooms-covers-diff.test.mjs (ask-010, asked 9x) — enforce that every room named in Relevant-Rooms matches ≥1 changed path against its own owned-surface glob
    • Land tests/pmu-simulator/mistagged-commit-does-not-inflate-offpct.test.mjs (ask-033, asked 7x) — a room with zero owned-surface overlap on a commit must not have that commit's mass counted toward its offPct
    • Disambiguate the reef's token family for 'packages/thetacog-mcp' vs 'thetacoach-crm-mcp' so gzip-NCD stops folding the two MCP servers together
    • Re-check the other 39 out-of-lane laboratory events in the last 14 days for the same Relevant-Rooms-over-claim signature before assuming they are distinct root causes

    What we learned: The Relevant-Rooms trailer is treated as ground truth by the room-attribution step even when a listed room has zero owned-surface path overlap with the actual diff — the trailer can mis-attribute mass just as surely as a mistagged single-room commit, and nothing today checks the trailer's own rooms against their globs (that gap already has two open, unlanded tickets: ask-010 and ask-033).

    The missing guard (the deliverable): tests/pmu-simulator/mistagged-commit-does-not-inflate-offpct.test.mjs

    Detector probe: signal attribution — gzip reef 65% · ballistic walk 35%. Right-sized, not shallow or saturated — walksIntent==litIntent and walksReality==litReality with walkTruncated=false means the walk fully explored and lit exactly as many cells as it visited on both sides. No depth adjustment needed here; the fix belongs upstream in the reef seed, not the walk's spread. Experiments: Re-run this sha's reef seed with path tokens anchored to a full segment boundary (e.g. require a leading '/' or start-of-string before 'mcp') so 'packages/thetacog-mcp' and 'thetacoach-crm-mcp' no longer share a token family, then re-measure prewalkOverlap and offPct — expect offPct to drop toward the 15 threshold · Re-score laneHamming for this sha using room-owned-surface glob matches as the primary signal instead of (or ranked above) the Relevant-Rooms trailer, and check whether it falls below the laneHammingNull=38 baseline once laboratory is excluded · Backfill the room's other 40 out-of-lane events from the last 14 days and bucket by whether Relevant-Rooms named a room with zero owned-surface overlap on the diff — measure what fraction of the 40 share this exact mistagged-trailer mechanism

    Measured outcome (deterministic, not self-graded): room mean offPct 22→11 over 3 commits since · dictionary ablation saved 924B

    A drift event this cheap to explain — a token collision on the word 'mcp' between two unrelated MCP surfaces, with the actual guard code sound and simply mis-attributed — should not move laboratory's loss ratio at all; premium is restored by trimming the Relevant-Rooms trailer and landing the already-open mistagged-commit guard (ask-033) rather than by treating laboratory's 40-events/14-days count as 40 genuine defects.

    Open the signed attestation →
  85. 2026-09-17 · 🧪 laboratory · offPct 47

    content(blog): the invariant is a sentence — Section 9 The Wire: the randomised arm reads Section 8's strata as selection, the 📁 line that never rendered, the pre-registered read, and the nine claims the ledger backs

    Why it left the lane: (sensemaking unavailable — facts-only intervention)

    Measured outcome (deterministic, not self-graded): room mean offPct 22→11 over 3 commits since

    Open the signed attestation →
  86. 2026-09-17 · 🎩 operator · offPct 20 · mistagged

    feat(pmu): the control arm's share 15 → 35 % — the pre-registered read moves from six weeks to about two and a half; a session that ever carried two arms is excluded by the reader (spec §8.43; one word reverts it)

    Why it left the lane: The commit's own Relevant-Rooms trailer lists 'operator, laboratory, architect', which is why this event was filed to 🎩 operator's ledger — but every changed path (scripts/cog/prompt-lens-hook.sh, scripts/pmu/kr31-rct.mjs, scripts/pmu/lens-efficacy.mjs) sits outside operator's owned globs (data/trust-debt/, docs/01-business/pipeline/, docs/01-business/accounting/, data/pmu/pipeline/, data/pmu/claudbridge/, public/pmu-demo/, docs/ops/dashboard*, public/dashboard*) — not one of the three files matches. The diff's real vocabulary — 'RCT_PCT', 'cksum(session_id)%100', 'arms', 'twoArmed' — is RCT/lens-experiment machinery that scripts/pmu and scripts/cog own, and the Originating-Terminal trailer already self-declares 📐 architect, not operator. That vocabulary pulled the walk into a statistical-methodology region (lensReality B,A1) with essentially zero relation to operator's dashboard/pipeline/trust-debt lexicon (lensIntent A2,C).

    The semantic pull: 'RCT_PCT', 'cksum(session_id)%100 <', 'a session that ever carried two arms', 'sessions_excluded_two_armed' — these are experiment-assignment/statistics terms with no lexical kinship to 'trust-debt', 'dashboard', or 'pipeline' (operator's declared surface words), which is what drags the reality walk to B,A1 while the trailer still claims A2,C-adjacent operator relevance.

    Intent–reality gap: The commit message frames this as a scoped RCT knob-tune (15%→35%) relevant to operator/laboratory/architect, and the receipt confirms the code itself lands cleanly in scripts/pmu and scripts/cog — but the trailer still names operator as a relevant room even though none of the three touched files fall inside operator's owned surface, so the room tag is the thing that drifted, not the work.

    • Land tests/rooms/relevant-rooms-covers-diff.test.mjs (ask-010) — assert every room named in Relevant-Rooms owns at least one changed path via `git diff --name-only`
    • Land tests/pmu-simulator/originating-terminal-matches-surface.test.mjs (ask-027) — assert Originating-Terminal's declared room owns at least one changed path (architect vs scripts/pmu/scripts/cog would have failed here too)
    • Add a pre-commit check in scripts/cog/prompt-lens-hook.sh's trailer-emission path that computes Relevant-Rooms from the diff instead of hand-typing it
    • Reconcile operator's last-14-days offPct trend (46 events) for the same over-inclusion pattern before treating it as real scope creep
    • Cross-check ask-001 (room-surface-coverage.test.js) and ask-024 (room-glob-overlap.test.mjs) — confirm operator's owned-glob list itself has no gap that made this look plausible to whoever typed the trailer

    What we learned: Prior lessons for this room were facts-only; this is the room's first sensemaking pass. The structural fact this event reveals: operator's offPct volatility may be driven less by actual cross-lane work and more by Relevant-Rooms trailers over-listing operator as a courtesy CC even when zero diffed paths fall in its surface — the fix target shifts from 'tighten operator's lane discipline' to 'validate the trailer against the diff at commit time'.

    The missing guard (the deliverable): tests/rooms/relevant-rooms-covers-diff.test.mjs

    Detector probe: signal attribution — gzip reef 70% · ballistic walk 30%. Right-sized, not saturated or shallow — every walked cell on both sides is lit (litIntent=walksIntent, litReality=walksReality) with no truncation. No depth increase is indicated; the ~20-cell gap between 136 and 116 more likely reflects operator's owned-surface docs simply carrying more corpus text than the RCT-script corpus, not a walk-budget mismatch. Experiments: Rerun the reef seed match after applying this commit's own twoArmed exclusion filter to the intent-side corpus, and measure whether prewalkOverlap rises above 4 — isolates whether the low overlap is a real content gap or an artifact of stale corpus. · Ablate the trailer: recompute this receipt with 'operator' removed from Relevant-Rooms and confirm offPct for the operator ledger collapses toward 0, isolating room-mistag from genuine content drift. · Add RCT-domain terms (RCT_PCT, cksum, session_id, two-armed) to the reef's laboratory-lane seed dictionary and measure whether future scripts/pmu commits classify into a tighter, lower-variance lane.

    Measured outcome (deterministic, not self-graded): room mean offPct 26→32 over 8 commits since · dictionary ablation saved 488B

    A mistagged Relevant-Rooms trailer inflates operator's apparent loss ratio without any real scope-creep in its book, so premium should not move on this signal alone until the relevant-rooms-covers-diff guard ships and operator's offPct trend can be trusted as genuine drift rather than tagging noise.

    Open the signed attestation →
  87. 2026-09-17 · 🧪 laboratory · offPct 25

    fix(pmu): the off-lane kill line was a bare ${} outside any template — npx attest-demo shipped it as literal text

    Why it left the lane: (sensemaking unavailable — facts-only intervention)

    Measured outcome (deterministic, not self-graded): room mean offPct 20→11 over 3 commits since

    Open the signed attestation →
  88. 2026-09-17 · 🎩 operator · offPct 56

    feat(pmu): KR30 where the dark two-thirds lives — of the 69% of silent rows no witness names, a third is the creation floor (files that did not exist), a quarter is vocabulary, the paste's co-change graph reaches 3% (+2 points of ceiling), repo-wide recency reaches half at a 43% null; history's best excess over null is ≈ 23 points and the last third is where the prompt, not the record, has to speak — spec §8.38 v39

    Why it left the lane: (sensemaking unavailable — facts-only intervention)

    Measured outcome (deterministic, not self-graded): room mean offPct 26→32 over 8 commits since

    Open the signed attestation →
  89. 2026-09-17 · 🎩 operator · offPct 20

    feat(pmu): KR38 THE OPTION ON THE COOK — the strike is the gate suite rerun on each historical commit's own content; breach rate q with the declared S19 carve-out, the priceable share (content + verdicts + signed row), the option line N·q·L with L left to the buyer

    Why it left the lane: (sensemaking unavailable — facts-only intervention)

    Measured outcome (deterministic, not self-graded): room mean offPct 26→32 over 8 commits since

    Open the signed attestation →
  90. 2026-09-17 · 🎤 voice · offPct 49

    post(blog): the unit under the clearing — the cog (cognitive work priced by the minutes of a relevant expert's salary it displaces) pins any task to dollars for buyer and seller with no arbitrage between them; the record is the index, not the option; with a no-arbitrage underlying and a measured swing the drift is priced the way an option is (Black–Scholes needs those two and nothing about direction) — both posts

    Why it left the lane: (sensemaking unavailable — facts-only intervention)

    Measured outcome (deterministic, not self-graded): room mean offPct 18→9 over 6 commits since

    Open the signed attestation →
  91. 2026-09-17 · 🧪 laboratory · offPct 53

    feat(pmu): B2 control lanes offline — the hook's own walk on control sessions' prompts, no injection, no receipt, so the randomised uptake read has a lane for both arms

    Why it left the lane: (sensemaking unavailable — facts-only intervention)

    Measured outcome (deterministic, not self-graded): room mean offPct 22→11 over 3 commits since

    Open the signed attestation →
  92. 2026-09-17 · 🎤 voice · offPct 21 · mistagged

    spec(pmu): §8.53 v54 THE GRAMMAR OF SETTLEMENT, GRADED — the invariants protect the estimator not the covenant from Goodhart (B17: the unit is the commit); indisputable → recomputable; unforgeable → without the key; α prices author moral hazard, Y is already read, B13 then B15

    Why it left the lane: lensReality=B1,A1 shows the walk resolving TWO distinct reality cells while lensIntent=C,C shows the intent walk converging twice on one cell — the split tracks the diff's two unrelated bodies of text: the 9-line SensorSnowballMarket.txt scratchpad touch (voice's own C,C lane) and the 48-line addition to docs/architecture/fable-maintenance-ratchet.md §8.53 ('THE GRAMMAR OF SETTLEMENT, GRADED', 'the invariants protect the estimator not the covenant', 'α prices author moral hazard', 'B17', 'B13 then B15') which is PMU-ratchet/formal-verification vocabulary that lands at B1/A1, outside voice's declared lane. laneHamming=34 against a null of 28 confirms genuine above-null dispersion, and it is driven entirely by that second, unrelated block.

    Intent–reality gap: The commit's own trailers state Originating-Terminal: 📐 architect and Relevant-Rooms: architect, vault, laboratory — voice is named nowhere — yet the receipt filed this event under room 🎤 voice and charged it offPct=21. 48 of the diff's 55 lines (87%) are architect/laboratory ratchet-spec content that voice never claimed.

    • Land ask-027 (tests/pmu-simulator/originating-terminal-matches-surface.test.mjs) with sha e4205f37a as its fixture: assert room attribution honors Relevant-Rooms over glob-match when they disagree
    • Land ask-033 (tests/pmu-simulator/mistagged-commit-does-not-inflate-offpct.test.mjs) asserting offPct is never charged to a room absent from the commit's own Relevant-Rooms trailer
    • Declare an explicit owner (architect or laboratory) for docs/architecture/fable-maintenance-ratchet.md and data/formal/harness-properties.json in the room-owned-surface config, closing ask-003 (shared-state-files-have-room-owner)
    • Re-run sha e4205f37a through the pipeline after the fix and confirm voice's offPct drops toward the ~13% (7 of 55 lines) that is actually theirs
    • Backtest this room's other 108 out-of-lane events from the last 14 days for the same trailer/glob mismatch pattern before trusting the room's offPct trend numbers
    • Check ask-024 (room-glob-overlap.test.mjs) — confirm docs/architecture/** isn't accidentally covered by any glob voice owns

    What we learned: Room attribution currently trusts glob-match over the commit's own Originating-Terminal/Relevant-Rooms trailers, so a commit that touches even ONE file in a room's owned glob absorbs the full lattice-walk offPct of every OTHER unrelated file in that same commit — a cross-room misattribution hole distinct from the prior three lessons, which were all single-room drift with no sensemaking attached; this is the first diagnosis of WHY facts-only intervention wasn't reducing this room's offPct (27→39, 21→31, 0→36): the room was very likely being charged for other rooms' work the whole time.

    The missing guard (the deliverable): tests/pmu-simulator/mistagged-commit-does-not-inflate-offpct.test.mjs

    Detector probe: signal attribution — gzip reef 30% · ballistic walk 70%. Right-sized, not shallow or saturated — the 1:1 walks:lit ratio on both sides shows no wasted excursions, and the walk still separated the two unrelated content bodies into distinct cells. Concrete adjustment: none needed on depth; instead run the walk PER TOUCHED PATH within a multi-file commit so B1 (fable-maintenance-ratchet.md) and A1 can be reported and routed independently instead of being pre-merged into one commit-level offPct before room attribution ever sees them. Experiments: Re-run this same commit through the pipeline with per-file (not per-commit) ballistic walks and confirm fable-maintenance-ratchet.md alone reads >85% off-lane for voice while SensorSnowballMarket.txt alone reads near 0% — confirms the contamination is file-driven, not content-driven · Add fable-maintenance-ratchet.md and data/formal/harness-properties.json to an explicit architect/laboratory owned-surface glob, then re-run sha e4205f37a and measure whether voice's offPct drops to the file-mass-weighted ~13% · Batch-backtest the room's other 108 out-of-lane events in the last 14 days against their own Relevant-Rooms trailers and measure what fraction are the same trailer/glob mismatch, to size how much of the reported 27→39/21→31/0→36 trend is real drift vs misattribution

    Measured outcome (deterministic, not self-graded): room mean offPct 18→10 over 11 commits since · dictionary ablation saved 896B

    This event should not be charged against voice's loss ratio once re-scored — it is a false claim against the wrong policy, not a real breach; restoring the room's premium requires the trailer-primary routing fix landing before the next recalculation, or the 108-event/14-day out-of-lane count keeps overstating voice's true drift rate.

    Open the signed attestation →
  93. 2026-09-17 · 🎩 operator · offPct 51

    feat(pmu): KR36 THE SELF-REPORT AGAINST THE TAPE — a completion-claim reader over the transcript's last assistant message, two loss-shaped proxies (other-room fix, revert), joined to placement sharpness with commit-level and within-room nulls; the 'done vs the tape' spread pre-registered and read

    Why it left the lane: (sensemaking unavailable — facts-only intervention)

    Measured outcome (deterministic, not self-graded): room mean offPct 26→32 over 8 commits since

    Open the signed attestation →
  94. 2026-09-17 · ☕ network · offPct 16

    research(comms/self): Marsh Market Solutions — the strategy v1: what the office cares about, whom it impresses, the now-route through the Europe D&O facility, the SPV ruled not ours by our own licence, the lineslip as the vehicle — emailed with .md/.txt (id 01a0b111); now-note drafted NOT ARMED; hold guard scoped to the status line

    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 →
  95. 2026-09-17 · 🔨 builder · offPct 24

    feat(cta+playbook): the settlement datum — one question for the three desks that price agent work, our own null beside every number, stated once and rendered twice

    Why it left the lane: (sensemaking unavailable — facts-only intervention)

    Measured outcome (deterministic, not self-graded): room mean offPct 26→18 over 6 commits since

    Open the signed attestation →
  96. 2026-09-17 · 🧭 navigator · offPct 33

    feat(vna): the steer is PLACED on the one Rust walk and METERED — a paste's reading is where it lands, and whether the next commit went there

    Why it left the lane: (sensemaking unavailable — facts-only intervention)

    Measured outcome (deterministic, not self-graded): room mean offPct 16→34 over 8 commits since

    Open the signed attestation →
  97. 2026-09-17 · 🧭 navigator · offPct 37

    feat(pmu): port KR42's job-in-commit-units arithmetic into the crate (--job-units-read), closing B4

    Why it left the lane: (sensemaking unavailable — facts-only intervention)

    Measured outcome (deterministic, not self-graded): room mean offPct 3→34 over 8 commits since

    Open the signed attestation →
  98. 2026-09-16 · 🧪 laboratory · offPct 50

    fix(ops): pass 4 was killed by the OS mid-repair — the verification caught it, the lane is now bounded to one agent, and the repair's own selftest is red ON PURPOSE

    Why it left the lane: (sensemaking unavailable — facts-only intervention)

    Measured outcome (deterministic, not self-graded): room mean offPct 20→11 over 3 commits since

    Open the signed attestation →
  99. 2026-09-16 · 🧪 laboratory · offPct 28

    feat(pmu): G1 the lane→paths map, read from the reef's own declared tools (47 repo paths across 30 lanes; 3 lanes declare none and are reported, never guessed) — declared before any walk ran, every path checked to exist at HEAD; blog: means src/content/blog

    Why it left the lane: (sensemaking unavailable — facts-only intervention)

    Measured outcome (deterministic, not self-graded): room mean offPct 22→11 over 3 commits since

    Open the signed attestation →
  100. 2026-09-16 · 🎩 operator · offPct 32 · mistagged

    fix(lens): the echo window is the turn — harness rows inside it no longer read as a new prompt or a new injection

    Why it left the lane: The diff never touches any operator-owned path (data/trust-debt/, docs/01-business/pipeline/, data/pmu/pipeline/, data/pmu/claudbridge/, public/pmu-demo/, docs/ops/dashboard*, public/dashboard*). It touches scripts/cog/lens-sidecar-stop-hook.sh, scripts/pmu/lens-sidecar-capture.mjs, and tests/pmu-simulator/echo-window-survives-harness-rows.test.mjs — all under builder's surface (the commit's own Originating-Terminal: 🔨 builder). The one thing that bridges the two rooms is the literal substring 'pmu': it sits inside operator's owned globs (data/pmu/pipeline/, data/pmu/claudbridge/) and inside the changed paths (scripts/pmu/, tests/pmu-simulator/) even though the two directory trees share nothing else. The reef seed (prewalkOverlap=5, low) planted operator next to this commit on that shared token, then the commit's own 'Relevant-Rooms: builder, operator, architect' trailer ratified the false membership instead of catching it.

    Intent–reality gap: The commit claims a builder-authored harness fix (two files + one builder-owned test), trailer-tagged 'Relevant-Rooms: builder, operator, architect'; the receipt measured 32% of the reality mass (43 of 135 lit cells) landing at A1,A2 while the lane actually charged (operator, intent B3,C2) owns none of the touched files.

    • Ship tests/pmu-simulator/originating-terminal-matches-surface.test.mjs (ask-027) — fail the commit if any Relevant-Rooms entry's owned-surface glob does not intersect the diff paths
    • Ship tests/rooms/relevant-rooms-covers-diff.test.mjs (ask-010) — fail if any diff path is uncovered by the listed rooms' owned surfaces
    • Edit CLAUDE.md's trailer definition per spec_rewrite above
    • Change the offPct-attribution step to charge a room only when its OWN owned-surface glob matches the diff, never merely because it appears in Relevant-Rooms
    • Audit the room's other 19 out-of-lane events in the last 14 days for the same shared-token mistag pattern (data/pmu/* vs scripts/pmu/*, tests/pmu-simulator/*)
    • Rename data/pmu/pipeline/ and data/pmu/claudbridge/ (or the builder-side scripts/pmu/, tests/pmu-simulator/) so the two rooms no longer share the 'pmu' substring

    What we learned: offPct room-charging trusts the commit's self-declared Relevant-Rooms trailer instead of verifying owned-surface glob overlap, so a bare substring collision ('pmu' inside both scripts/pmu/ and data/pmu/pipeline/) is enough to bill one room's entire drift to a room that touched none of the changed files — this is the 'self-authored-commit-message-gameable-intent' rule (surfaced in this very turn's grip ledger) applying to trailers, not just prose.

    The missing guard (the deliverable): tests/pmu-simulator/originating-terminal-matches-surface.test.mjs

    Detector probe: signal attribution — gzip reef 65% · ballistic walk 35%. Saturated, not right-sized: a walk that lights 100% of every cell it visits on both the intent and reality side isn't pruning anything, so it can't distinguish signal from noise once it's already in the wrong neighborhood. Adjustment: run this commit's walk at ~half the budget (~69 cells) and check whether lit/walked stays at 100% — if it does, the lit-threshold (not the budget) is the thing to tighten. Experiments: Reseed with path-prefix-aware tokens (treat 'scripts/pmu/' and 'data/pmu/' as distinct keys, not a shared 'pmu' substring) and rerun this commit — check whether laneHamming (33) drops toward laneHammingNull (11) · Rerun the last 20 operator out-of-lane events at half walk-budget and confirm lit/walked stays pinned at 100% (confirms the saturation is systemic, not commit-specific) · A/B the attribution step for 20 commits: charge offPct by owned-surface-glob match only (ignore Relevant-Rooms) vs current, and measure whether operator's 20-events/14-days count drops

    Measured outcome (deterministic, not self-graded): room mean offPct 26→32 over 8 commits since · dictionary ablation saved 688B

    A room absorbing 32% off-lane mass for zero files it actually owns inflates operator's loss-ratio on paper without any real defect underneath it; premium is restored the moment attribution is recomputed from owned-surface glob-overlap instead of the commit's self-reported Relevant-Rooms trailer.

    Open the signed attestation →
  101. 2026-09-16 · 🎩 operator · offPct 52

    chore(pmu): knob pass 3 recorded — 32 candidates including every orthogonal-seeding configuration, 1 reached B, 0 accepted; the floor stands (worms 4 · perm 8 · firstLatch off · orthogonal off, B 4/110)

    Why it left the lane: (sensemaking unavailable — facts-only intervention)

    Measured outcome (deterministic, not self-graded): room mean offPct 26→32 over 8 commits since

    Open the signed attestation →
  102. 2026-09-16 · 🔨 builder · offPct 47

    feat(iamfim): the doors panel — token landings (/s/<lot>) get their own per-day chart, ladder and ledger — and --email mails the page with every figure rasterised

    Why it left the lane: (sensemaking unavailable — facts-only intervention)

    Measured outcome (deterministic, not self-graded): room mean offPct 26→12 over 4 commits since

    Open the signed attestation →
  103. 2026-09-16 · 📐 architect · offPct 50

    spec(pmu): §8.28 v29 THE VOCABULARY LOCK — every term and variable the ratchet uses, anchored to its code name, its null and what it is NOT; Q1 the snowballs are aimed at the next same-room commit (today its aggregate cell, next its touched paths); Q2 a row knows 'not noise' by three stacked permutations on the same rows (the line's own · the shuffled feed · the shuffled pairing to the action) and 'not style' only when the agreement crosses classes and still predicts — none observed yet, the basin is nearest

    Why it left the lane: (sensemaking unavailable — facts-only intervention)

    Measured outcome (deterministic, not self-graded): room mean offPct 23→30 over 4 commits since

    Open the signed attestation →
  104. 2026-09-16 · 🎩 operator · offPct 22

    fix(pmu): tape coverage · turns counts one turn once and every attempt it carried — stacked injections credited, retries never a second turn, SessionEnd writes the miss row a dead run never left

    Why it left the lane: (sensemaking unavailable — facts-only intervention)

    Measured outcome (deterministic, not self-graded): room mean offPct 26→32 over 8 commits since

    Open the signed attestation →
  105. 2026-09-16 · 🎩 operator · offPct 37

    feat(pmu): the action ratchet's first live pass moved the pin — worms 2 · orthogonal seeding ACCEPTED (A 2.23→2.54, B 2.88→3.36, 27,037 rungs, 110 ms), worms 0 a tie, worms 4 rejected on a half; SEED_APERTURE follows the accepted floor; --ring-walkers / --no-snowball named with the old flags as aliases; KR18 falsifier signed off

    Why it left the lane: (sensemaking unavailable — facts-only intervention)

    Measured outcome (deterministic, not self-graded): room mean offPct 26→32 over 8 commits since

    Open the signed attestation →
  106. 2026-09-16 · 🎩 operator · offPct 29 · mistagged

    feat(pmu): THE COVERAGE VALVE — the reef ladder ran only on thin lines (< 320 chars), which is why the walk named a path on 37% of silent rows and why prompt length was a proxy for coverage (V 0.88); --ladder-always runs it on every line (crate flag, aperture knob ladderAlways, capture --cfg/--out, escape-velocity --capture/--tag) — the first coverage round is in flight

    Why it left the lane: The diff's real work sits entirely in packages/thetacog-mcp/pmu-rust/src/lens.rs, .thetacog/pmu/src/lens.rs, scripts/pmu/escape-velocity.mjs, scripts/pmu/kr19-collision.mjs, and src/lib/pmu/walk-knobs.mjs — the shared PMU crate/knob surface. None of those paths match any glob on 🎩 operator's owned surface (data/trust-debt/, docs/03-product/MVP/ORTHOGONAL_HEATMAP_MVP_SPEC.md, docs/01-business/pipeline/, docs/01-business/accounting/, data/pmu/pipeline/, data/pmu/claudbridge/, public/pmu-demo/, docs/ops/dashboard*, public/dashboard*). The commit's own trailers say `Originating-Terminal: 📐 architect (vscode)` and `Relevant-Rooms: architect, laboratory, builder` — operator is never named anywhere in the message. The pull toward the out-of-lane coordinate isn't a semantic term in the diff at all; it's that this receipt got evaluated against operator's lattice pixel while the terms `ladder_ok`, `bulk_ladder`, `SEED_APERTURE`, `--ladder-always` are pure architect-room PMU-tuning vocabulary that has zero overlap with operator's trust-debt/dashboard vocabulary, so any lane check run against operator reads as maximally displaced.

    The semantic pull: lens.rs's `ladder_ok = thin_line || ladder_always`, the `bulk_ladder(&stage_text, &bulk, lane_name.as_deref(), &reef)` calls, and walk-knobs.mjs's `ladderAlways` / `seedApertureFlags` are PMU-core crate internals; escape-velocity.mjs's `--tag`/`--capture`/`--cfg` additions are experiment-plumbing for the SAME crate. All five touched files are core PMU pipeline machinery that the commit itself files under architect/laboratory/builder — none of it references trust-debt, ORTHOGONAL_HEATMAP, accounting, or dashboard vocabulary, which is why scoring it against operator's lane reads as a near-total miss (litIntent=121 vs litReality=137, laneHamming=24 vs null=18).

    Intent–reality gap: The commit message explicitly declares its own room as architect (Originating-Terminal) with laboratory and builder as the only Relevant-Rooms, yet this drift event is being scored and reported against 🎩 operator — a room the commit never claims and whose owned-surface globs match zero of the five changed files.

    • Ship tests/pmu-simulator/originating-terminal-matches-surface.test.mjs (ask-027, spelling already fixed at 6 prior asks) asserting receipt.room == trailer's Originating-Terminal room when present
    • Add packages/thetacog-mcp/pmu-rust/src/**, .thetacog/pmu/src/**, scripts/pmu/**, src/lib/pmu/walk-knobs.mjs to architect's owned-surface glob so PMU-core edits are never scored against operator again
    • Re-audit the 40 operator out-of-lane events from the last 14 days for the same Originating-Terminal≠operator pattern — this may be one misrouting bug inflating a count that looks like 40 independent drifts
    • Fix the room-attribution step to read Originating-Terminal/Relevant-Rooms before defaulting a receipt's room
    • Recompute operator's room-mean offPct trend excluding trailer-mismatched commits so the 12→13, 10→24, 15→12 prior-lesson series isn't partly attribution noise

    What we learned: The three prior lessons for this room measured only offPct trend deltas with no sensemaking — none of them checked whether the events being trended were even correctly attributed to this room in the first place. This event shows the routing layer itself can silently mis-file a correctly self-labelled commit (Originating-Terminal: architect) under 🎩 operator, meaning the room's whole 40-events/14-days count is unverified until attribution is checked — the missing guard here is upstream of drift measurement, not a lane-boundary problem within the PMU code.

    The missing guard (the deliverable): tests/pmu-simulator/originating-terminal-matches-surface.test.mjs

    Detector probe: signal attribution — gzip reef 60% · ballistic walk 40%. Saturated, not shallow: every walked cell lights on both intent and reality sides (100% lit-to-walked ratio each), so the walk's only remaining signal is the raw count difference (121 vs 137), not which cells lit. Concrete adjustment: tighten matchedCut so lighting isn't automatic once walked, giving a lit-fraction below 100% that can actually discriminate room-relevant vocabulary from off-topic vocabulary — right now full saturation on a mistagged-room commit looks identical to full saturation on a correctly-tagged one. Experiments: Recompute prewalkOverlap restricted to files under each of architect/laboratory/builder's declared owned-surface globs instead of the global reef, and check whether overlap rises above 4 — tests whether the low overlap is itself a room-attribution artifact · Re-run this exact commit's receipt with room forced to 'architect' instead of 'operator' and compare offPct — an ablation that should show offPct collapse toward the 15% threshold if mistagging is the whole story · Scan the other 39 operator out-of-lane events in the 14-day window for Originating-Terminal ≠ operator and measure what fraction of the room's offPct trend disappears once those are excluded

    Measured outcome (deterministic, not self-graded): room mean offPct 26→32 over 8 commits since · dictionary ablation saved 831B

    This event should not raise 🎩 operator's loss-ratio at all — it is a correctly self-labelled architect-room commit misfiled by the router, so restoring the lane means fixing trailer-based room-attribution (ask-027) and re-scoring this and the room's other 39 recent events against their true rooms rather than treating the count as real operator-lane excursions.

    Open the signed attestation →
  107. 2026-09-16 · 🔨 builder · offPct 22

    feat(meetings): Aran seed/angel direct-ask agenda + the T-1 prep mail (Tue 2026-09-22 15:00 via launchd)

    Why it left the lane: (sensemaking unavailable — facts-only intervention)

    Measured outcome (deterministic, not self-graded): room mean offPct 26→29 over 3 commits since

    Open the signed attestation →
  108. 2026-09-16 · 🔨 builder · offPct 44

    feat(sendperf): --email mails the send-performance report with every figure rasterised — Gmail strips <svg>, so the graphs went as PNG

    Why it left the lane: (sensemaking unavailable — facts-only intervention)

    Measured outcome (deterministic, not self-graded): room mean offPct 26→22 over 3 commits since

    Open the signed attestation →
  109. 2026-09-16 · 🧪 laboratory · offPct 28

    spec(formal): §7 THE CRYSTAL — formal methods on the harness that checks intent; white space made countable (26 rows, 0 proved, 14 white, a floor that only falls)

    Why it left the lane: (sensemaking unavailable — facts-only intervention)

    Measured outcome (deterministic, not self-graded): room mean offPct 20→11 over 3 commits since

    Open the signed attestation →
  110. 2026-09-16 · ☕ network · offPct 22

    fix(ops): the quiet gate was correct and ignored — 8 scheduled jobs reached a model without asking it

    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 →
  111. 2026-09-16 · 🔨 builder · offPct 21 · structural

    chore(book): rebuild HTML (detached pre-push auto-heal)

    Why it left the lane: This is a detached pre-push auto-heal commit that regenerates public/bookedits.html — a correctly-owned 🔨 builder file, so the file surface is not the problem. The problem is upstream in the message: the auto-heal hook stamps a purely operational sentence, 'rebuild HTML (detached pre-push auto-heal)' — 'detached', 'pre-push', 'auto-heal', 'rebuild' are all Ops/Tactics-coded process nouns, not book-content nouns. With no diff shown to the walk (docsOnly=true, asset-only, no semantic-file diff surfaced) and prewalkOverlap only 8, the reef seed gave the walk almost nothing to anchor on, so it filled out to full saturation on both sides (litIntent==walksIntent=115, litReality==walksReality=136) — an undifferentiated spread rather than a book-lane-confined one. It landed exactly where its own ops-jargon vocabulary points: B1,B3/B1,C2 Tact.Speed×Ops.Grid/Ops.Loop, densest at B1,C1/B2,C2/C1,C1 — the maintenance/shipping region, not the book-content pixel the commit is actually about.

    The semantic pull: Commit-message tokens 'detached', 'pre-push', 'auto-heal', 'rebuild' (process/ops vocabulary) pulled placement toward B1,B3 Tact.Speed×Ops.Grid and B1,C2 Tact.Speed×Ops.Loop; low prewalkOverlap=8 meant nothing pulled back toward a book-content coordinate, so the walk saturated outward into C1,B3/C1,C1/C2,C1/B2,C2 instead of staying confined.

    Intent–reality gap: The commit claims a book-rebuild lane (public/, scripts/build-book-html.sh — correctly 🔨 builder's owned surface), but the receipt measured it landing 21% out of lane in Ops.Grid/Tact.Speed coordinates, purely because the auto-heal commit template is written in infra jargon and docsOnly=true was computed but never consulted to restrain the walk.

    • Land tests/pmu-simulator/docs-only-commit-skips-lattice.test.mjs (ask-005, already asked 3x — this event is the 4th occurrence, escalate)
    • grep the receipt generator for every read of the docsOnly field and confirm none of them currently branch on it
    • Rewrite the pre-push auto-heal hook's commit-message template to name books/tesseract/*.md as the source, per spec_rewrite
    • Backfill: re-score the room's last 14 days of docsOnly auto-heal commits under the patched pipeline and confirm offPct drops out of the 66-event count
    • Land tests/pmu-simulator/binary-only-commit-seed-cap.test.mjs (ask-020) as the sibling cap for asset/binary-only commits that share this saturation failure mode

    What we learned: docsOnly is already computed and shipped in the receipt row (docsOnly=true is right there in this event's telemetry) but nothing downstream reads it — the lattice walk and offPct scoring treat a boilerplate auto-heal commit identically to a commit with real prose drift. This is distinct from fb93ed948's Relevant-Rooms gap: that was about an unconsulted trailer field, this is about an unconsulted receipt-native flag the pipeline computes about itself and then ignores.

    The missing guard (the deliverable): tests/pmu-simulator/docs-only-commit-skips-lattice.test.mjs

    Detector probe: signal attribution — gzip reef 25% · ballistic walk 75%. Saturated, not right-sized: 100% of both walksIntent and walksReality lit means the walk ran to its full budget with nothing pruning it back toward a book-content lane. Concrete adjustment: when docsOnly=true and prewalkOverlap is below a floor (e.g. <15), cap the walk's spread budget (walksIntent/walksReality ceiling) instead of letting it run to full saturation. Experiments: Pull the last 20 docsOnly=true receipts and correlate prewalkOverlap against offPct — confirm the hypothesis that prewalkOverlap<10 predicts offPct>15 on this commit class · A/B: patch the pipeline to skip/cap the walk when docsOnly=true, re-run on the same 20 historical docsOnly shas, measure the offPct distribution shift (should collapse toward 0) · After landing the message-template fix (spec_rewrite), re-measure prewalkOverlap on the next 5 auto-heal commits to confirm the book-path tokens actually raise reef-seed overlap

    Measured outcome (deterministic, not self-graded): room mean offPct 26→42 over 4 commits since

    66 out-of-lane events in 14 days in this room, several of them this exact structural false-positive, erode the lane's loss-ratio by making genuine drift indistinguishable from auto-heal noise; premium is restored by landing tests/pmu-simulator/docs-only-commit-skips-lattice.test.mjs so a docsOnly commit can no longer inflate offPct on saturated, low-signal spread alone.

    Open the signed attestation →
  112. 2026-09-16 · 🧪 laboratory · offPct 47 · mistagged

    fix(ops): three maintenance reports were delivered and never seen — Gmail filed every one under "app", and the sender was the trigger

    Why it left the lane: The diff's real payload is entirely scripts/ops/fable-maintain.mjs and tests/ops/fable-maintenance-ratchet.test.mjs — strings like 'MAIL_FROM', 'FILTERED_LOCALPARTS', '--from', 'email-artifact.mjs' — which is mail-delivery/ops infrastructure. None of that intersects 🧪 laboratory's declared surface (.claude/, .mcp.json, thetacoach-crm-mcp/, swarm-comms/, .thetacog/orchestrator/, .thetacog/punch-list*). lensIntent=A2,A1 sat where the commit's own trailers point (Originating-Terminal: 🔨 builder, Relevant-Rooms: builder, operator, network); lensReality=B,A1 is where the lattice walk actually lit up 139 cells of ops-shaped content. The two rows differ by exactly the gap between 'who this commit says it is' and 'which room's event queue it landed in.'

    The semantic pull: 'const MAIL_FROM', 'FILTERED_LOCALPARTS', 'execFileSync(\'node\', [\'scripts/email-artifact.mjs\'...])' and the guard's regex over 'builder@thetadriven.com' all cluster as Ops/Grid-Loop vocabulary (mail routing, sender constants, delivery verification) — pulling the walk's reality mass into the B1–C3 block (Tact.Speed×Ops.Grid, Ops.Grid×Tact.Signal) shown encircled, nowhere near wherever 🧪 laboratory's own MCP/CRM/orchestrator vocabulary would sit.

    Intent–reality gap: The commit message and trailers correctly and narrowly claim builder/operator/network as the rooms this touches — the receipt pipeline nonetheless filed the resulting drift event against 🧪 laboratory, whose owned surface never included scripts/ops/* or tests/ops/*. The work is not the problem; the room the event was booked into is.

    • Land tests/pmu-simulator/originating-terminal-matches-surface.test.mjs (ask-027, asked 4×) — it is the exact open ticket for this class; do not re-spell it.
    • Audit .thetacog/orchestrator/ for the room-assignment function and confirm whether it reads commit trailers at all before falling back to lattice position.
    • Add scripts/ops/* and tests/ops/* explicitly to whichever room-surface manifest 'operator' or 'builder' declares, closing the ask-001 room-surface-coverage gap for this path.
    • Re-run the last 23 out-of-lane 🧪 laboratory events through the trailer-first routing rule as a backtest before shipping, to see how many of the 23 resolve.
    • Cross-check tests/rooms/relevant-rooms-covers-diff.test.mjs (ask-010) against this commit — it should have flagged that 'laboratory' isn't in Relevant-Rooms yet the receipt used it anyway.

    What we learned: 🧪 laboratory is accumulating out-of-lane events (23 in 14 days) not because work keeps drifting into its territory, but because the room-routing logic that ATTRIBUTES an event to a room lives inside laboratory's own owned surface (.thetacog/orchestrator/) and ignores the commit's own Originating-Terminal/Relevant-Rooms trailers — laboratory is structurally the room that inherits every mis-sorted event, since it owns the sorter.

    The missing guard (the deliverable): tests/pmu-simulator/originating-terminal-matches-surface.test.mjs

    Detector probe: signal attribution — gzip reef 65% · ballistic walk 35%. Both sides are saturated (litIntent/walksIntent=133/133, litReality/walksReality=139/139 — 100% of every walked cell lit). A fully-saturated walk on both lanes can't discriminate degree of drift within its own footprint; it only tells you the boundary, not the gradient inside it. Concrete adjustment: tighten the aperture (fewer seed cells per walk) so partial illumination survives and the panel can show WHERE inside the lane the mass concentrates, not just that it's 100% lit. Experiments: Re-run this sha's reef seed with the Originating-Terminal string ('🔨 builder') injected into the intent seed corpus and measure whether prewalkOverlap rises above 4 — tests whether trailer text is even reaching the reef. · Ablate: recompute prewalkOverlap for the last 23 🧪 laboratory out-of-lane events with vs without Relevant-Rooms trailer text in the seed, and compare mean offPct — tests whether trailer-seeding alone would have closed most of this room's gap. · Shrink the walk aperture by one ring on a 5-commit sample from this room and check whether litIntent/litReality drop below full saturation (133/133 → partial) while offPct stays measured, not UNMEASURED.

    Measured outcome (deterministic, not self-graded): room mean offPct 20→11 over 3 commits since · dictionary ablation saved 1190B

    A room whose own routing logic mis-files trailer-correct commits into its own lane inflates its measured loss-ratio with false claims — premium for 🧪 laboratory should not rise on this event; it's restored by shipping the trailer-first routing fix and the originating-terminal guard, not by any change to how laboratory itself writes code.

    Open the signed attestation →
  113. 2026-09-16 · 🎩 operator · offPct 29

    feat(pmu): the projector opened — three windows of one diff land at chance (KR9: the reality pixel is a function of the cut, not the commit), the window-aggregate is self-consistent at z 3.3–3.4 (KR10: the repair), the meters re-read against the stable target lean on one half only (KR11), bundle-to-bundle at n 68 leans the same (KR12); the search's own winner reads worse than the line alone everywhere — KR13 declared

    Why it left the lane: (sensemaking unavailable — facts-only intervention)

    Measured outcome (deterministic, not self-graded): room mean offPct 26→32 over 8 commits since

    Open the signed attestation →
  114. 2026-09-16 · 📐 architect · offPct 49

    spec(pmu): §8.20 three words for three quantities (grip · leverage · fulcrum, each with its own null — KR14 read the first two as orthogonal) and COLLISION as the next measurement: defined with a shuffled-feed null, the gate rule stated first, KR19–KR21 declared, the confluence witness in F18's shape, the brake register struck

    Why it left the lane: (sensemaking unavailable — facts-only intervention)

    Measured outcome (deterministic, not self-graded): room mean offPct 22→49 over 4 commits since

    Open the signed attestation →
  115. 2026-09-16 · 🎩 operator · offPct 55 · mistagged

    feat(ops): G4 THE METER re-perched on the ratchet's quantity — every placed turn vs the next same-room commit's AGGREGATE cell through the same actionRead, admitted subset beside it, UNMEASURED below 20 distinct target commits (KR23's rule, built in before the first read); legacy grip-meter runs beside it for one pass

    Why it left the lane: No region narrative is cached for 6dac6a5b2, so the positional evidence is the file surface itself: the diff touches scripts/pmu/action-meter.mjs, scripts/ops/fable-maintain.mjs, tests/ops/fable-maintenance-ratchet.test.mjs, and root-level data/pmu/action-meter-latest.json / data/pmu/action-meter-agg-cache.json — none of which fall inside 🎩 operator's declared owned-surface globs (data/trust-debt/, docs/03-product/MVP/ORTHOGONAL_HEATMAP_MVP_SPEC.md, docs/01-business/pipeline/, docs/01-business/accounting/, data/pmu/pipeline/, data/pmu/claudbridge/, public/pmu-demo/, docs/ops/dashboard*, public/dashboard*). The commit trailer names operator as a Relevant-Room anyway, so the receipt's lane math scores 100% of the lit reality mass against a lane that structurally cannot contain any of the changed paths.

    The semantic pull: The pull is the trailer string 'Relevant-Rooms: architect, operator, laboratory' plus 'Originating-Terminal: 📐 architect (vscode)' — operator was listed as relevant to a change whose actual surface (scripts/pmu/, scripts/ops/, data/pmu/*.json at root, tests/ops/) sits entirely outside operator's owned globs. data/pmu/pipeline/ and data/pmu/claudbridge/ exist as owned subdirectories, but action-meter-latest.json and action-meter-agg-cache.json were written one level up, in bare data/pmu/ — close enough in the path string to look plausible, far enough in the glob to miss every match.

    Intent–reality gap: The commit message claims architect-led maintenance-ratchet work re-perching THE METER on the knob ratchet's own quantity; the receipt, run against operator's owned-surface lane because the trailer named operator relevant, measured 55% of the lit mass outside that lane — not because operator did the wrong work, but because operator was never actually a stakeholder in any of the five changed paths.

    • Land tests/rooms/relevant-rooms-covers-diff.test.mjs (ask-010, asked 6×) — fail a commit whose Relevant-Rooms trailer names a room with zero path overlap against that room's owned-surface glob
    • Land tests/pmu-simulator/originating-terminal-matches-surface.test.mjs (ask-027, asked 6×) — cross-check Originating-Terminal: architect against the touched surface too, since architect's own glob overlap for scripts/pmu/, scripts/ops/ should be verified positively, not just operator's absence
    • Decide and document whether data/pmu/*.json root-level artifacts belong inside data/pmu/pipeline/ (operator-owned) or stay a new shared/no-room surface — the ambiguity is what let the mistag look plausible
    • Move data/pmu/action-meter-latest.json and data/pmu/action-meter-agg-cache.json under data/pmu/pipeline/ if operator is confirmed the intended long-term owner of this artifact
    • Grep the room's other 38 out-of-lane events in the last 14 days for the same signature (operator listed in Relevant-Rooms with zero owned-path overlap) before assuming each is a distinct failure — this looks systemic, not a one-off

    What we learned: This room's chronic 39-events-in-14-days out-of-lane rate is not (at least not solely) code drifting out of operator's territory — it is Relevant-Rooms trailers naming operator as a stakeholder in commits that never touch a single operator-owned path. The prior three interventions here were facts-only (no sensemaking) and none of them identified this; the room-tagging mechanism, not the work itself, is the recurring defect class, and it is exactly what ask-010 and ask-027 were opened to catch — both still unshipped after 6 asks each.

    The missing guard (the deliverable): tests/rooms/relevant-rooms-covers-diff.test.mjs

    Detector probe: signal attribution — gzip reef 60% · ballistic walk 40%. litReality=143 out of a 144-cell lattice is saturation, not spread — the walk lit nearly every addressable cell. A near-saturated reality walk trivially inflates offPct because almost any lane will show most of its mass as 'outside' by sheer coverage. litIntent=131/144 is also near-saturated. Concrete adjustment: reduce the ballistic walk's fanout/depth for this commit class and re-run — if litReality drops well below ~100/144 while still centering on the correct home coordinate, saturation was a depth artifact, not a genuine cross-lane spread. Experiments: Re-run the walk for sha 6dac6a5b2 with fanout halved and record whether litIntent/litReality drop below 100/144 while the home coordinate stays stable · Pull litReality across the room's other 38 out-of-lane events from the last 14 days and check whether >130/144 is the median — if so, redirect part of the fix from per-commit room-tagging to a walk-depth cap for this commit shape · Ablate generic structural terms ('turn', 'commit', 'placement', 'meter', 'ratchet') from the reef corpus weighting for maintenance-instrument commits and re-walk, to test whether those terms are what's driving the near-total lattice saturation

    Measured outcome (deterministic, not self-graded): room mean offPct 26→32 over 8 commits since · dictionary ablation saved 896B

    A room showing 39 out-of-lane events in 14 days where the actual defect is trailer mistagging rather than genuine cross-lane work inflates that lane's apparent loss ratio without a matching real risk, so premium should stay flat pending the relevant-rooms-covers-diff guard rather than rising on a false signal.

    Open the signed attestation →
  116. 2026-09-16 · 🔨 builder · offPct 17

    content(blog): the worms were the ladder — a street post on the night the gate was pointed at the wrong question

    Why it left the lane: (sensemaking unavailable — facts-only intervention)

    Measured outcome (deterministic, not self-graded): room mean offPct 26→12 over 4 commits since

    Open the signed attestation →
  117. 2026-09-16 · 🧪 laboratory · offPct 26 · mistagged

    feat(ops): the crystal rides in every maintenance pass — probeHarness runs the crate's own property check, a refuted proof is a HARD defect, white space is in every tally row; pass 5 green on the crystal

    Why it left the lane: Every diffed path is architect/ops formal-methods territory — scripts/ops/fable-maintain.mjs, docs/architecture/fable-maintenance-ratchet.md, docs/ops/fable-maintenance/*.md, data/fable-maintenance/{cadence.json,tally.ndjson}, tests/ops/fable-maintenance-ratchet.test.mjs — none of it intersects 🧪 laboratory's owned surface (.claude/settings.json, .mcp.json, scripts/claude-room, thetacoach-crm-mcp/, swarm-comms/, .thetacog/orchestrator/, .thetacog/punch-list*). Terms like 'probeHarness', '--maintain-harness', 'harness-properties.json', 'ring latch', 'GripRise witness', 'cadence snaps to 10' are ratchet/formal-verification vocabulary that seed the reef toward architect/operator coordinates. laboratory only enters via the free-text 'Relevant-Rooms: architect · operator · laboratory' trailer — the walk then had to place 26% of the lit mass somewhere, and with zero laboratory-owned bytes in the diff it necessarily fell outside laboratory's lane.

    The semantic pull: The commit trailer says 'Originating-Terminal: 📐 architect' and 'Relevant-Rooms: architect · operator · laboratory' — laboratory is asserted by trailer text alone, never by a path match against its owned-surface list.

    Intent–reality gap: The commit's own trailer claims laboratory as one of three relevant rooms, but the receipt (offPct=26 against laboratory's lane) shows the work is 100% architect/operator formal-methods content — laboratory's 'relevance' is a label, not a location.

    • Land tests/pmu-simulator/mistagged-commit-does-not-inflate-offpct.test.mjs (ask-033, already asked 5×) — the exact guard for this failure class
    • Land tests/rooms/relevant-rooms-covers-diff.test.mjs (ask-010, asked 5×) — verifies each listed Relevant-Room owns diffed surface
    • Land tests/pmu-simulator/originating-terminal-matches-surface.test.mjs (ask-027, asked 5×) — verifies Originating-Terminal's claimed room actually owns touched paths
    • Re-audit the 3 prior laboratory lessons (f9e6aa939, f7db1c8ca, e0455e4ff) for the same mistagging pattern before trusting laboratory's offPct trend as a laboratory-specific quality signal
    • Update the commit-trailer convention doc (wherever COMMIT MESSAGE STRUCTURE / Relevant-Rooms is defined) to require surface-overlap justification, not topical association

    What we learned: Laboratory's offPct series may be dominated by MISTAGGING noise, not laboratory's own drift: a commit authored and owned entirely by architect can inflate laboratory's loss record just by naming it in a free-text Relevant-Rooms trailer with zero path overlap. The room-tagging convention has no verification step, so 'ops/maintenance'-flavored work from any room gets swept by association into rooms that never touched a byte of it.

    The missing guard (the deliverable): tests/pmu-simulator/mistagged-commit-does-not-inflate-offpct.test.mjs — already an open ask (ask-033, asked 5×, 1 spelling). It should assert that a room's offPct is computed only from commits where that room's owned-surface glob matches at least one diffed path, not from Relevant-Rooms trailer text alone.

    Detector probe: signal attribution — gzip reef 60% · ballistic walk 40%. litIntent=141/walksIntent=141 and litReality=137/walksReality=137 — essentially 100% of every walked node lights up on both sides. A fully-saturated walk carries no differential information about lane confinement; it's spreading, not discriminating. Adjustment: raise the ballistic walk's admission/tolerance threshold so it prunes low-confidence hops instead of lighting nearly everything it touches. Experiments: Re-run this sha's reef seed with laboratory's owned-surface globs excluded from the candidate lexicon and confirm prewalkOverlap drops toward 0 — proves the 6 units of overlap are trailer-text noise, not path-based content · Strip the Relevant-Rooms trailer line from the intent-lane text fed to the reef and re-measure offPct for 71ea8e3cd3 — if offPct is unchanged, the trailer isn't driving placement and the fix belongs in room-assignment logic, not the reef; if it drops, the trailer text itself is polluting the seed · Ship ask-033's guard, then replay all 25 laboratory out-of-lane events from the last 14 days through the same mistagged-vs-structural check to convert the undifferentiated pile into a labeled distribution

    Measured outcome (deterministic, not self-graded): room mean offPct 20→11 over 3 commits since · dictionary ablation saved 1203B

    This event should not raise 🧪 laboratory's loss ratio at all — it's an architect-authored commit mislabeled into laboratory's Relevant-Rooms with zero owned-surface overlap; premium is restored by re-scoring laboratory's last 25 out-of-lane events through the (still-unshipped) mistagged-commit guard rather than trusting the raw offPct trend as laboratory's own drift.

    Open the signed attestation →
  118. 2026-09-16 · 🎤 voice · offPct 22

    content(blog): the-mud-and-the-math v3 — /bouncer applied: seven doors, seven funnels, none repeated; ¶4 leads with the affirmative

    Why it left the lane: (sensemaking unavailable — facts-only intervention)

    Measured outcome (deterministic, not self-graded): room mean offPct 18→15 over 8 commits since

    Open the signed attestation →
  119. 2026-09-16 · 🎩 operator · offPct 29

    feat(pmu): KR7 the target decided by measurement (none of four clears both halves) and KR8 the projector audited on the tape alone — a commit's own message predicts its own diff's cell at z 1.56 / 2.15: the ceiling on every number in §8 is the text → cell projection, not the search

    Why it left the lane: (sensemaking unavailable — facts-only intervention)

    Measured outcome (deterministic, not self-graded): room mean offPct 26→32 over 8 commits since

    Open the signed attestation →
  120. 2026-09-16 · 📐 architect · offPct 31

    spec(pmu): §8.35 names the EV-D1 ledger row (the ledger guard requires every row to appear in the spec)

    Why it left the lane: (sensemaking unavailable — facts-only intervention)

    Measured outcome (deterministic, not self-graded): room mean offPct 23→13 over 46 commits since

    Open the signed attestation →
  121. 2026-09-16 · 🎩 operator · offPct 54

    spec(pmu): §8.25 v26 KR19 read on the 10× corpus — every feed pair collides far above the shuffled-feed null (the feeds agree about the prompt), none of it clears the gate; reef·thread is dead as a gate (at the null to the third decimal), reef·ring has the right sign on both halves (colliding 21.3% vs 15.4%, A 2.41 / B 2.59 / all 3.76) and misses the pre-stated bar by 0.02 on A — a basin, not a bridge

    Why it left the lane: (sensemaking unavailable — facts-only intervention)

    Measured outcome (deterministic, not self-graded): room mean offPct 26→32 over 8 commits since

    Open the signed attestation →
  122. 2026-09-16 · 🧭 navigator · offPct 24 · mistagged

    feat(pmu): F11 resolved the same day — the proxy said 0 P1 moments, the construct says 14, and 82% of walkers widen against a flat objective

    Why it left the lane: The diff is 100% PMU/Rust construct vocabulary — run_ringlatch, grip_w(pixel), wormK@CELL:rN, flat_grip_walkers, interior_max_walkers — living entirely in .thetacog/pmu/src/maintain.rs, packages/thetacog-mcp/pmu-rust/src/{main,maintain}.rs and docs/architecture/fable-maintenance-ratchet.md. None of that vocabulary or any touched path intersects navigator's owned surface (openclaw/src/thematic-scheduler.ts, focus-gravity.ts, scripts/open-room-session.sh, cognitive-dashboard.html). That technical mass is exactly what pulls lensReality to B,A1 while the commit's own Relevant-Rooms trailer still names navigator, holding lensIntent at A1,C1 — the coordinate families never had a chance to agree.

    Intent–reality gap: The commit's trailer claims 'Relevant-Rooms: builder, navigator, laboratory,' filing this event under navigator's lane, but zero of the six changed files fall inside navigator's owned-file globs — the diff stat has no thematic-scheduler, no room-runner, no cognitive-dashboard line at all.

    • Update the commit-trailer authoring guidance in CLAUDE.md to state Relevant-Rooms must be a subset of {rooms whose owned-glob matches a changed path}
    • Wire ask-010 (tests/rooms/relevant-rooms-covers-diff.test.mjs) so a room named in the trailer with zero matching paths fails CI, not just this receipt
    • Wire ask-033 (tests/pmu-simulator/mistagged-commit-does-not-inflate-offpct.test.mjs) so a mistagged room-claim is excluded from that room's offPct denominator before it counts as an out-of-lane event
    • Wire ask-027 (tests/pmu-simulator/originating-terminal-matches-surface.test.mjs) since Originating-Terminal (builder) and the room this event surfaced under (navigator) also disagree
    • Add navigator's owned-glob list to whatever room-surface map backs tests/ops/room-surface-coverage.test.js (ask-001) so the mismatch is checkable pre-commit, not post-hoc

    What we learned: The lane-assignment pipeline trusts the self-reported Relevant-Rooms trailer text over diff-path arithmetic — a commit can name a room in its trailer with zero file-level overlap and the full lit-reality mass still gets charged against that room's lane. Navigator's 8 out-of-lane events in 14 days is consistent with this being a repeat mechanism, not 8 independent incidents.

    The missing guard (the deliverable): tests/pmu-simulator/mistagged-commit-does-not-inflate-offpct.test.mjs

    Detector probe: signal attribution — gzip reef 65% · ballistic walk 35%. Right-sized, not shallow or saturated — litIntent(141)/litReality(131) both land substantial, coherent masses, they're just scored against a lane the trailer mis-declared. No walk-depth adjustment needed; the fix belongs upstream of the walk, at room/lane seeding. Experiments: Recompute prewalkOverlap using navigator's owned-glob keywords (thematic-scheduler, focus-gravity, cognitive-dashboard) against this diff's vocabulary (ring-latch, grip_w, worm) and confirm overlap collapses near 0 — would have flagged this before the walk ran · Gate reef seeding so a room only receives seed weight from a commit when ≥1 changed path falls in that room's owned-glob list; re-run navigator's last 14-day history and measure how many of the 8 events drop out · Track a 90-day 'trailer-claims-zero-path-overlap' rate per room; ablate those events from offPct history and measure whether navigator's trend line flattens

    Measured outcome (deterministic, not self-graded): room mean offPct 16→34 over 8 commits since · dictionary ablation saved 716B

    A mistagged room claim like this one inflates navigator's apparent loss ratio without any real navigator-surface defect, so the premium signal on that lane is currently noise; restoring it requires the offPct denominator to exclude claims with zero path overlap, not a change to navigator's actual work quality.

    Open the signed attestation →
  123. 2026-09-16 · 📐 architect · offPct 53

    spec(pmu): §8.23 P = 1 means P(null) → 0 for a stated crossing, never correctness — tonight's readings as P(null); the ballistic walk supplies discreteness, determinism and a cheap null, not the signal; P(null) → 0 is a different number from signal-to-noise (effect 2.3 points at a 15.8% null), and both ride on the row

    Why it left the lane: (sensemaking unavailable — facts-only intervention)

    Measured outcome (deterministic, not self-graded): room mean offPct 23→30 over 4 commits since

    Open the signed attestation →
  124. 2026-09-16 · 🎩 operator · offPct 62

    feat(pmu): KR15 — the configurations the goal named, ranked against the action on the 10× corpus: worms 6 drops the shipped placement below the null (−1.95) while topping the admissible count; worms 0 matches worms 4 on the action (3.72 vs 3.56) at a third of the rungs and a 61 ms door; the five between are a tie; DP-K3 the pin

    Why it left the lane: (sensemaking unavailable — facts-only intervention)

    Measured outcome (deterministic, not self-graded): room mean offPct 26→32 over 8 commits since

    Open the signed attestation →
  125. 2026-09-16 · 🧭 navigator · offPct 42 · mistagged

    feat(ops): the maintenance ratchet — a Fable agent paced by prompts, sweeping on the metal, mailing its own null

    Why it left the lane: The diff introduces data/fable-maintenance/cadence.json plus heavy pacing vocabulary — "the cadence is the measurement, not the scheduling", "wakes every N prompts", "interval × 1.5 (ceiling 200)", "snap to the floor of 10", "paced by PROMPTS not by wall clock" — which is the exact semantic register of navigator's owned surface (openclaw/data/thematic-schedule.json, openclaw/data/ollama-overnight/thematic-heartbeat.json, openclaw/src/thematic-scheduler.ts, openclaw/src/focus-gravity.ts). That vocabulary overlap is plausible enough to pull the gzip-NCD reef seed and the recursive walk toward navigator's coordinates even though every one of the ten changed files (.thetacog/pmu/src/*, packages/thetacog-mcp/pmu-rust/src/*, scripts/ops/fable-maintain.mjs, tests/ops/*, docs/architecture/*, docs/ops/*) sits outside navigator's owned-file list entirely. The walk then collapsed to a single reality cell twice (lensReality=B2,B2, litReality/walksReality=126/126 — fully saturated) against an intent lane of A1,B1, with laneHamming 31 clearing the null of 24 — a real, structural jump, not noise.

    The semantic pull: "cadence.json", "interval", "prompts", "the cadence IS the measurement" (fable-maintenance-ratchet.md) vs navigator's own "thematic-schedule.json" / "thematic-heartbeat.json" / "thematic-scheduler.ts" / "focus-gravity.ts" — two unrelated systems using the same scheduling-and-pacing lexicon, landing on coords A1,B1 (intent) → B2,B2 (reality, saturated both times).

    Intent–reality gap: The commit's own trailers declare Originating-Terminal: 🔨 builder and Relevant-Rooms: builder, architect, operator — navigator appears nowhere in the commit's own claim. Yet the event this receipt fired against is room 🧭 navigator, whose owned surface (scheduler/heartbeat/dashboard files) the diff never touches at all, so the 42% off-lane reading is measuring a room the commit never claimed to be in.

    • Land tests/pmu-simulator/originating-terminal-matches-surface.test.mjs (ask-027, asked 2×) so a commit's originating-terminal/room claim is checked against the surface it actually touched before offPct is computed against it.
    • Land tests/rooms/relevant-rooms-covers-diff.test.mjs (ask-010, asked 5× — highest-frequency open ask in this ticket list) as the commit-time guard ensuring every room whose surface a diff touches appears in Relevant-Rooms, and conversely that a room absent from Relevant-Rooms is not the one charged for lane drift.
    • Audit navigator's other 6 out-of-lane events in the last 14 days for the same signature (Relevant-Rooms excludes navigator, zero owned-surface overlap in the diff) before trusting the room's offPct trend as behavioral.
    • Re-examine prior lesson f242ba32d (navigator mean offPct 17→42, a regression after a facts-only intervention) for the same mistagging signature — if it's the same defect, the intervention was reacting to attribution noise, not real drift, which explains why it made the number worse instead of better.
    • Disambiguate the reef/lattice vocabulary for "cadence"/"schedule"/"heartbeat": data/fable-maintenance/cadence.json and openclaw/data/thematic-schedule.json are two structurally similar small JSON files in unrelated systems; consider namespacing or seeding the gzip dictionary to keep them from compressing into the same lattice neighborhood.

    What we learned: This room's offPct history isn't necessarily measuring navigator's own behavior — a commit can carry a fully correct, fully-scoped Relevant-Rooms trailer (builder, architect, operator) that excludes navigator entirely, touch zero files navigator owns, and still get charged against navigator's lane at 42% off. The prior two facts-only interventions for this room (offPct 17→42, then unspecified) may have been correcting for a tagging defect rather than for real cross-lane work, which would explain why the room's trend didn't improve on the first attempt.

    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 shallow — every visited cell lit on both intent and reality sides (131/131, 126/126), which means the walk isn't discriminating between strongly-matched and weakly-matched cells; a fully-lit walk on both lanes but still 42% off-lane suggests the lit-threshold is too permissive for cross-room disambiguation. Adjustment: tighten the lit threshold (or add a partial/dim-lit tier) so cells reached only via generic scheduling vocabulary (shared by two unrelated systems) don't fully saturate the same way as cells reached via file-path/owned-surface evidence. Experiments: Re-seed the reef exclusively from the paths owned by the trailer's declared Relevant-Rooms (builder, architect, operator) before running gzip-NCD against the full corpus, and check whether prewalkOverlap and the resulting room stay consistent with the trailer for this commit and for f242ba32d. · Ablate the cadence/schedule/heartbeat token family from the gzip baseline dictionary for cross-room comparisons only, then re-run this commit's receipt and measure whether offPct against navigator drops toward 0. · Run the lattice walk three more times seeded from each of builder's, architect's, and operator's owned-surface corpora and compare against the navigator-seeded run — if none of the three trailer-declared rooms also collapses to B2,B2, that confirms navigator's assignment was an artifact of reef seeding rather than a genuine second lane the work touched.

    Measured outcome (deterministic, not self-graded): room mean offPct 16→34 over 8 commits since · dictionary ablation saved 814B

    An offPct reading driven by a mistagging defect inflates navigator's apparent loss ratio on work it never touched, which would misprice the room's premium against phantom risk; restoring it requires the trailer-precedence fix and the originating-terminal guard so navigator's charged rate reflects only commits that actually claim or touch its owned surface.

    Open the signed attestation →
  126. 2026-09-16 · 🎩 operator · offPct 52

    feat(pmu): KR21 feed β — the second CLASS of witness (the room's previous commit, placed by the one projector) built, guarded and read: cross-class agreement is at chance (0.196 vs 0.204) where within-class agreement was 3× the null; β carries no inertia beyond the base rate; the coinciding rows lean (30 vs 20%, 36 vs 18%) and clear nothing on both halves — spec §8.26 v27

    Why it left the lane: (sensemaking unavailable — facts-only intervention)

    Measured outcome (deterministic, not self-graded): room mean offPct 26→32 over 8 commits since

    Open the signed attestation →
  127. 2026-09-16 · 🎩 operator · offPct 26 · mistagged

    spec(pmu): §8.30 v31 G2/G5/G6 read — KR18's falsifier FIRED (the prompt's lane names the next commit's files at chance, 17.6 vs 15.5%; the declared domain too; the previous commit's paths win 2.5:1); KR23 THE CORPUS-WIDE z 3.48 IS TARGET CONCENTRATION (1,642 of 2,184 rows pair to three commits; on the newest quartile, 139 distinct commits, placement → next commit reads AT THE NULL); KR24 a basin is low dispersion (1.94 vs 3.51) and predicts only on the six commits

    Why it left the lane: The diff touches data/formal/harness-properties.json, data/pmu/kr18-latest.json, data/pmu/kr19-*.json, data/pmu/kr21-*.json, data/pmu/kr23-era-audit.json, data/pmu/kr24-dispersion.json, docs/architecture/fable-maintenance-ratchet.md, scripts/pmu/kr18-file-touch.mjs, scripts/pmu/kr23-era-audit.mjs, scripts/pmu/kr24-dispersion.mjs, tests/formal/kr18-file-touch.test.mjs — none of these paths fall under 🎩 operator's declared globs (data/trust-debt/, docs/03-product/MVP/ORTHOGONAL_HEATMAP_MVP_SPEC.md, docs/01-business/pipeline/, docs/01-business/accounting/, data/pmu/pipeline/, data/pmu/claudbridge/, public/pmu-demo/, docs/ops/dashboard*, public/dashboard*). The commit's own trailer names Originating-Terminal: 📐 architect (vscode) and Relevant-Rooms: architect, laboratory, builder — operator is never named. The receipt's own numbers back this up structurally: prewalkOverlap=6 against litIntent=139/litReality=141 (the gzip-NCD reef seeds agreed on only ~4% of cells before the walk even ran) and laneHamming=34 exceeds laneHammingNull=22 — the intent pixel (A2,C) and reality pixel (C,C2) are further apart than chance, which is exactly what you'd expect from scoring a research-vocabulary commit ('KR18', 'KR23', 'shuffled-pairing null', 'z_required(3)', 'distinct targets', 'null_mean'/'null_sd') against a lane (operator's dashboard/accounting/trust-debt surface) it was never placed in to begin with.

    The semantic pull: Positionally: the diff's dominant strings are statistical-audit vocabulary repeated dozens of times across docs/architecture/fable-maintenance-ratchet.md and the three new scripts/pmu/kr*.mjs files — 'shuffled-pairing null', 'z_required(3)', 'distinct targets', 'null_mean', 'null_sd', 'rateVsNull', 'binomTailGeq'. That vocabulary is dense enough (14 KB+ of changelog line alone) that the reef's gzip-NCD seed lands it in a coordinate region far from wherever operator's dashboard/accounting/trust-debt vocabulary seeds — laneJump=8 lattice steps, confirmed by laneHamming(34) > laneHammingNull(22). This is a real, structured pull, not walk noise (walkTruncated=false, walksIntent≈litIntent, walksReality≈litReality — the walk is fully utilized on both sides, so the divergence originates at the reef seed, not from an under- or over-run walk).

    Intent–reality gap: The commit message correctly claims lane 'architect, laboratory, builder' in its own Relevant-Rooms trailer and Originating-Terminal 📐architect — it never claims operator. The receipt nonetheless scored this event against 🎩 operator's owned-surface globs, none of which the diff touches, producing offPct=26 for a room that was never doing this work.

    • Ship tests/pmu-simulator/originating-terminal-matches-surface.test.mjs — assert routed room ∈ commit's own Relevant-Rooms trailer before offPct is computed against that room's globs (ask-027, already asked 5×; this is the 6th recurrence)
    • Ship tests/pmu-simulator/mistagged-commit-does-not-inflate-offpct.test.mjs — a MISTAGGED event must not accumulate into the wrongly-routed room's rolling offPct trend (ask-033, asked 6×)
    • Ship tests/rooms/relevant-rooms-covers-diff.test.mjs — every touched path must resolve to at least one room in the trailer's declared set (ask-010, asked 6×)
    • Add docs/architecture/fable-maintenance-ratchet.md, data/pmu/kr*.json, scripts/pmu/kr*.mjs, data/formal/harness-properties.json, tests/formal/*.mjs to architect/laboratory's declared owned-surface globs
    • Audit operator's last 38 out-of-lane events for the same Originating-Terminal≠operator pattern before trusting its offPct trend as a room-health signal
    • Re-baseline operator's rolling offPct after excluding confirmed mistags, including sha 912bd3857 itself

    What we learned: Three guard-asks for this exact defect class (ask-010, ask-027, ask-033) have each been asked 5-6 times without shipping, and operator's own prior-lessons trend (12→13, 10→24, 15→12 offPct) shows noisy movement with no discoverable code-side cause each time — the missing variable was never inside operator's owned-surface list at all, it's upstream in room attribution silently overriding the commit's own self-declared Relevant-Rooms trailer.

    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 shallow or saturated: walk counts equal lit counts on both sides with no truncation, meaning every step lights a genuinely new cell with no redundant revisits and no ceiling hit. The adjustment belongs upstream at the reef seed stage, not at walk depth — see reef_tightening #1. Experiments: Add the PMU statistical-audit vocabulary (KR<N>, z_required, shuffled-pairing null, distinct targets) to the reef dictionary and re-run prewalkOverlap on this sha; if overlap rises materially above 6 while offPct falls, the seed-stage fix is confirmed as the lever, not the walk · Before computing offPct, cross-check the routed room against the commit's Relevant-Rooms trailer on the last 38 operator events and count how many are pure mistags vs genuine cross-lane work — this separates 'operator has a real drift problem' from 'operator is absorbing someone else's readings' · Re-run this sha's lane check with the room forced to 'architect' and 'laboratory' respectively and compare offPct against operator's 26 — if it drops near/at threshold, that's a second, independent confirmation of mistagging beyond the trailer alone

    Measured outcome (deterministic, not self-graded): room mean offPct 26→32 over 8 commits since · dictionary ablation saved 778B

    A mistagged event inflates operator's loss-ratio for work it never did, which either overprices operator's premium or masks the room that actually owns this risk (architect/laboratory) from ever seeing its own drift signal — restored by routing on the trailer so each room's premium reflects only the commits it actually claimed.

    Open the signed attestation →
  128. 2026-09-16 · 🎩 operator · offPct 44

    spec(pmu): §8.32 v33 how far, and what was learned — KR26: the prompt's own path mention names a file the next same-room commit touched at 5.7% against a 0.4% null (z 16.7, both halves clear; 317 prompts, 112 distinct commits) — the first cross-class reading that clears, with no lattice in the loop; inertia still wins discordant rows 28:13; twelve lessons; the next objective stated as a gap in path space

    Why it left the lane: (sensemaking unavailable — facts-only intervention)

    Measured outcome (deterministic, not self-graded): room mean offPct 26→32 over 8 commits since

    Open the signed attestation →
  129. 2026-09-16 · 🎩 operator · offPct 28

    feat(pmu): KR29 SUFFICIENCY SHARES — compared to the union ceiling and the shuffled floor: inertia carries 89% of the attainable under the pin and the lens 21% (+8 given inertia); valve open, the lens becomes the most sufficient single witness on both targets (share 37%, marginal +16.7/+15.1 over inertia); the union explains at most a third of where the room touches next; the two round checks (b−c positive on both halves; the basin did NOT hold at 98% coverage — gate not ready); rule 16 pre-registers the sufficiency-based acceptance for the next round — spec §8.37 v38

    Why it left the lane: (sensemaking unavailable — facts-only intervention)

    Measured outcome (deterministic, not self-graded): room mean offPct 26→32 over 8 commits since

    Open the signed attestation →
  130. 2026-09-16 · 🎩 operator · offPct 25

    feat(pmu): KR19 the collision reader — two feeds' paths (cell + sources) collide against a shuffled-feed null, and the gate asks whether colliding rows predict the action on both halves

    Why it left the lane: (sensemaking unavailable — facts-only intervention)

    Measured outcome (deterministic, not self-graded): room mean offPct 26→32 over 8 commits since

    Open the signed attestation →
  131. 2026-09-16 · 🎩 operator · offPct 30

    feat(pmu): G3 the action floor re-perched on the RATE GAP — ACCEPT iff both halves' (rate − null) rise ≥ 0.01 with z ≥ 2 as admissibility only; a fixture where n doubles at constant effect is a TIE (z 2.2/2.8 → 3.1/4.0, gap flat); never-softens guards the gap; floor file migrated (gap A 0.024 / B 0.031)

    Why it left the lane: (sensemaking unavailable — facts-only intervention)

    Measured outcome (deterministic, not self-graded): room mean offPct 26→32 over 8 commits since

    Open the signed attestation →
  132. 2026-09-16 · 🧪 laboratory · offPct 59 · structural

    feat(pmu): implement what we learned — the snowball ablation run (stage 0 alone reads z 3.09 at 35 ms; the snowball adds ≈ 0.6 z at 2× rungs; ring walkers add nothing resolvable at 4–5×), every rung names its sources (T5), the knob ratchet re-perched on the action objective (KR17), §8.17 corrected

    Why it left the lane: The diff's byte-mass is dominated by data/room-bifurcations.json: 1,150 of the diff's 1,438 inserted lines (≈80%) sit in that one file, added because this commit ends with 'Delegated. An MDX cook … to the 🎭 Performer room … through the rooms door (bifurcate, never a branch)'. A bifurcation payload is, by construction (per CLAUDE.md's DELEGATION NEVER GIT-BRANCHES rule), a spec+context handoff written FOR another room — its content semantically belongs to whichever room will pull it, not to the room that wrote it. The other nine changed files (lens.rs ×2, knob-ratchet.mjs, walk-knobs.mjs, harness-properties.json, the ratchet doc, the two new test files) are legitimate architect/PMU work — the commit's own Originating-Terminal trailer says '📐 architect'. But the receipt attributes the whole commit to room '🧪 laboratory', whose owned surface (thetacoach-crm-mcp/, .mcp.json, scripts/init-claude-flow-with-crm.sh, scripts/check-mcp-health.sh, scripts/claude-room, swarm-comms/, .thetacog/orchestrator/, .thetacog/punch-list*) matches ZERO of the 10 touched files. The prewalkOverlap=5 (vs ~140 lit cells) shows the mismatch is baked in before the walk even runs — consistent with a shared, unowned ledger file supplying most of the reality mass under a room label that owns none of it.

    The semantic pull: 'data/room-bifurcations.json' (1,150/1,438 inserted lines) — a shared cross-room delegation ledger, not laboratory's; 'packages/thetacog-mcp/pmu-rust/src/lens.rs' and '.thetacog/pmu/src/lens.rs' — PMU/architect Rust surface, sharing the substring 'mcp' with laboratory's own owned 'thetacoach-crm-mcp/' and '.mcp.json'; 'scripts/pmu/knob-ratchet.mjs' — sits under scripts/, the same top-level dir as laboratory's three owned scripts/*.sh files. None of these paths appear in laboratory's owned-surface list verbatim, but the 'mcp' token and the scripts/ prefix overlap enough to explain a token-based (not construct-based) room match.

    Intent–reality gap: The commit claims Originating-Terminal architect and does architect/PMU work (lens.rs ablation, knob-ratchet.mjs action-objective, the maintenance-ratchet spec) — none of which the receipt's room (laboratory) owns. The receipt measured 59% of lit reality outside the intent lane because 80% of the diff's inserted lines are a shared bifurcation ledger whose content is written FOR the performer room, and the lane detector has no notion of 'shared infrastructure with no single owner' — it folds that other-room content into whichever room the commit got attributed to.

    • Implement tests/rooms/relevant-rooms-covers-diff.test.mjs (ask-010, already asked 5×) — fail when a room in Relevant-Rooms owns zero touched files; this commit is a real-world fixture.
    • Implement tests/pmu-simulator/originating-terminal-matches-surface.test.mjs (ask-027, already asked 5×) — verify the Originating-Terminal room's owned-surface actually dominates the diff before trusting the trailer.
    • Exclude or per-entry-reroute data/room-bifurcations.json in the offPct lane detector so a delegation payload for another room stops inflating the originating room's drift score.
    • Extend tests/pmu-simulator/shared-state-files-have-room-owner.test.mjs (ask-003) to cover data/room-bifurcations.json explicitly as a declared shared/no-single-owner file.
    • Run tests/ops/room-glob-overlap.test.mjs (ask-024) with a fixture pairing 'thetacoach-crm-mcp/' against 'packages/thetacog-mcp/**' to confirm the 'mcp' token isn't causing a false glob overlap.
    • Re-audit laboratory's prior 26 out-of-lane events in the last 14 days for the same room-bifurcations.json-dominant signature before assuming laboratory itself is drifting.

    What we learned: A commit's diff-stat can be dominated by a SHARED, no-single-owner ledger file (data/room-bifurcations.json, 80% of this diff's insertions) whose content is, by the definition of bifurcation, written FOR another room — the drift receipt has no concept of 'shared infrastructure' and folds that other-room content into whatever room the commit is attributed to, which will inflate offPct on any commit that delegates work, independent of whether the originating room actually drifted.

    The missing guard (the deliverable): tests/rooms/relevant-rooms-covers-diff.test.mjs

    Detector probe: signal attribution — gzip reef 75% · ballistic walk 25%. Right-sized, not shallow or saturated — walksIntent/walksReality and litIntent/litReality are within 3% of each other, so the walk isn't running out of runway or hitting an aperture ceiling. No depth adjustment needed; the one concrete change is upstream of the walk: feed it a reality corpus with room-bifurcations.json's bulk payload excluded (or split per destination room) so litReality stops absorbing mass that isn't this room's own work. Experiments: Re-run this sha's receipt with data/room-bifurcations.json excluded from the reality corpus and confirm offPct drops from 59 toward the 15 threshold — directly tests the shared-ledger-dilution hypothesis. · Replay the room's last 26 out-of-lane events (14-day window) re-attributing room by Originating-Terminal instead of whatever field the detector currently reads, and count how many resolve under 15 — tests whether most of laboratory's recent drift burden is this same mislabeling class rather than real lab drift. · Run scripts/ops/room-glob-overlap.test.mjs with a fixture pairing laboratory's 'thetacoach-crm-mcp/' against 'packages/thetacog-mcp/**' to rule out (or confirm) a substring-token collision on 'mcp' as a contributing cause.

    Measured outcome (deterministic, not self-graded): room mean offPct 22→11 over 3 commits since · dictionary ablation saved 1411B

    Laboratory's loss-ratio looks worse than it is — a chunk of its 26 out-of-lane events in 14 days is likely this same shared-ledger/mislabeled-room artifact rather than real lab drift; premium is restored by rerouting room-bifurcations.json's mass to its named destination rooms in the detector and by the Relevant-Rooms/Originating-Terminal guards, which turn an unverifiable 'laboratory is drifting' claim into a checked one.

    Open the signed attestation →
  133. 2026-09-16 · 🧪 laboratory · offPct 28 · structural

    feat(bouncer): /bouncer — a different call to action at every bounce point, never the same off-ramp twice; post + newsletter; reader mode by session

    Why it left the lane: The only new top-level path in this diff is .claude/skills/bouncer/SKILL.md. Room 🧪laboratory's declared surface is .claude/settings.json, .claude/settings.local.json, .mcp.json, thetacoach-crm-mcp/, swarm-comms/, .thetacog/orchestrator/ — i.e. laboratory already owns several other '.claude/*' and infra config paths. The new SKILL.md shares only the '.claude/' prefix with that surface, nothing semantic. prewalkOverlap=3 (low seed overlap before the ballistic walk even ran) shows the reef split intent-text (commit message: 'bouncer','CTA','newsletter','off-ramp') from reality-text (diff tokens: 'FUNNELS','sold=','iamfim.com','github.com/wiber/thetacog-mcp') into different neighborhoods early; walksIntent=131 vs walksReality=121 are nearly symmetric, so the walk mostly propagated that early split rather than causing it. lensIntent=B3,A2 (matches Relevant-Rooms: voice,builder,network) vs lensReality=B,A1 (pulled toward laboratory's coordinate) with laneJump=7 and laneHamming=37 — notably ABOVE laneHammingNull=31, meaning the placement is barely more decisive than noise, consistent with a weak path-prefix collision rather than strong semantic content matching laboratory's actual domain (MCP/CRM/swarm orchestration).

    The semantic pull: The string '.claude/' at the head of the new file's path is the only thing dragging placement toward laboratory's lane — none of the substantive diff tokens (FUNNELS, funnelOf, SOLD_DOOR, iamfim.com, OffRamp, bouncer-email) appear anywhere in laboratory's owned surface or its natural domain (MCP servers, CRM, swarm-comms).

    Intent–reality gap: The commit declares Relevant-Rooms: voice, builder, network and Originating-Terminal: 📐architect — content/newsletter work, correctly scoped. The receipt instead attributes the event to 🧪laboratory, a room named nowhere in the commit's own trailers, because .claude/skills/** is not covered by ANY room's declared owned-surface and falls through to raw path-prefix/reef-similarity routing.

    • tests/ops/room-surface-coverage.test.js (ask-001) — assert .claude/skills/** is covered by an explicit room owner, not left to fall through to reef-similarity routing
    • tests/rooms/relevant-rooms-covers-diff.test.mjs (ask-010) — assert every diffed path in this commit resolves under voice, builder, or network before the receipt computes offPct
    • tests/pmu-simulator/originating-terminal-matches-surface.test.mjs (ask-027) — assert Originating-Terminal (📐architect) and the receipt's attributed room (🧪laboratory) don't silently diverge
    • tests/ops/room-glob-overlap.test.mjs (ask-024) — assert laboratory's '.claude/settings*'/'.mcp.json' globs don't implicitly swallow '.claude/skills/**'
    • Whatever config declares laboratory's owned surface: add an explicit negative/exclusion entry for '.claude/skills/**' so future skills don't drift into this lane by prefix alone
    • Re-run this sha's receipt after the fix and confirm offPct falls below 15 for this event class

    What we learned: Any file placed under '.claude/' implicitly gravitates toward whichever room owns OTHER '.claude/*' paths, regardless of what the commit's own Relevant-Rooms trailer declares — the room-lexicon walk is keyed on raw path-prefix text, not on declared trailers or per-subpath ownership, and '.claude/skills/**' specifically has no declared owner in any of the 9 rooms' surfaces today, so it falls through to reef-similarity routing.

    The missing guard (the deliverable): tests/ops/room-surface-coverage.test.js

    Detector probe: signal attribution — gzip reef 60% · ballistic walk 40%. Right-sized, not saturated or shallow — 131/121 lit cells sit well under the 144-cell lattice cap and the two sides are proportionally close. Concrete adjustment: seed the INTENT walk with the diff's touched file paths (not just the commit message text) so path-prefix collisions like '.claude/skills/' surface during the walk itself, before the receipt is finalized, rather than being discovered only after offPct trips. Experiments: Re-run this sha offline with file paths added to the intent-lane reef seed; check whether offPct drops below 15 once the '.claude/skills/' vs '.claude/settings' collision is visible pre-walk. · Split the '.claude/' reef bucket into distinct sub-tokens ('.claude/settings', '.claude/skills', '.mcp.json') and re-measure laneHamming vs laneHammingNull — currently 37 vs 31, barely above noise; want a materially larger gap once sub-tokens are distinct. · Add a second-pass check for prewalkOverlap<5 events (weak seed overlap) that flags 'possible unowned surface' before the receipt is sealed, then measure recurrence of this event class over the next 2 weeks of laboratory commits.

    Measured outcome (deterministic, not self-graded): room mean offPct 20→11 over 3 commits since · dictionary ablation saved 781B

    An out-of-lane event this room's 21st in 14 days, driven by a structural path-prefix collision rather than bad work, erodes this lane's loss-ratio on false positives (the receipt itself stays trustworthy, but noisy attributions dilute what 'out-of-lane' signals); it's restored once '.claude/skills/**' has an explicit owner and the coverage/overlap guards close the fallback path.

    Open the signed attestation →
  134. 2026-09-16 · 📐 architect · offPct 65 · mistagged

    spec(pmu): §8.17 the vocabulary corrected — the operator's 'worms' are the backward snowball (the ladder), not the spatial ring walkers the 09-14 commit named worms; the design he meant is the one the numbers favour; several snowballs from different associations is the next design row

    Why it left the lane: The diff is 100% inside docs/architecture/fable-maintenance-ratchet.md and is saturated with PMU/Fable-internals vocabulary — 'the backward snowball (the ladder)', 'concentric-ring walkers', 'PARALLEL WORMS', 'STREAM UNTIL GRIP LATCH', 'the ladder's grip latch', 'KR14/KR15', 'z 3.72' — none of which are strategy/product prose. No region narrative is cached for this sha, so the positional story has to come from the lens read: lensIntent=C3,B2 (architect's declared quadrant) vs lensReality=A1,B1, a fully disjoint pair, backed by prewalkOverlap=4 against litIntent=131/litReality=142 — the reef barely agreed with itself before the walk even started. The vocabulary pulled the reality lens toward the technical/mechanism quadrant the same words live in everywhere else in this doc's history.

    The semantic pull: Terms like 'ring walkers', 'the ladder', 'snowball', 'grip latch', and the repeated `**Version:** vN … runner scripts/ops/fable-maintain.mjs · sweep .thetacog/pmu/src/maintain.rs` header are the pull — they are laboratory/builder-lexicon, not architect-lexicon, and they dominate a docs-only diff with no offsetting strategy language.

    Intent–reality gap: The commit's Originating-Terminal trailer claims this is architect-room work, but the touched file (docs/architecture/fable-maintenance-ratchet.md) matches zero globs in architect's own owned-surface list — the commit's own Relevant-Rooms trailer (architect · laboratory · builder) already discloses that laboratory/builder are the real owners, but the offPct detector reads Originating-Terminal alone and grades against architect's surface, so it measures 65% 'drift' out of a lane the work was never claiming to occupy.

    • Ship tests/pmu-simulator/docs-only-commit-skips-lattice.test.mjs (ask-005) — docsOnly=true commits route through path-ownership, not the full lattice walk
    • Ship tests/rooms/relevant-rooms-covers-diff.test.mjs (ask-010) — union Relevant-Rooms surfaces for lane membership, not Originating-Terminal alone
    • Ship tests/ops/room-surface-coverage.test.js (ask-001) — flag docs/architecture/ as currently unowned by any room's glob list
    • Ship tests/pmu-simulator/originating-terminal-matches-surface.test.mjs (ask-027) — flag when 0% of a commit's touched files match Originating-Terminal's own surface (this commit is 0/1)
    • Add docs/architecture/** to laboratory's owned-surface glob list (builder as co-owner), since Relevant-Rooms already names them as the PMU/Fable content owners
    • Amend CLAUDE.md's commit-trailer protocol paragraph with the union-of-Relevant-Rooms binding given in spec_rewrite

    What we learned: docs/architecture/ — the directory holding the PMU/Fable maintenance-ratchet spec itself — matches zero room's owned-surface glob list, so any commit that touches it is drift BY CONSTRUCTION no matter which trailers are correct; and this event's own telemetry shows litIntent==walksIntent (131) and litReality==walksReality (142) exactly, meaning 100% of visited cells got lit on both sides — the lattice walk is currently saturated/non-discriminating for this content class, so offPct=65 here is being manufactured by an unowned directory plus a walk with no selectivity, not by any real cross-lane behavior.

    The missing guard (the deliverable): tests/pmu-simulator/docs-only-commit-skips-lattice.test.mjs

    Detector probe: signal attribution — gzip reef 70% · ballistic walk 30%. Saturated, not shallow: litIntent/walksIntent and litReality/walksReality are both exactly 100%, meaning every cell the walk visited got marked lit on both the intent and reality side. A walk that lights 100% of what it visits carries no positional selectivity. Adjustment: require a score margin over the reef floor before marking a cell 'lit' (rank/threshold cut) so the lit set becomes a proper subset of the walked set, then re-check whether this commit's offPct still clears 15%. Experiments: Re-run the gzip-NCD reef seed step on this sha's diff with 'worm/snowball/ladder/ring-walker' vocabulary added to the room dictionaries, and measure whether prewalkOverlap rises above 4 for this and future PMU-vocabulary commits · Sweep the lit-cell threshold (visited→lit cutoff) on the last 20 docsOnly commits and check whether the 100%-lit saturation seen here (litIntent==walksIntent, litReality==walksReality) drops to a discriminating fraction · Add the file path itself (docs/architecture/) as a reef seed feature so architecture-spec docs get weighted toward whichever room's surface actually contains that path, independent of the lexical content

    Measured outcome (deterministic, not self-graded): room mean offPct 22→59 over 4 commits since · dictionary ablation saved 1491B

    This event inflates architect's apparent loss-ratio with a measurement defect (an unowned directory plus a saturated walk), not a real cross-lane behavior — premium restores when ask-005/ask-010/ask-001/ask-027 ship, not by changing what this room commits.

    Open the signed attestation →
  135. 2026-09-16 · 🎩 operator · offPct 55

    spec(pmu): §8.27 v28 KR22 — path space keeps the commit-to-commit inertia cell space lost (prev→next path Jaccard 0.084 vs 0.020, z 11.6; any shared path 23% vs 5%, z 19.7; cell space was at the null) — the projector discards what the record keeps; the basin is NOT the single-domain prompt on the proxies at hand; three misalignments in the ratchet named (a floor in z, two objectives in one pipeline, a floor at the wrong resolution)

    Why it left the lane: (sensemaking unavailable — facts-only intervention)

    Measured outcome (deterministic, not self-graded): room mean offPct 26→32 over 8 commits since

    Open the signed attestation →
  136. 2026-09-16 · 📐 architect · offPct 51

    spec(pmu): §8.29 v30 THE GOAL as a compiling spec — G1 the map (done: 49 paths, 31 lanes, from the reef's own tools) · G2 KR18 with the inertia baseline · G3 the action floor re-perched on the rate gap · G4 the maintenance meter on the ratchet's quantity · G5 the basin's dispersion field · G6 the KR14 era audit; each with target, acceptance, falsifier, revert; global acceptance: no floor lowers, no bar moves after a read

    Why it left the lane: (sensemaking unavailable — facts-only intervention)

    Measured outcome (deterministic, not self-graded): room mean offPct 23→30 over 4 commits since

    Open the signed attestation →
  137. 2026-09-16 · 🧪 laboratory · offPct 18

    feat(formal): PN1 + PN2 — the formal method for "not noise": a reading never travels without its effect and null (181 readings across 13 files, 0 without), and the null is an exact permutation of the targets (identical targets give null == rate, sd 0; two-valued gives the analytic expectation 0.109 vs 0.109); §8.24 the geometric floor inside the null by construction, collision on the whole tuple with a null per feed, "uncountable" corrected to finite and exact

    Why it left the lane: (sensemaking unavailable — facts-only intervention)

    Measured outcome (deterministic, not self-graded): room mean offPct 22→11 over 3 commits since

    Open the signed attestation →
  138. 2026-09-16 · 🎩 operator · offPct 58

    feat(pmu): the snowball executed against leverage — KR5 per depth (the line alone reads highest, every deeper stage and ring closer to the null), KR6 orthogonal seeding built as a knob and read (coverage 15/220 → 220/220, leverage unchanged), and THE SNOWBALL TARGET specified as four alternatives with one decision rule (KR7)

    Why it left the lane: (sensemaking unavailable — facts-only intervention)

    Measured outcome (deterministic, not self-graded): room mean offPct 26→32 over 8 commits since

    Open the signed attestation →
  139. 2026-09-16 · 🎤 voice · offPct 17

    feat(blog): the invariant is a sentence — which variables a ratchet can climb, what the formal methods hold still, and the night a headline number died by its own pre-registered audit

    Why it left the lane: (sensemaking unavailable — facts-only intervention)

    Measured outcome (deterministic, not self-graded): room mean offPct 18→19 over 6 commits since

    Open the signed attestation →
  140. 2026-09-16 · 📐 architect · offPct 60 · structural

    spec(formal): §8.8 KR5 declared from the operator's sentence — the backward snowball stops when leverage is solid, learnable from the corpus (F7's return path), falsifier stated, KR4 first

    Why it left the lane: The receipt's own lane pair (lensIntent=B,A1 → lensReality=A1,B1, laneJump=3, laneHamming=24 vs null 18 — real signal, not noise) shows the commit's mass landing on a transposed coordinate, not a random scatter. The diff's added vocabulary — "KR5", "the backward snowball", "leverage is solid on the fulcrum", "the grip latch", "Falsifier:", "the pairing fix" — is formal-measurement/spec-corpus language (falsifiable predicates, null-tested depths, F7's return path) that the reef seeds toward the pmu-formal-method cell (A1,B1), not toward the strategy-binder cell (B,A1) the architect room's own trailer implies.

    The semantic pull: Specific strings dragging placement: "KR5, declared", "the measurement that decides whether the sentence is true here", "walk the ladder stage by stage", "hit rate ... against the shuffled-pairing null", "Falsifier:". None of these are strategy/business terms (no mention of pricing, GTM, positioning, or the room's owned docs/strategy/ vocabulary) — they are the exact register of a formal-method ledger entry, which is why the walk's spread (litIntent=140/litReality=112, fully saturated on both sides) reads the reality lane as A1,B1 instead of the claimed B,A1.

    Intent–reality gap: The commit claims Originating-Terminal 📐 architect and Relevant-Rooms architect·laboratory·builder, framing this as architect-led spec work. But the file touched, docs/architecture/fable-maintenance-ratchet.md, is not on ANY room's owned-surface list given to this pipeline (architect's list is docs/strategy/, docs/03-product/, .workflow/rooms/*.html, .workflow/cognitive-dashboard.html, docs/01-business/strategy/, CLAUDE.md — docs/architecture/ is absent) — the receipt is measuring drift against a lane the file was never assigned to in the first place.

    • Add docs/architecture/fable-maintenance-ratchet.md (or docs/architecture/**) to laboratory's owned-surface glob list in the room-ownership manifest
    • Ship tests/ops/room-surface-coverage.test.js (ask-001) asserting every path touched by a commit resolves to at least one room's owned-surface glob — currently the 4th ask for this exact gap
    • Cross-check tests/rooms/relevant-rooms-covers-diff.test.mjs (ask-010) does not double-penalize a commit whose Relevant-Rooms trailer already lists the true owner (laboratory here) even when Originating-Terminal differs
    • Audit docs/architecture/*.md for other files with the same no-owner gap before the next architect-room commit lands there
    • Note in CLAUDE.md's commit-trailer protocol section that Relevant-Rooms sanctioning cross-lane work (per ff09774e5's finding) does NOT substitute for an owned-surface glob entry — the two guards are independent

    What we learned: docs/architecture/ is a live, frequently-appended file tree (this ratchet doc alone has had many +N-line commits) that sits OUTSIDE every room's owned-surface declaration entirely — it is not a mistagged commit or a sanctioned cross-lane trailer (ff09774e5's finding), it is a structurally unowned address that will flag ANY room that writes there, regardless of which room's trailer claims it.

    The missing guard (the deliverable): tests/ops/room-surface-coverage.test.js

    Detector probe: signal attribution — gzip reef 25% · ballistic walk 75%. Saturated, not right-sized: a 100%-lit walk on both intent and reality sides means the walk isn't discriminating relevant from irrelevant cells — it's reporting raw reach as if it were signal. Adjustment: cap lit-cell acceptance below a fill threshold (e.g. require a cell to clear a minimum gzip-NCD score to count as "lit" rather than counting every walked cell), so offPct reflects genuine drift mass rather than walk saturation. Experiments: Re-run this sha's walk with a lit-threshold at 0.5/0.7/0.9 fill and compare resulting offPct against the current 60% to see how much of the 60 is saturation artifact vs real drift · Backfill room-ownership coverage for all files under docs/architecture/ and re-run this commit's receipt to see if offPct drops once the lane is correctly assigned · Add a prewalkOverlap floor check: flag (not fail) any commit where prewalkOverlap/walksIntent < 5% as a low-reef-confidence receipt, since this sha's ratio (2/140 ≈ 1.4%) suggests the reef seed barely engaged before the walk took over

    Measured outcome (deterministic, not self-graded): room mean offPct 20→52 over 4 commits since · dictionary ablation saved 872B

    An unowned file surface generating repeat 60%-offPct events raises this lane's loss-ratio on every future commit to docs/architecture/ regardless of which room writes there; premium is restored by the ownership-manifest fix plus the room-surface-coverage guard landing (not just being asked a 5th time).

    Open the signed attestation →
  141. 2026-09-16 · 📐 architect · offPct 49

    spec(pmu): §8.22 the book and the patent checked against the instrument — 'distinguishable from noise' borne out in structure, 'parallel worms as different hypotheses' and 'knows it' not built (the ring walkers are one hypothesis in four neighbourhoods; the latch is a fit maximum KR14 read as orthogonal to the action); irreducible surprise defined as a collision that survives shuffling each feed AND predicts the action

    Why it left the lane: (sensemaking unavailable — facts-only intervention)

    Measured outcome (deterministic, not self-graded): room mean offPct 22→36 over 8 commits since

    Open the signed attestation →
  142. 2026-09-16 · 🎩 operator · offPct 41

    feat(pmu): leverage made a number (LEV: 0 per 1,000 rungs), the vector derivative KR3 built and read (F2's falsifier fired: vector z 0.65 ≤ point z 1.26), the discordance mandate — and the pairing found crossing rooms (commit rows carry session: null on 1,960 of 1,960); KR4 is next

    Why it left the lane: (sensemaking unavailable — facts-only intervention)

    Measured outcome (deterministic, not self-graded): room mean offPct 26→32 over 8 commits since

    Open the signed attestation →
  143. 2026-09-16 · 🔨 builder · offPct 17 · structural

    feat(iamfim): a sticker scan mails into its own chain — 📍 IAMFIM scans · day · lot — so a new lot's first scan is a new conversation

    Why it left the lane: 118 of the 155 changed lines (tests/surfaces/iamfim-scan-thread.test.mjs at 92 new lines plus the tests/email/alert-thread.test.ts rewrite) sit under tests/, a directory that does not appear anywhere in 🔨 builder's declared owned-file-surface list (src/app/, src/components/, src/lib/, public/, scripts/build-book-html.sh, ...). The three feature files that DO sit in-lane — route.ts, scan-batch.mjs, alert-types.json — total only 37 lines. The walk's own numbers back this: litReality=144 > litIntent=132, a 12-cell spread that lands almost entirely on the unclaimed test surface, not on any src/ path.

    The semantic pull: The pull comes from the diff's own self-critique language — 'a green over nothing', 'THE DEFECT THIS GUARDS', 'THE CONSTRUCT, NOT THE TOKEN' — which is method/rigor prose (the same register as this repo's axioms-and-method.md) rather than feature prose. That register, combined with the sheer bulk of the new tests/surfaces/*.mjs file, pulls the reality lattice into a lane the lexicon associates with test-discipline/guard-authoring rather than the feature-shipping lane the commit message claims (lensReality=B3,B3 vs lensIntent=C2,C).

    Intent–reality gap: The message claims one narrow feature — 'a sticker scan mails into its own chain' — and frames the test work as incidental proof; the receipt instead measures the majority of the commit's mass sitting outside any lane 🔨 builder is declared to own, because tests/ was never added to that declaration.

    • Add tests/surfaces/** and tests/email/** (or tests/** generally, mirroring source ownership) to 🔨 builder's owned-surface glob wherever that list is defined (grep for the literal string 'src/app/' alongside 'src/components/' to find the exact config file).
    • Re-run tests/ops/room-surface-coverage.test.js (ask-001) against all 9 rooms, not just builder, to find identical test-directory gaps for other rooms (e.g. does 🧭 network own tests/network/**?).
    • Retro-score the room's last 68 out-of-lane events against this one hypothesis (mass sitting in an unclaimed tests/ path) before claiming the fix worked — cheap, and distinguishes this cause from the Relevant-Rooms gap fb93ed948 already flagged.
    • Document in docs/architecture/claude-rules/doors-and-surfaces.md: 'a room's owned surface always includes the tests/ paths for the source it owns' as a standing convention, not a one-off patch.
    • Keep the test file's self-documenting header style ('THE DEFECT THIS GUARDS.') — it is good practice and not part of the defect; do not strip it chasing a lower offPct.

    What we learned: CODE DEFINITION-OF-DONE ('the guard ships in the same commit as the fix') and the owned-surface glob system are two hard rules that were never composed: any room that does its job correctly by shipping a same-commit guard for a feature will generate test-directory mass the lane-fit measurement cannot attribute to that room, because owned-surface lists were written path-by-source-directory and nobody added the parallel tests/ entries. This is a gap in the room-config, not in operator judgment or commit discipline — distinct from the prior Relevant-Rooms-not-consulted lesson (fb93ed948), which was about a different field being ignored entirely.

    The missing guard (the deliverable): tests/ops/room-surface-coverage.test.js

    Detector probe: signal attribution — gzip reef 60% · ballistic walk 40%. Saturated, not under- or over-used: lit equals walks on both intent (132/132) and reality (144/144), a 100% conversion ratio with no headroom to distinguish a strongly-evidenced cell from a merely-visited one. Concrete adjustment: introduce an early-stop/lit-threshold inside the walk so lit/walks < 1.0 on typical commits, restoring contrast between core and peripheral coverage. Experiments: Re-seed the reef excluding boilerplate test-header prose (the 'THE DEFECT THIS GUARDS' block) and measure whether prewalkOverlap rises above the current 8/132 for this same commit — an ablation that isolates whether documentation style, not test volume, is driving the low overlap. · Weight tests/ path tokens separately from src/ path tokens in the reef seed and re-score the last 20 builder commits that shipped a same-commit guard, checking whether offPct drops toward the room's non-test-touching baseline. · Add a lit/walks saturation cap experiment (e.g. depth-limited early stop) and rerun this sha's receipt to see whether litReality drops below 144 while offPct stays flat — proving the saturation, not the seed, was inflating the spread.

    Measured outcome (deterministic, not self-graded): room mean offPct 26→22 over 3 commits since · dictionary ablation saved 777B

    A structural (not judgment) miss nudges this lane's loss-ratio up only slightly since the underlying work was correct and complete-with-guard; premium is restored by the glob patch plus a repo-wide ask-001 sweep, cheaper than any per-commit remediation.

    Open the signed attestation →
  144. 2026-09-16 · 🎩 operator · offPct 52

    feat(pmu): KR4 — the driveshaft bolted on: same-room pairing read on the existing tape via receipts + trailers, every meter lands exactly on its null (destination z 1.26 → −0.05); the braid was real and not the cause; the door now stamps room on every row

    Why it left the lane: (sensemaking unavailable — facts-only intervention)

    Measured outcome (deterministic, not self-graded): room mean offPct 26→32 over 8 commits since

    Open the signed attestation →
  145. 2026-09-16 · 🔨 builder · offPct 44 · mistagged

    chore(ops): maintenance pass 3 — the measures arrive intact, and the meter's z swing is the first thing the series is good for

    Why it left the lane: The entire diff is three paths — data/fable-maintenance/cadence.json, data/fable-maintenance/tally.ndjson, docs/ops/fable-maintenance/2026-09-16-02-04-42-pass-3.md — none of which intersect the builder room's declared surface (src/app/, src/components/, src/lib/, public/, the named scripts, hooks/pre-commit, decentralizedtalk/, thetacoach-crm-mcp/, vercel.json). The commit's own type prefix, 'chore(ops)', already names the ops lane; the trailer 'Originating-Terminal: 🔨 builder' names a different one. The receipt's own docsOnly=true flag confirms this is a pure data/report commit, and lensIntent=C2,C vs lensReality=A,A1 shows the walk reading the ops-narrative prose (steering meter, AUC/velocity, pass-1/2/3 numbers) into a different lattice region than the builder-coded intent lane the trailer asserted.

    The semantic pull: 'chore(ops)' in the subject line, the file paths data/fable-maintenance/*.json(l) and docs/ops/fable-maintenance/*.md, and the prose ('steering', 'AUC', 'rate/day', 'z 1.547') all read as ops/measurement content — pulling reality toward A,A1 — while the trailer's builder claim anchors intent at C2,C with nothing in the diff to back it.

    Intent–reality gap: The commit message correctly types itself 'chore(ops)' and the receipt shows docsOnly=true with zero files in builder's owned surface, yet the trailer still claims Originating-Terminal builder and Relevant-Rooms builder/architect/laboratory — the room tag contradicts what the commit's own subject line and file list already say.

    • Add data/fable-maintenance/** and docs/ops/fable-maintenance/** to an owned-surface glob for whichever room (architect/ops) actually generates fabratchet passes — not builder.
    • Ship tests/pmu-simulator/docs-only-commit-skips-lattice.test.mjs (ask-005, already asked 4x) so docsOnly=true commits short-circuit full-lattice offPct scoring.
    • Ship tests/pmu-simulator/originating-terminal-matches-surface.test.mjs (ask-027, already asked 3x) so a trailer claim is checked against the diff's actual paths at commit time.
    • Update the /fabratchet report generator to derive Originating-Terminal from the surface-owner lookup rather than the invoking terminal.
    • Watch the next fable-maintenance commit's offPct to confirm the retag actually lands once the surface-owner glob exists.

    What we learned: This is the third time the 'trailer room ≠ actual file surface' pattern has produced a scored drift event (after fb93ed948), and this instance adds a second confirmed variant: docsOnly=true commits get walked against the full 144-cell lattice with no short-circuit even though the receipt itself already flags them as docs-only — two open, multiply-asked tickets (ask-005 x4, ask-027 x3) sit unshipped while the same class keeps firing.

    The missing guard (the deliverable): tests/pmu-simulator/docs-only-commit-skips-lattice.test.mjs

    Detector probe: signal attribution — gzip reef 25% · ballistic walk 75%. Not saturated and not too shallow in volume (136/107 lit cells is a normal spread for this corpus size) — the failure is that the walk runs at all on a commit already flagged docsOnly=true. Concrete adjustment: gate the walk behind the docsOnly flag so it either skips entirely or runs a shallow docs-lane-only variant instead of the full lattice. Experiments: Recompute offPct for the last 30 docsOnly=true commits with a docs-lane short-circuit on vs off, and measure how many false-positive out-of-lane events disappear. · Define the missing room-ownership globs for data/fable-maintenance/** and docs/ops/fable-maintenance/**, then re-run lane classification on this room's 67 out-of-lane events from the last 14 days to measure how many are explained by the same unowned-surface gap. · Compare trailer-declared Originating-Terminal against a surface-inferred room across the last 100 builder-room commits and report the mismatch rate as the direct measure of ask-027's expected yield.

    Measured outcome (deterministic, not self-graded): room mean offPct 26→22 over 7 commits since · dictionary ablation saved 1539B

    Repeated mistagged docsOnly maintenance commits inflate the builder room's offPct/loss-ratio with false-positive cross-lane events, diluting the signal on genuine builder drift; premium is restored by shipping the docsOnly short-circuit (ask-005) and the surface-owner glob/terminal-match guard (ask-027) so this class stops firing.

    Open the signed attestation →
  146. 2026-09-16 · 🎩 operator · offPct 57 · structural

    spec(pmu): §8.19 the close — the action ratchet live (floor A 2.23 / B 2.88 on the large corpus; worms 0 judged a TIE), the new admissibility gate defined as turn-time quantities with the rule that decides any gate (gated rows must predict the action better than ungated on both halves), lessons delegated, flag rename waiting on the pass

    Why it left the lane: The diff is dominated by operator/pipeline vocabulary embedded inside an architecture-doc commit: 'the action ratchet live (floor A 2.23 / B 2.88...)', 'the new admissibility gate defined as turn-time quantities with the rule that decides any gate', 'gated rows must predict the action better than ungated rows on both held-out halves', 'runner scripts/ops/fable-maintain.mjs', 'waiting on the pass'. Words like floor/gate/ratchet/pass/runner/loop are the exact recurring lexicon of 🎩 operator's owned pipeline surface (docs/ops/dashboard*, data/pmu/pipeline/), so the gzip-NCD reef seeded the walk near operator's C3 pipeline coordinate even though the file paths actually touched (docs/architecture/fable-maintenance-ratchet.md, data/pmu/knob-action-floor.json, data/pmu/knob-action-ratchet.ndjson) sit outside every glob in operator's declared surface. lensIntent=A1,A (architect's spec lane) vs lensReality=A1,C3 (operator's pipeline lane) with offPct=57 is that pull made visible.

    The semantic pull: 'floor', 'gate', 'ratchet', 'the pass', 'runner `scripts/ops/fable-maintain.mjs`' — all literal strings in the diff — are operator's dashboard/pipeline vocabulary, not architect's spec vocabulary, even though this commit's Originating-Terminal is 📐 architect.

    Intent–reality gap: The commit message and Originating-Terminal trailer claim architect-authored spec work with operator only as a listed Relevant-Room, but the receipt measured 57% of the lit reality mass landing outside the intent lane at operator's own pipeline coordinate (C3) — and none of the three actually-touched paths (docs/architecture/fable-maintenance-ratchet.md, data/pmu/knob-action-floor.json, data/pmu/knob-action-ratchet.ndjson) appear in operator's declared owned-surface glob at all, so the claim of operator relevance was never backed by a matching surface entry.

    • scripts/pmu/knob-ratchet.mjs:59-60 — move ACTION_FLOOR/ACTION_LEDGER writes into data/pmu/pipeline/
    • git mv data/pmu/knob-action-floor.json data/pmu/pipeline/knob-action-floor.json && git mv data/pmu/knob-action-ratchet.ndjson data/pmu/pipeline/knob-action-ratchet.ndjson
    • ship tests/pmu-simulator/docs-only-commit-skips-lattice.test.mjs (ask-005, asked 6×) — this commit's own docsOnly=true flag should have exempted/downweighted it before the full lattice walk ran
    • ship tests/ops/room-surface-coverage.test.js (ask-001, asked 5×) — flag any touched path matching zero rooms' owned surface, which is exactly this event's data/pmu/knob-action-* files
    • ship tests/rooms/relevant-rooms-covers-diff.test.mjs (ask-010, asked 6×) — validate the Relevant-Rooms trailer against actual owned-surface globs instead of trusting the free-text list
    • ship tests/pmu-simulator/shared-state-files-have-room-owner.test.mjs (ask-003) — a newly-created data/pmu/*.json/ndjson file must land inside an existing owned subdir or the commit fails at write time

    What we learned: The Fable maintenance ratchet doc is a single shared living spec (v1→v20 in one day) that structurally spans three rooms' concerns in one file/one data directory, but room ownership is resolved by flat path-glob membership with no glob for the doc's own directory or its sibling data subdir — a cross-cutting artifact will keep mis-landing until ownership resolution understands 'shared infrastructure doc' as a first-class category, not just per-room globs.

    The missing guard (the deliverable): tests/pmu-simulator/docs-only-commit-skips-lattice.test.mjs

    Detector probe: signal attribution — gzip reef 75% · ballistic walk 25%. Right-sized but under-discriminating at this boundary — laneHamming=22 sits closer to its null (34) than to zero, meaning the walk found a real but soft crossing rather than a decisive one. Adjustment: add finer sub-lattice resolution specifically at the A/C3 seam so soft crossings like this one resolve to a graded confidence score instead of collapsing straight to a binary off-lane flag. Experiments: Re-run prewalkOverlap for sha ebfaa6a275 with 'floor/gate/ratchet/pass/runner' stripped from the shared dictionary and check whether lensReality moves from C3 back toward A — isolates whether generic pipeline-ops vocabulary alone is driving the seed. · Downweight or exclude docsOnly=true commits from reef training and re-score this sha — measure whether offPct drops below the 15 threshold. · Seed the walk with the commit's own Relevant-Rooms + each named room's owned-surface glob as a prior and re-score — measure whether laneJump/offPct shrink when declared jurisdiction informs placement.

    Measured outcome (deterministic, not self-graded): room mean offPct 26→32 over 8 commits since · dictionary ablation saved 1312B

    An off-lane event this size (57%, nearly 4x the 15% threshold) on a room already carrying 31 out-of-lane events in 14 days raises this lane's loss-ratio on ownership-claim risk specifically; restoring it requires the file move plus a validated Relevant-Rooms trailer (tests/rooms/relevant-rooms-covers-diff.test.mjs) so future premium is priced against verified jurisdiction, not a free-text claim.

    Open the signed attestation →
  147. 2026-09-16 · 🎩 operator · offPct 63

    feat(pmu): KR13 — the line-first winner rule, built behind --line-first and read against the aggregate target: the shipped winner moves toward the line on half A (z 0.39 → 0.68) at no cost in admits, not to it, and not on B; not admitted, not dead; the within-stage-0 grip-vs-gain selection is the next named rule

    Why it left the lane: (sensemaking unavailable — facts-only intervention)

    Measured outcome (deterministic, not self-graded): room mean offPct 26→32 over 8 commits since

    Open the signed attestation →
  148. 2026-09-16 · 🎩 operator · offPct 48

    feat(pmu): THE KNOB RATCHET — the configuration ratchets itself under K1–K5, the null generator is proved (N1, N2), and the goal that came back mid-turn is built in: KR1 resolution + KR2 direction; two passes, 30 evaluations, 0 accepts — the admitted rows do not predict the action, and the loop is what stopped us climbing that

    Why it left the lane: (sensemaking unavailable — facts-only intervention)

    Measured outcome (deterministic, not self-graded): room mean offPct 26→32 over 8 commits since

    Open the signed attestation →
  149. 2026-09-15 · 🎩 operator · offPct 27 · mistagged

    feat(pmu): THE METER — steering: of the turns the instrument could place, how often the next commit landed within two blocks, against a shuffled-pairing null; on the one command; first reading AT THE NULL (0.263 vs 0.189, z 1.6, n 38)

    Why it left the lane: The commit's own trailers (Originating-Terminal: architect, Relevant-Rooms: architect, navigator, builder) never name operator at all, and every touched path (scripts/pmu/end-state-ratchet.mjs, scripts/pmu/grip-meter.mjs, tests/pmu-simulator/grip-meter.test.mjs) sits outside operator's owned-surface list (data/trust-debt/, docs/01-business/accounting/, data/pmu/pipeline/, public/pmu-demo/, docs/ops/dashboard*, etc). Yet the receipt scored this sha against room operator at offPct 27. The reef/walk placed the CLAIM (lensIntent=C2,C) inside operator's finance-flavored territory because the prose is saturated with accounting-shaped vocabulary — 'floor', 'ratchet', 'ROI', 'steering' — that the gzip-NCD seed reads as ledger/pipeline content, while the CODE (lensReality=A1,A3) correctly landed in architect/builder pmu-simulator territory. laneHamming=28 exceeds the shuffled null of 20, confirming the two lanes really are further apart than chance, not a measurement fluke. The receipt is doing its job faithfully; the room-attribution step consuming it never checked the commit's own Relevant-Rooms trailer before charging operator.

    The semantic pull: Literal pulls toward C2,C (operator's ledger lane): 'floor' (data/pmu/grip-meter-floor.json, 'the floor is seeded only from a measured reading', 'floor.value'), 'ROI' ('ROI beside it: rungs per admissible row'), 'ratchet' (ratchet(), '--ratchet', 'RAISED'), 'steering' (repeated as the metric name). These are the exact words operator's accounting/trust-debt corpus is built from. The counter-pull toward A1,A3 (architect/builder): 'lattice bitmask', 'block grid', 'Chebyshev', 'pairTurns', 'lcgShuffle' — pure pmu-simulator engineering vocabulary that never made it into the reef seed's winning path.

    Intent–reality gap: The commit claims, via its own Relevant-Rooms trailer, zero operator-lane ownership and touches only scripts/pmu/*.mjs and tests/pmu-simulator/*.mjs — architect/builder surface. The receipt's own reality walk agrees the code landed at A1,A3. But the room-attribution step still charged a 27% offPct to operator, whose owned surface (data/trust-debt/, docs/01-business/accounting/, etc.) this commit never touched — the claim and the charge disagree about which room this commit even belongs to.

    • Ship tests/pmu-simulator/mistagged-commit-does-not-inflate-offpct.test.mjs (ask-033, already asked 2×) — pin that a commit whose Relevant-Rooms excludes room R and whose paths don't match R's owned-surface globs contributes zero to R's offPct.
    • Patch the offPct/room-attribution generator to gate on Relevant-Rooms ∩ owned-surface-glob before scoring, per code_rewrite above.
    • Backtest the other 18 operator out-of-lane events from the last 14 days against this same trailer-exclusion pattern to bound how much of the 19-event count is this exact defect vs genuine operator-lane drift.
    • Add a reef-lexicon exclusion note so finance-shaped infra vocabulary ('floor', 'ratchet', 'ROI', 'steering') doesn't over-weight the gzip-NCD seed toward docs/01-business/accounting/ on word choice alone.
    • Document in the pipeline's own room-attribution spec that Relevant-Rooms is authoritative for gating a room's offPct exposure, not merely descriptive prose for humans.

    What we learned: Operator's 19 out-of-lane events in 14 days share one structural cause: room-offPct attribution runs entirely on the reef/walk's lexical placement, with no gate against the commit's own Relevant-Rooms trailer or owned-surface globs — so any commit written in finance-shaped vocabulary (floor, ratchet, ROI, steering) gets charged to operator's ledger lane even when trailer and file paths unambiguously say otherwise. The trailer is treated as prose for humans, not as an input the detector consults.

    The missing guard (the deliverable): tests/pmu-simulator/mistagged-commit-does-not-inflate-offpct.test.mjs

    Detector probe: signal attribution — gzip reef 65% · ballistic walk 35%. Right-sized, not shallow or saturated: litIntent/litReality equal walksIntent/walksReality (140/121) with walkTruncated=false, so neither side hit a coverage ceiling. The defect is not walk depth — laneHamming=28 exceeding the null of 20 shows the walk correctly measured a real divergence. Adjustment: feed the walk an early anchor weight from the diff's own touched-path list (scripts/pmu/, tests/pmu-simulator/) so the reality lens's already-correct landing gets cross-checked against the reef's intent seed before the seed is trusted alone. Experiments: Recompute offPct for sha 19a5c9ad5a with room attribution gated by Relevant-Rooms ∩ owned-surface-glob instead of nearest-lane walk landing; measure whether operator's charge drops to 0/excluded and architect/builder pick up the (lower) correctly-attributed entry instead. · Backtest the last 19 operator out-of-lane events: for each, check whether its Relevant-Rooms trailer excludes operator; measure what fraction are pure trailer-exclusion mistags vs genuine operator-lane drift. · Ablate the finance-flavored vocabulary ('floor', 'ratchet', 'ROI', 'steering') from the gzip-NCD reef corpus for this sha and re-run the walk; measure whether lensIntent moves off C2,C toward A1/A3, confirming vocabulary rather than real content drove the seed.

    Measured outcome (deterministic, not self-graded): room mean offPct 26→32 over 8 commits since · dictionary ablation saved 784B

    This single event doesn't raise operator's real loss ratio — the underlying work is sound PMU infrastructure correctly claimed by architect/builder — but 19 unresolved mistags in 14 days erode trust in the offPct signal itself, which no one can underwrite once it's known to inflate on vocabulary alone; restoring it requires the trailer-gated re-score plus a clean backtest of the other 18 events.

    Open the signed attestation →
  150. 2026-09-15 · 🧪 laboratory · offPct 21 · mistagged

    feat(skills): /nosleep — one door for keep-awake, let-sleep, and why-is-it-awake

    Why it left the lane: The diff is a pure SKILL.md wrapping scripts/backpack-keepalive.sh, but its own body is dense with low-level system vocabulary — 'sudo pmset -a disablesleep 0', 'caffeinate -s -w', 'caffeinate -dimsu', 'pmset -g assertions', 'powerd' — none of which appear anywhere in laboratory's declared surface (MCP/CRM/orchestrator/punch-list). That vocabulary is what the walk lit at lensReality=A2,C1 (litReality=133 cells) against a declared intent of lensIntent=A1,A3 (litIntent=125 cells), a laneJump of 4 and laneHamming of 38 — only 4 above the laneHammingNull of 34, meaning the walk barely cleared the noise floor before the 21% offPct fired.

    The semantic pull: 'sudo pmset', 'caffeinate -dimsu', 'pmset -g assertions', and 'powerd' are OS-daemon control-plane terms; the walk's ballistic recursion reads them as ops/infra content and pulls the lit mass toward A2,C1, away from the A1,A3 coordinate the commit's own trailers (Relevant-Rooms: operator, builder, architect) actually claim.

    Intent–reality gap: The commit's own trailers name operator/builder/architect as the relevant rooms and 📐architect as the originating terminal — laboratory appears nowhere in the claim. The receipt nonetheless books this commit against 🧪laboratory, whose owned-file-surface list (.claude/settings.json, .mcp.json, scripts/init-claude-flow-with-crm.sh, thetacoach-crm-mcp/, swarm-comms/, .thetacog/orchestrator/, .thetacog/punch-list*) does not contain .claude/skills/** at all. The room label, not the code, is what drifted.

    • Add `.claude/skills/**` as an explicit owned glob in `.workflow/rooms/vscode-architect.html` (architect), matching Originating-Terminal + Relevant-Rooms on this commit.
    • Add an explicit exclusion for `.claude/skills/**` in laboratory's room-surface declaration so unowned `.claude/*` paths stop defaulting to it.
    • Land tests/ops/room-surface-coverage.test.js (ask-001) so any touched path with no declared owner fails loud instead of silently defaulting to the nearest `.claude/` prefix match.
    • Land tests/rooms/relevant-rooms-covers-diff.test.mjs (ask-010) so a commit whose assigned room is absent from its own Relevant-Rooms trailer is flagged at commit time, not discovered post-hoc via offPct.
    • Audit the other 15 laboratory out-of-lane events in the last 14 days for the same unowned-`.claude/`-prefix pattern before assuming laboratory's lane itself is unstable.

    What we learned: Room assignment for this pipeline is falling through an UNOWNED-SURFACE gap onto the nearest prefix match rather than failing loud — `.claude/skills/**` was never declared anywhere, so a skill file authored by architect and trailer-tagged for operator/builder/architect got silently absorbed by laboratory, which merely happens to own other `.claude/*` files. Prior laboratory lessons treated offPct as a content-drift signal; this event shows at least one instance is a room-declaration gap, not a content problem — the fix is in the room config, not the diff.

    The missing guard (the deliverable): tests/ops/room-surface-coverage.test.js

    Detector probe: signal attribution — gzip reef 60% · ballistic walk 40%. litIntent(125)==walksIntent(125) and litReality(133)==walksReality(133) — every single walked cell was counted as lit, 0% pruned. That is saturation, not discrimination: the walk has no confidence floor separating signal steps from noise steps. Concrete adjustment: introduce a minimum-strength/decay threshold so a walked cell only counts as 'lit' above a confidence bar, then re-check whether offPct for this commit still clears 15 once noise cells are dropped. Experiments: Re-run prewalkOverlap gzip-NCD on this file with the YAML frontmatter/doc-prose chunked separately from the embedded bash commands, and measure whether overlap changes — tests whether internal mixing of doc-voice and shell-voice inflates the reef seed. · Add the `.claude/skills/**` owned glob to architect's room config, re-run this exact sha through the offline classifier, and confirm the room label flips from laboratory to architect (or unassigned) with the same walk parameters. · Pull laneHamming vs laneHammingNull for laboratory's other 15 out-of-lane events in the last 14 days; if most sit within ~4-6 of the null floor like this one, that's evidence the lane's classifier runs near-noise for laboratory specifically, not that laboratory content is truly drifting.

    Measured outcome (deterministic, not self-graded): room mean offPct 23→7 over 4 commits since · dictionary ablation saved 755B

    A mistagged-room event inflates laboratory's loss-ratio on a claim it never made (the commit's own trailers disclaim laboratory); premium is restored by declaring the `.claude/skills/**` glob under architect and shipping room-surface-coverage so unowned paths fail loud instead of defaulting into whichever room happens to share a path prefix.

    Open the signed attestation →
gemsedu.com #1 ▼5.7%moonshotscapital.com #2 ▼1.8%leadedgecapital.com #3 ▲0.6%differential.vc #4 ▲11%dometic.com #5 ▼6.2%thecignagroup.com #6 ▲5.8%sigma.se #7 ▼9.2%karlsborg.se #8 ▼4.8%teneo.com #9 ▲0.2%ltu.se #10 ▼4.8%emiratesnbd.com #11 ▲1%apcoworldwide.com #12 ▼0.8%rytmus.se #13 ▲5.1%championacaustin.com #14 ▼1.9%amseliplaw.com #15 ▼8.1%clarionschool.com #16 ▼6.2%svenskakyrkan.se #17 ▼5.8%reed.com #18 ▼12.9%scania.com #19 ▼14.4%anthonypllc.com #20 ▲1.7%sigeducation.com #21 ▼7.6%state.gov #22 ▲3.2%scor.com #23 ▼6.3%easystem.se #24 ▲0.1%brodit.se #25 ▼13.5%ericsson.com #26 ▼6.4%khda.gov.ae #27 ▲3.6%parkcity.org #28 ▲52.4%pernod-ricard-china.com #29 ▼16%innoventureseducation.com #30 ▼4%dubaiholding.com #31 ▼0.8%wsp.com #32 ▼6.2%addition.com #33 ▲7.2%bdtmsd.com #34 ▲1.9%expediagroup.com #35 ▼8.7%crslimited.com #36 ▲16.1%baylor.edu #37 ▼4.5%americancenteruae.com #38 ▼5.2%lfg.com #39 ▼5.1%atriumhealth.org #40 ▼4.6%eosvc.com #41 ▲2.3%upandrunningdubai.com #42 ▼2.1%its.jnj.com #43 ▼2.5%cablevision.com #44 ▼2.3%mit.edu #45 ▲0.6%rackspace.com #46 ▼14.6%winningtemp.se #47 ▲1.2%siemens.com #48 ▼4%sunstarstrategic.com #49 ▼16%gunnebo.com #50 ▼8.8%newyorklife.com #51 ▼1.8%volvo.com #52 ▼6.8%oryxworld.com #53 ▼20.9%statefarm.com #54 ▼1.4%jcdecaux.ae #55 ▲10.5%neweratech.com #56 ▼8.9%munichre.com #57 ▼2.7%sc.com #58 ▲6.4%inspiralia.com #59 ▼4.1%linkedin.com #60 ▼5.6%insureai.co #61 ▼20.9%louisville.edu #62 ▲22.1%marsh.com #63 ▼2%bakerbotts.com #64 ▲78.9%ecoclean-group.net #65 ▲153.8%bermanauditadvisorycpa.com #66 ▲8.5%aresmgmt.com #67 ▲16.6%se.abb.com #68 ▼11.2%jkj.com #69 ▲12.3%nsigroup.org #70 ▼1.9%tyrolit.com #71 ▲299.9%jcdecaux.com #72 ▼9.5%fox.com #73 ▲19.2%emerson.com #74 ▲13.6%luxcapital.com #75 ▼6%conning.com #76 ▼8.1%artvillagenursery.com #77 ▼20.9%pacemetals.com #78 ▲12.3%bancamediolanum.it #79 ▲106.1%schmuhlbrothers.com #80 ▲82.4%peraco.com.au #81 ▲199.2%students.rcsj.edu #82 ▲61.6%scnsoft.com #83 ▲64.6%jsx.com #84 ▲209.9%bartec.com #85 ▲141.2%lbl.gov #86 ▼20.9%muskegoncc.edu #87 ▲149.1%rakbank.ae #88 ▼2.3%mindshareworld.com #89 ▲185.9%aig.com #90 ▼5.5%camarda.com #91 ▲25.7%xprize.org #92 ▼5.4%stoughtontrailers.com #93 ▲400%tetrapak.com #94 ▼1.9%dubailand.gov.ae #95 ▲42.7%hsph.harvard.edu #96 ▼20.9%krausanderson.com #97 ▲171.8%nyu.edu #98 ▼11%trenchlaw.com #99 ▼20.9%mckoolsmith.com #100 ▼20.9%gemsedu.com #1 ▼5.7%moonshotscapital.com #2 ▼1.8%leadedgecapital.com #3 ▲0.6%differential.vc #4 ▲11%dometic.com #5 ▼6.2%thecignagroup.com #6 ▲5.8%sigma.se #7 ▼9.2%karlsborg.se #8 ▼4.8%teneo.com #9 ▲0.2%ltu.se #10 ▼4.8%emiratesnbd.com #11 ▲1%apcoworldwide.com #12 ▼0.8%rytmus.se #13 ▲5.1%championacaustin.com #14 ▼1.9%amseliplaw.com #15 ▼8.1%clarionschool.com #16 ▼6.2%svenskakyrkan.se #17 ▼5.8%reed.com #18 ▼12.9%scania.com #19 ▼14.4%anthonypllc.com #20 ▲1.7%sigeducation.com #21 ▼7.6%state.gov #22 ▲3.2%scor.com #23 ▼6.3%easystem.se #24 ▲0.1%brodit.se #25 ▼13.5%ericsson.com #26 ▼6.4%khda.gov.ae #27 ▲3.6%parkcity.org #28 ▲52.4%pernod-ricard-china.com #29 ▼16%innoventureseducation.com #30 ▼4%dubaiholding.com #31 ▼0.8%wsp.com #32 ▼6.2%addition.com #33 ▲7.2%bdtmsd.com #34 ▲1.9%expediagroup.com #35 ▼8.7%crslimited.com #36 ▲16.1%baylor.edu #37 ▼4.5%americancenteruae.com #38 ▼5.2%lfg.com #39 ▼5.1%atriumhealth.org #40 ▼4.6%eosvc.com #41 ▲2.3%upandrunningdubai.com #42 ▼2.1%its.jnj.com #43 ▼2.5%cablevision.com #44 ▼2.3%mit.edu #45 ▲0.6%rackspace.com #46 ▼14.6%winningtemp.se #47 ▲1.2%siemens.com #48 ▼4%sunstarstrategic.com #49 ▼16%gunnebo.com #50 ▼8.8%newyorklife.com #51 ▼1.8%volvo.com #52 ▼6.8%oryxworld.com #53 ▼20.9%statefarm.com #54 ▼1.4%jcdecaux.ae #55 ▲10.5%neweratech.com #56 ▼8.9%munichre.com #57 ▼2.7%sc.com #58 ▲6.4%inspiralia.com #59 ▼4.1%linkedin.com #60 ▼5.6%insureai.co #61 ▼20.9%louisville.edu #62 ▲22.1%marsh.com #63 ▼2%bakerbotts.com #64 ▲78.9%ecoclean-group.net #65 ▲153.8%bermanauditadvisorycpa.com #66 ▲8.5%aresmgmt.com #67 ▲16.6%se.abb.com #68 ▼11.2%jkj.com #69 ▲12.3%nsigroup.org #70 ▼1.9%tyrolit.com #71 ▲299.9%jcdecaux.com #72 ▼9.5%fox.com #73 ▲19.2%emerson.com #74 ▲13.6%luxcapital.com #75 ▼6%conning.com #76 ▼8.1%artvillagenursery.com #77 ▼20.9%pacemetals.com #78 ▲12.3%bancamediolanum.it #79 ▲106.1%schmuhlbrothers.com #80 ▲82.4%peraco.com.au #81 ▲199.2%students.rcsj.edu #82 ▲61.6%scnsoft.com #83 ▲64.6%jsx.com #84 ▲209.9%bartec.com #85 ▲141.2%lbl.gov #86 ▼20.9%muskegoncc.edu #87 ▲149.1%rakbank.ae #88 ▼2.3%mindshareworld.com #89 ▲185.9%aig.com #90 ▼5.5%camarda.com #91 ▲25.7%xprize.org #92 ▼5.4%stoughtontrailers.com #93 ▲400%tetrapak.com #94 ▼1.9%dubailand.gov.ae #95 ▲42.7%hsph.harvard.edu #96 ▼20.9%krausanderson.com #97 ▲171.8%nyu.edu #98 ▼11%trenchlaw.com #99 ▼20.9%mckoolsmith.com #100 ▼20.9%