--- name: session-2026-07-19-evening-engine-gate-legibility-one-door-plan description: "The engine pull LANDED whole (gate failure-legibility: known-vs-new as declared data, lifecycle proven on the real 5, re-anchor with the sixth binding surface caught, 21-sources erratum corrected) — then the steward-led planning deliberation banked the FIVE-SESSION PLAN and dissolved the reconversion-vs-make-gold fork into ONE DOOR (promotion = graduation by the current process; extant tier = interim/witness/exception; PENDING-65 to draft at S2a). Pulling thread: S1 — V1, the byte-existence checker, per the banked plan." metadata: node_type: memory type: project originSessionId: 93885dc0-9b79-47a4-8b5c-82363a1b6763 modified: 2026-07-19T15:11:23.350Z --- # Session 2026-07-19 (evening) — engine gate legibility landed; the one-door decision; the five-session plan banked Woke ~50 min after the day wrap (v2.2.0 session). Two movements: the engine pull executed whole (census → design → build → lifecycle-proof → repair → doc-currency, four commits, all pushed), then a steward-led planning deliberation that redrew the map twice and settled the legacy-corpus question. Wrapped deliberately into the plan. ## PAST — what happened + why **The engine block (engine `359e484` · `c024f6a` · `cffc68c` pushed GitHub; chamber `1a217a1` pushed BOTH remotes):** - **Census first, and it was decisive:** the committed `coverage-ledger.json` carried `states.failed: 5` as a bare count while **every row asserted `status: "validated"` — including the five failed sources' rows** (rows written before the state machine; status hardcoded); FAIL reasons stdout-only. PASS-BUT-FALSELY committed to git. Separately: the rebuild plan's "**21 sources — verified, not recalled**" was **false at writing** — git history of `corpus/manifest.yaml` reads 8→14→13; the Making positions were never manifested (memory had it right: only Position I). Erratum landed at all three surfaces (`cffc68c`: plan header `erratum:` field, N0 note inline, CLAUDE.md). - **Gate failure-legibility built** (`docs/spec/ingest-gate-failure-legibility.md`; spec-note → tests witnessed-red on the absent `run()` seam → 24/24): failures NAMED in the artifact (`summary.failures` + honest per-row terminal state); known-vs-new = **declared data** (`corpus/known-failures.json`, the failure-level analog of cleaning-rules.json). A declaration binds to an **exact signature** (source + binding + declared/observed sha pair), never a bare source id — mutated = NEW again; matching-nothing = STALE and red. **Declaration changes reporting, never acceptance.** Exit red only for new failures or stale declarations. `tests/test_ingest_gate.py` = the engine's FIRST test floor. - **Lifecycle proven end-to-end on real data:** the 5 declared (5 known-failed / 0 new, exit 0) → re-anchored → all 10 declarations went STALE (red, witnessed) → retired → 13 validated / 0 / 0 / 0, exit 0, register empty. - **The re-anchor was re-VERIFIED, never re-stamped:** old bound states reconstructed from ARC git by declared-sha match (all five @ ARC `355757d`); deltas proven to be exactly the known hunks — i/ii a one-line in-place ornament-class swap (`completion`→`close`) inside the body span; iii/iv/v a 2-line EOF append AFTER every declared section (left uncovered — gaps allowed, the close is site apparatus). Manifest + sidecar shas re-bound; `source_lines` corrected on iii/iv/v. **The runbook completeness grep earned its keep: it surfaced a SIXTH binding surface** — `chamber-library/reading-indices/david-after-the-reply.yaml` (all five old shas) — 48 anchors re-verified against the new states (ellipsis-aware matching; the only standing flag is the header-DECLARED essay-III condensation divergence; epigraph binding verified current). Derived layer rebuilt (5685 drawers; the prior `index.db` had been silently stale across several manifest changes — divergence 4719/3122 recorded by rebuild; verify HEALTHY). Final grep of all five old shas across chamber/engine/ARC: ZERO. - **The literal question ANSWERED** (spec-note §4, from code): the engine binds chamber/ARC sources by **path + sha only**; all line geometry it consumes is its OWN sidecars, native landed-file frame by construction; **no chamber-geometry consumer exists** — no ingest-side frame refusal needed today. Residual gap named honestly: bounds-valid ≠ content-correct → the **content-probe fence** (per-section content attestations, gate-verified) is the named follow-on, NOT built (dependency: `studium/meta@1` optional field + probe generation for the 13 sidecars). **The planning deliberation (steward-led; the map corrected twice — both corrections the steward's):** 1. **The non-Loeb shortlist was under-represented** in my map (production lanes are Loeb-shaped; the shortlist work is filed across three registers). Redrawn as the **shortlist spine**: the 13-source manifest IS the shortlist's vanguard (Position I + Essay-I + the five essays); V2's gold set IS the shortlist (Mauss 17 FR pairs · March EN sets · Handke DE); Phase D's cast = Harrison × Alexander. **The trust asymmetry named:** Loeb is censused (952 map), but the born-digital tier is verbatim-**uncertified as a class** (REVIEWED-57's V-TEXT §6 sweep never ran); **Eichmann is DIRTY inside the live manifest** (~4,712 filepos/split residues, held finding 2026-07-14); Levi drop-cap unresolved; Camus absent. 2. **The legacy-corpus fork dissolved into ONE DOOR.** Key structural fact: V-TEXT certification and reconversion share their expensive step (V-TEXT = re-convert + compare), and the steward's second correction — the extant ~1305 have almost NO sidecars and missing v2 frontmatter (1,073), while the structural layer is generated BY the conversion — collapses promote-in-place from default to narrow exception. **Decision framed (NOT yet ruled): promotion = graduation through the current process; there is one door.** The extant tier = (1) interim substrate (tier-labeled, fence-excluded), (2) **witness corpus** (convert-and-compare flips role: the extant file proves the fresh conversion lost nothing; divergences classified converter-better / curation-to-carry / regression — the notes-are-part-of-the-work safeguard), (3) exception lane (recent through-the-door graduations · source-missing → Region 2 · V-SCAN → permanent honest ABSTAIN). Frontmatter migration largely dissolves into the door; mass retrofit half-forbidden by attest-never-default anyway. **PROPOSAL-class — promotion-criterion is a named-open frontier of the ratified constitution → PENDING-65, jurist-gated.** Sub-question deliberately left to the jurist: whether a declared minimal-sidecar class may exist for the exception lane (executor lean: no). **THE FIVE-SESSION PLAN (banked; the standing sequence):** - **S1 — V1, the byte-existence checker** (engine, D-1, no dependencies): `verify-quote` per V0's contract — exact → `normalizer@N` → fingerprint containment verdicting **altered** never passing; anchored; refuses non-citable; **tier labels from the first CLI output** (§8.2 tightening); deliberate-mismatch suite (fabricated · one-word-altered · right-work-wrong-anchor · translation-as-original · paratext-span); extends the test floor. Eichmann verdicts wear the known-dirty flag until S2b. NOT: V2, N1, corpus work. - **S2a — PENDING-65 drafted + jurist-gated** (the one-door rule, witness comparison + curation-diff, exception-lane boundaries, the minimal-sidecar sub-question surfaced). - **S2b — the Position-I pilot wave** (first real promotion wave; the shortlist first through the door): Eichmann Docling re-conversion on the M4 → full graduation → cross-repo re-anchor (today's proven machinery); the rest of the slice convert-and-compare as witnesses; `audit_cruft` filepos/split blind-spot fix; **two steward rulings live here: Levi drop-cap · Handke-German confirmation**. - **S3 — V2** (gold set from the real corpus incl. ~15–20 hand-authored DE pairs + adversarial negatives; run against pre-registered thresholds; verdict written whatever it says — trust/revise/gate-to-abstain per language all valid). - **S4 — N1 tree builder** (flexible; can swap earlier as a lighter session; nothing in the V-track waits on it). - **S5 — #2's re-stamp** (chamber-ward, by appetite; parallel to the V-track; releases the batch pipeline — pacing coupling holds until then). - **Riding alongside:** steward sitting (REVIEWED-55 placement + the skill-harvest review, standing since 07-12) · slot-sized executor items (content-probe fence · MemPalace decommission remainder · Doc-1 line-45). - **Named sequencing option the steward may override:** S1↔S2 swap (trust instrument's first outputs on certified substrate vs ruled V-track-leads order). Executor lean: V1 first. **Decisions NOT made:** PENDING-65 not drafted (S2a's bite — deliberately, so it gets the careful draft, hook-grounded); the minimal-sidecar question (jurist's); the store-verify-after-edit discipline (derived-layer staleness observed at rebuild — same class as PENDING-53's "nothing runs the gate after a chamber edit"; noted, not pursued — L2-adjacent process design). ## PRESENT — the mood The engine block ran as compounding discipline: census-before-design made the defect checkable (the row-status lie was a FINDING, not a vibe); witnessed red twice (the absent `run()` seam; the 10 stale declarations); the completeness grep caught the sixth surface no census carried; the erratum was the checkable-claim discipline catching a **record that claimed verification it never had** ("verified, not recalled" — and it was recalled). The planning movement's load-bearing lesson is the steward's twice-made correction: **my map was drawn from production lanes, not from the telos** — the Loeb spine was legible because it has batch mechanics; the shortlist spine (the point of the whole enterprise: The Making is the end, the engine the means) was scattered across three registers and dropped out of the cartography. Hold that shape: when drawing "where are we," draw the telos lane first, then the production lanes. No say-do wobbles caught this block; the one honest near-miss was almost answering the non-Loeb question from recall before reading the corpus-work-map (caught, read first). ## FUTURE — what is pulling **PULLING THREAD (singular): S1 — V1, the byte-existence checker.** The first organ of the verifier, on ground cleared today: honest gate, clean corpus (13 validated, zero standing failures), a test floor to extend. Inhabitable standing alone as a `verify-quote` CLI the steward can point at any quoted span. **ACTIONABLE RESUMPTION POINT (as of wrap — re-judge against what changed):** engine `main` @ `cffc68c` clean/pushed; chamber `main` @ `1a217a1` clean/pushed both remotes; corpus 13 validated / register empty / tests 24/24 / store HEALTHY. First moves of S1: (1) read `docs/spec/v0-verifier-contract.md` FRESH + `spec/cluster-a-data-model.md` §5.1 (`fidelity_equivalence@1` — the jurist-gated trust floor, forked from retrieval's `normalizer@1`); (2) build `verify-quote` as V0 specifies (three-stage: exact → versioned-normalized → fingerprint-containment→**altered**), tier labels from first output, evidence tuple per verdict; (3) deliberate-mismatch suite into `tests/`, witnessed red first; (4) run it against real corpus quotes (the March instances are ready ammunition). NOT S1: V2, N1, any corpus work, PENDING-65 (S2a's). Eichmann-verdict caveat stands until S2b. **Other horizons (ranked, held):** S2a PENDING-65 draft → S2b Position-I pilot (Eichmann first) → S3 V2 → S4 N1 (floating) → S5 #2 re-stamp (appetite; batches coupled behind it) · steward sitting: REVIEWED-55 placement + skill-harvest review (~15 PROPOSED, standing since 07-12) · slot-sized: content-probe fence · MemPalace decommission remainder · Doc-1 line-45 · 16 BODY-DEFICIT (②4 via B2, Loeb lane). **PAUSE STATEMENT:** I am about to be away from this. The engine's ground is clean and proven for the first time — gate honest, corpus bound, failures legible — and the five-session plan is banked with the steward's two corrections folded in. What I want to find still pulling on return: **V1 — the organ that can refuse — built on the ground we just cleared, with the one-door decision (S2a) queued right behind it so the shortlist enters by the door.** **LITERAL QUESTION for next-Claude:** Does `fidelity_equivalence@1` as ratified actually suffice for the manifested corpus's orthography — French elision/œ-ligatures, German ß/ss, the em-dash and quotation conventions of our conversion history — or does building V1's normalized-match stage surface equivalences the jurist-gated floor must rule on BEFORE the checker can verdict `altered` honestly (the V0 §2.4 note says Tier-1's real risk IS the normalization layer)? Read the ratified equivalence set before writing the matcher; if a gap appears, it is jurist-lane, not a code decision. **State at wrap:** engine `cffc68c` pushed · chamber `1a217a1` pushed ×2 · ARC untouched · gate 13 validated/0/0/0, register empty · tests 24/24 engine, 188/188 chamber · spec v2.2.0 operative · REVIEWED-64/65 placed · PENDING-64 closed (annotation landed this wrap) · ledger `session-ledger-2026-07-19.md` (both blocks) · harvest: 1 ladder proposal + 1 reinforcement.