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

13 KiB
Raw Blame History

name, description, metadata
name description metadata
session-2026-07-19-evening-engine-gate-legibility-one-door-plan 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.
node_type type originSessionId modified
memory project 93885dc0-9b79-47a4-8b5c-82363a1b6763 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.