Files
dotfiles/claude/memory/session-2026-07-19-evening-engine-gate-legibility-one-door-plan.md
T

57 lines
13 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
---
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.