From 06203c38339c11709af562d18f0920416685c560 Mon Sep 17 00:00:00 2001 From: David F Glidden Date: Fri, 24 Jul 2026 16:40:02 +0200 Subject: [PATCH] =?UTF-8?q?session=202026-07-24=20evening:=20REVIEWED-72/7?= =?UTF-8?q?4=20landed=20(chamber-library=20spec=20v2.6.0=20=E2=80=94=20bor?= =?UTF-8?q?n-digital=20V-TEXT=20source-fidelity=20gate)=20+=20PENDING-73?= =?UTF-8?q?=20+=20session=20memory/ledger=20+=20KG?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- PENDING.md | 15 ++++++ REVIEWED.md | 8 +++- claude/memory/MEMORY-reference.md | 5 +- claude/memory/MEMORY.md | 4 +- claude/memory/knowledge-graph.jsonl | 2 + ...vtext-gate-landed-v2.6.0-wave-unblocked.md | 46 +++++++++++++++++++ claude/memory/session-ledger-2026-07-24.md | 15 ++++++ 7 files changed, 91 insertions(+), 4 deletions(-) create mode 100644 claude/memory/session-2026-07-24-evening-reviewed72-74-vtext-gate-landed-v2.6.0-wave-unblocked.md diff --git a/PENDING.md b/PENDING.md index b06877a..fd39883 100644 --- a/PENDING.md +++ b/PENDING.md @@ -1691,3 +1691,18 @@ Disposition (verbatim capture + executor action-list: `chamber-library/docs/libr **Files affected (on ratification):** spec supersession (the voice-boundary-attestation requirement; MINOR) + `graduation-spec.yaml` (`sidecar_gate` scope widened to baseline existence/binding/schema across tiers; whole-file attestation vocabulary) + `scripts/graduate_to_canonical.py` (the check) + possibly a chamber↔engine locus decision (Q2). No re-verify storm (0 hold engine-verified through this gate; forward-only). **RULED 2026-07-24 — design-gate PASSED, strengthened** (`docs/engine-consumption-voice-purity-sidecar-JURIST-RULING-2026-07-24.md`, filed verbatim; Addendum + REVIEWED-73 draft appended to the package). All 5 Qs resolve toward the proposal. **Sharper diagnosis (frame on this): ORTHOGONALITY** — `trim.keep` answers "should this be preserved?"; voice-purity answers "whose words?" — orthogonal + ANTI-correlated where it matters (the Eichmann leak = Elon intro + Bibliography = `trim.keep`, correctly kept; **extending the trim is the WRONG fix**). **Q1 STRENGTHENED: sections[] must partition the file body EXHAUSTIVELY** (no gaps/overlaps) — converts silence→assertion (the gate derives nothing, so nothing else forces completeness; the teeth my package lacked). **Q2 ruled CHAMBER-SIDE** on the concrete arg (my architectural lean was right-but-weak): engine-side sidecar breaks on every re-conversion (`ingest_gate` sidecar-sha==live; PENDING-53 class, **5 standing FAILED rows since 2026-07-10**) → produce+gate at graduation, engine reads. **Q3** falsifiers = existence + binding + schema + exhaustive-partition + closed-vocab `role {text,paratext,apparatus,reference}`. **Q4 MIGRATE the 19** (not grandfather — Eichmann is among them, correct only post-leak); carry `_reviewed`→`attested_by` + add **REVIEWED-64 `line_frame: landed-file`** (the package MISSED this — sections[] is a coordinate-contract family); backfill scope = engine corpus (~20), NOT chamber (1,297). **Q5** V-SCAN baseline yes / rich no. **Cost:** per-file reading pass compounds → design the SINGLE-reading-pass (boundary-drop ⊂ voice-purity, one read) before the wave. **Awaiting:** steward placement of REVIEWED-73 (draft in the package Addendum) → land the amendment (constitutional requirement framed on orthogonality + declared-data mechanism: exhaustive-partition · closed-vocab role · chamber-side production · line_frame · whole-file attestation) → build the widened `sidecar_gate` → migrate the ~20 → design the single-reading-pass. Related: PENDING-71. **Does NOT block Warde's chamber graduation; DEFINES what Warde needs to become an engine voice** (exhaustive sections[] over the canonical: essays=`text`, CUP Bible facsimile=`apparatus`, front/back=apparatus; line_frame landed-file). + +## PENDING-73 — Born-digital V-TEXT added-side check: the fabrication measure REVIEWED-72 activated (change-class confirmation) +**Date:** 2026-07-24 +**Tag:** [PROPOSAL] — change-class confirmation on the IMPLEMENTATION of REVIEWED-72 (already ruled). Change-class test = yes (a candidate that FLAGed on run-based `added_total` displacement now PASSes) → PROPOSAL → jurist design-gate. Refines REVIEWED-72's stated mechanism; does not reopen its decision. Steward-directed (routing option b) to secure the in-scope judgment BEFORE building on it, "to be sure of no surprises." +**Summary:** Building REVIEWED-72's ruled reference (run (3) = pandoc `markdown-smart` on the raw source EPUB) and the instruction to "declare/excuse the injection+glyph delta (`moved_to` shape; fabrication elsewhere still flags)," the executor measured what the 287-token added delta ON THE LEVI CANDIDATE actually is — and the substrate refines the ruling's own premise about the delta. The honest implementation redefines what `classify()`'s added side MEASURES (fabrication, not position-displacement), which is a gate-acceptance change → back to the jurist, not a silent FIX. +**Measurement (Levi, reproduced 2026-07-24, read-only, `scratchpad/ground_manifest.py`):** `classify()` run-based = FLAG / 99.97% / **added_total=287** / interior_loss=0 / boundary=0. But **multiset-added = `Counter(cand)−Counter(ref)` = 8 tokens, 3 distinct: `wstawać`×6, `oświęcim`, `braşov` — EXACTLY the glyph substitutions.** The other 279 added-run tokens are all PRESENT ELSEWHERE in the reference (displacement, multiset-neutral — the position-based run counter mislabels displacement as "added"). Injection's own enumeration (`converted_markers`, 646 digit-markers) lands on the LOST side and explains 0 of the added. Prior sub-Q settled: `_tokens` uses `\w+`/`re.UNICODE` → PRESERVES diacritics (`wstawać`≠`wstawa`) → glyph is visible + two-sided. +**The refinement:** the ruling's SHAPE holds (run (3), "fabrication elsewhere flags," moved_to's present-in-reference intuition), but two factual premises don't survive: (1) "the injector enumerates the added delta exactly" — it enumerates markers (lost-side), not the 279 relocated body tokens; no injector surface to bind an added excuse to; (2) "a known, declared, enumerable set of added tokens" — it's 279 displacement (cancels in a multiset) + 8 glyph (the only declarable set). The clean mechanism = measure the added side as a MULTISET (displacement cancels structurally), declare only the glyph set (two-sided), everything else flags. +**Proposal:** Requirement (constitutional, for the §Tiering&Fence supersession landing with REVIEWED-72) — the V-TEXT added side verifies ABSENCE OF FABRICATION: a candidate token unaccounted for by the reference is fabrication UNLESS it is a declared, attributed §V normalization (the character-as-image glyph restoration is the only one on this lane); a token present in the reference (displacement) is not fabrication; new vocabulary OR surplus count (duplication) flags. Mechanism (declared data/code) — added FLAG criterion changes run-based→multiset (`(Counter(cand)−Counter(ref))−declared_glyph_added > threshold`); the glyph manifest is TWO-SIDED (`apply_char_glyphs` emits added candidate-form + removed reference-form per site — added excused from multiset-added, removed excused from any lost run, closing the accident-of-thresholds blind spot where a diacritic-dense passage clusters into a run > 50 and FLAGs a faithful candidate); loss side unchanged (run-based; position is right for a deleted passage). Architecture (flagged, not a gate Q): sibling `resolve_added` mirroring `resolve_review`, `classify()` byte-identical for existing callers, V-TEXT graduation path opts in. +**Gate questions (in the package, w/ leans):** Q1 in-scope for REVIEWED-72 to land atomically vs its own proposal (lean in-scope — shape is REVIEWED-72's, only the mechanism-surface changes because the substrate refuted the named surface; but it IS gate-acceptance so not a silent FIX) · Q2 multiset over literal presence-check (lean multiset — strictly dominates: catches new-vocab AND duplication, cancels displacement; presence would silently pass duplication) · Q3 two-sided glyph manifest (lean yes — the removed-form half is currently unaccounted) · Q4 name the closed boundary: only attested §V-declared normalizations are excusable added tokens, all else fabrication (lean yes — attest-never-default at the added side, mirroring PENDING-69's lost-side label discipline). +**Recommendation:** relay the package to the jurist. Executor leans above; the routing (in-scope vs own-proposal) is the steward+jurist call the steward asked for. +**Package (self-contained, jurist-ready):** `chamber-library/docs/borndigital-added-side-fabrication-check-JURIST-PACKAGE-2026-07-24.md` (GROUNDED-IN §Tiering&Fence source-fidelity 1046–1048 + V-TEXT tier + §V Tier-3-by-omission v2.5.0, all quoted verbatim; REVIEWED-72 ruling + `resolve_review`'s deferred added-side follow-on + `classify()`'s added-side code quoted; measurement inlined; consequence-trace with the duplication sub-kind). +**Files affected (on ratification):** §Tiering&Fence supersession (the added-side fabrication property, folded into the REVIEWED-72 reference supersession; MINOR) + `graduation-spec.yaml` (declared-glyph two-sided manifest; added-side threshold) + `scripts/verify_body_conservation.py` (`resolve_added`) + `scripts/apply_char_glyphs.py` (emit the two-sided per-site tokens). No re-verify storm (only graduated V-TEXT = Eichmann, one-door; the change relaxes displacement + tightens duplication; Eichmann shows no duplication → still PASS). +**Awaiting:** steward relay → jurist design-gate. On ruling: build the added-side check per the disposition, then the three-case demonstration (clean PASS · deliberate prose deletion FLAGs · deliberate fabrication-outside-manifest FLAGs), then land atomically with the REVIEWED-72 reference supersession. Related: PENDING-71 (REVIEWED-72), PENDING-69 (`moved_to`/`resolve_review`), REVIEWED-70 (§V glyph). +**RULED 2026-07-24 — design-gate PASSED; in-scope + atomic with REVIEWED-72** (`docs/borndigital-added-side-fabrication-check-JURIST-RULING-2026-07-24.md`, filed verbatim; Addendum + REVIEWED-74 draft appended to the package). The jurist OWNED the refuted premise (the injector enumerates `converted_markers` on the LOST side, not the added delta — *"the producer must know X is not evidence the producer records X"*; the measurement found it). Shape survives; surface refuted. **Q1 in-scope + atomic on a recorded THREE-PART test** (property unchanged · surface refuted-by-measurement-not-inconvenience · design-gate-reviewed; a change missing any leg is its own cycle — record it so "in-scope" sets no mechanism-drift precedent). **Q2 MULTISET confirmed** (strictly dominates presence: catches new-vocab AND duplication, cancels displacement); reordering residual **scoped to the standing Q3 order-blindness stamp-block** (gate does not verify passage order — demonstrated Eichmann §7), NOT to a converter-behaviour claim. **Q3 two-sided glyph manifest confirmed, COUNT-SCOPED both sides:** added = `Counter` subtraction (a 7th surplus of a declared token still flags); a lost run excused ONLY IF every token is manifest-accounted (partially-accounted run stays flagged — "and nothing more", PENDING-69 Q5 on the loss side). **Q4 authorizes the CLASS** (glyph restoration) not future declared normalizations (each by its own §V review). **Latent:** the 646 `converted_markers` = excusable apparatus (REVIEWED-54 §2), invisible only while the loss side stays run-based → named dependency on any future loss-side count-basing; added=count/lost=position asymmetry = deliberate choice. **Demonstration = FOUR cases** (adds Eichmann regression PASS). Architecture: sibling `resolve_added`, `classify()` byte-identical, V-DSL + §6 sweep do NOT inherit. +**Awaiting (updated):** steward placement of REVIEWED-74 (draft in the package Addendum) → build `resolve_added` + two-sided glyph manifest test-first → four-case demonstration → land atomically with the REVIEWED-72 §Tiering & Fence reference supersession. Related: PENDING-71 (REVIEWED-72), PENDING-69 (`moved_to`/`resolve_review`), REVIEWED-70 (§V glyph), REVIEWED-54 (§2 markers-as-apparatus). diff --git a/REVIEWED.md b/REVIEWED.md index 760c4b9..1bce2ae 100644 --- a/REVIEWED.md +++ b/REVIEWED.md @@ -699,4 +699,10 @@ born-digital lane (whole-EPUB injection → per-spine) + promotion.scale_applica **Date:** 2026-07-24 **Decision:** AUTHORIZED — proceed per the ruling. Ruling filed verbatim at chamber-library/docs/engine-consumption-voice-purity-sidecar-JURIST-RULING-2026-07-24.md. **Notes:** Proposal confirmed + strengthened. FRAME ON ORTHOGONALITY: trim.keep answers "should this be preserved?"; voice-purity answers "whose words are these?" — orthogonal and anti-correlated where it matters (the Eichmann leak — Elon's Introduction + Bibliography — was trim.keep, correctly kept; extending the trim is the WRONG fix, it would delete content the corpus should hold). Q1 STRENGTHENED — sections[] must partition the file body EXHAUSTIVELY (every line to exactly one section; no gaps/overlaps), converting silence to assertion (the gate derives nothing here, so nothing else forces completeness). Q2 ruled CHAMBER-SIDE, produced + gated at graduation, engine reads it — because an engine-side sidecar breaks on every chamber re-conversion (ingest_gate sidecar-sha==live; PENDING-53 class, 5 standing FAILED rows since 2026-07-10). Q3 the gate checks existence + binding + schema + two mechanical falsifiers (exhaustive-partition; role from the closed vocabulary {text,paratext,apparatus,reference}), never boundary correctness. Q4 forbid the silent whole-file default forward; MIGRATE the 19 engine sidecars (not grandfather — Eichmann is among them, correct only after the leak), carrying _reviewed notes as attested_by AND adding REVIEWED-64 line_frame: landed-file declarations; backfill scope = engine corpus (~20), NOT chamber (1,297). Q5 V-SCAN baseline applies, rich does not (Warde: reproduced CUP Bible facsimile = apparatus). Cost: a per-file reading pass compounds on the boundary-drop pass — DESIGN the single-reading-pass (the two attestations from one read) before the wave. -**If AUTHORIZED:** Land the amendment (constitutional requirement framed on orthogonality + declared-data mechanism: sections[] exhaustive-partition · closed-vocab role · chamber-side production · line_frame: landed-file · whole-file attestation) → build the widened sidecar_gate → migrate the ~20 engine sidecars → design the single-reading-pass. Tag commits REVIEWED-73. \ No newline at end of file +**If AUTHORIZED:** Land the amendment (constitutional requirement framed on orthogonality + declared-data mechanism: sections[] exhaustive-partition · closed-vocab role · chamber-side production · line_frame: landed-file · whole-file attestation) → build the widened sidecar_gate → migrate the ~20 engine sidecars → design the single-reading-pass. Tag commits REVIEWED-73. + + ## REVIEWED-74 — PENDING-73 — Born-digital V-TEXT added-side fabrication check (design-gate passed; in-scope, atomic with REVIEWED-72) +**Date:** 2026-07-24 +**Decision:** AUTHORIZED — proceed per the ruling. Ruling filed verbatim at chamber-library/docs/borndigital-added-side-fabrication-check-JURIST-RULING-2026-07-24.md. +**Notes:** Design-gate PASSED; the honest implementation of REVIEWED-72's added-side excuse redefines classify()'s added side from a position-displacement count to a multiset-fabrication measure. The jurist OWNED the refuted premise (the injector enumerates converted_markers on the LOST side, not the added delta — "the producer must know X is not evidence the producer records X"); the measurement found it, the ruling's shape survives. Q1 IN-SCOPE + atomic with REVIEWED-72 on a recorded THREE-PART test (property unchanged · surface refuted by measurement not inconvenience · design-gate reviewed) — a change missing any leg is its own cycle. Q2 MULTISET confirmed over presence (multiset strictly dominates: catches new-vocabulary AND duplication, cancels displacement); the reordering residual is scoped to the STANDING Q3 order-blindness stamp-block (gate does not verify passage order — demonstrated, Eichmann §7), NOT to a converter-behaviour claim. Q3 two-sided glyph manifest confirmed with the required precision: COUNT-SCOPED both sides — added = Counter subtraction (a 7th surplus of a declared token still flags); a lost run is excused ONLY IF every token is manifest-accounted (a partially-accounted run stays flagged). Q4 authorizes the CLASS (glyph restoration) not future declared normalizations (each enters by its own §V review). Latent: the 646 converted_markers are excusable apparatus (REVIEWED-54 §2) invisible only while the loss side stays run-based — recorded as a named dependency on any future loss-side count-basing; the added=count/lost=position asymmetry is a deliberate choice. Demonstration = FOUR cases (adds an Eichmann regression PASS). Architecture: sibling resolve_added, classify() byte-identical, V-DSL + §6 sweep do NOT inherit. +**If AUTHORIZED:** Build resolve_added + the two-sided glyph manifest test-first, repoint the reference, demonstrate the four cases, then land the §Tiering & Fence supersession atomically with REVIEWED-72's reference reconciliation (record the Q1 three-part in-scope test + the reassigned-component check in the amendment discipline). Tag commits REVIEWED-74. \ No newline at end of file diff --git a/claude/memory/MEMORY-reference.md b/claude/memory/MEMORY-reference.md index f7d2aff..411f3fa 100644 --- a/claude/memory/MEMORY-reference.md +++ b/claude/memory/MEMORY-reference.md @@ -5,7 +5,7 @@ metadata: node_type: memory type: reference originSessionId: d1e67361-d1b9-4dac-a0c4-e7a0e26211c4 - modified: 2026-07-24T12:49:03.788Z + modified: 2026-07-24T14:38:21.099Z --- # MEMORY — Reference layer (consult on demand) @@ -29,6 +29,9 @@ Split out of [MEMORY.md](MEMORY.md) on 2026-07-06 to keep the wake-loaded index # Archived sessions + stable reference layer (relocated verbatim from MEMORY.md, 2026-07-06) +## Archived (2026-07-24 evening — PENDING-71/72/73 jurist packages RULED (REVIEWED-72/73/74); the build-REVIEWED-72 thread set + then BUILT+LANDED; demoted on promote at the 2026-07-24 evening-continued wrap) +- [Session 2026-07-24 evening — PENDING-71/72 jurist packages both RULED (REVIEWED-72/73); build REVIEWED-72 to unblock the wave](session-2026-07-24-evening-pending71-72-jurist-packages-ruled-reviewed72-73.md) — Closing **Flag-1** exposed that born-digital **source-fidelity has NO cross-converter independence** (after F4 both candidate + reference are pandoc → shared EPUB reader → gate blind to reader-loss, loud on markup; the spec §1046 "different converter" premise voided). Steward's *"is the catch making reconciliation impossible?"* = the sharp read. Measured (`scratchpad/measure_flag1.py`): **run (3)** source-anchored+writer-matched = **99.97%/0-interior-loss/0-boundary**. → **PENDING-71** package. Turned to **Warde** (V-SCAN, "while we wait"): 2 OCR errors scan-adjudicated by VIEWING the pages (`popularity`; `himself` on the CUP Bible facsimile — the case where an archaic form *would* be preserved, but the facsimile prints standard) + corrected + source archived (manifest→349). Steward corrected the METHOD **2×: "cannot use the extant canon as precedent"** (I'd peer-mirrored Bringhurst's legacy frontmatter + inferred no-sidecar from legacy peers). The sidecar question deepened → the **voice-purity sidecar** finding (`studium/meta@1` = ONE artifact, two depths: baseline binding+`sections[]` for every voice / rich structural for typed sources; the Eichmann apparatus-leak) → **PENDING-72** package. **Both RULED same day** (steward-relayed): **REVIEWED-72 OVERRULED my lean — run (3) IS the design** (I under-read my own data — clean PASS needs the residual ACCOUNTED-FOR not zero; Flag-1 right-but-insufficient; + a periodic reader audit; 969/1046 reconciled — 1046 relocated to the audit); **REVIEWED-73 confirmed+STRENGTHENED** (orthogonality · `sections[]` EXHAUSTIVE-partition · chamber-side · migrate the ~20; I'd missed `sections[]`=REVIEWED-64 coordinate-family). Steward placed both; chamber-library committed+pushed to **github** (`5519cb8`); **origin/Gitea unreachable** (retry owed). Warde staged (WIP frontmatter rebuild owed). **PULLING THREAD: build REVIEWED-72** — repoint the reference to `markdown-smart`-on-raw-source + declare/excuse the injection delta + spec the periodic audit → demonstrate **clean PASS + a deliberate NEGATIVE** → unblock the 47-file V-TEXT wave. **LITERAL Q: does the deliberate negative (a real prose deletion) still FLAG under the redefined reference — proving it refuses real loss, not just passes clean files?** *(→ ANSWERED in the evening-continued session: yes — built + landed as spec v2.6.0, `eaa38bf`.)* + ## Archived (2026-07-24 afternoon — Levi scale-application pilot RATIFIED, REVIEWED-71; the §6 error → Flag-1 load-bearing; demoted on promote at the 2026-07-24 evening wrap) - [Session 2026-07-24 afternoon — Levi scale-application pilot RATIFIED (REVIEWED-71); Flag-1 now gates the wave](session-2026-07-24-afternoon-levi-scale-pilot-ratified-flag1-gates-wave.md) — Ran the born-digital lane against the RULED `scale_application` condition (REVIEWED-70 Q2). First cut = **work 13** (footnote-injection de-risk: **331/331 injected across all 14 works, holds**; 551→95 spans after a demonstrated escape-fold extension; 0 loss) — BUT work 13 has **ZERO mutilation sites**, so **redone on the mutilation works 2/7/10** (steward-directed): aggregate 148,262 words, **98.45% matched, 0 regression, converter-better 8 sites ALL source-adjudicated** (Wstawać ć, Braşov ş-cedilla [source-faithful, NOT "corrected" to ș], Oświęcim ś+ę); **inter-work-interior DEMONSTRATED**. **Jurist CONFIRMED (REVIEWED-71, legacy-witness-only grant)** + caught a real **§6 reasoning error I own**: a 0-delete compare against a SILENTLY-MUTILATED legacy witness canNOT establish source-fidelity. **⇒ source-fidelity UNDISCHARGED; Flag-1 became LOAD-BEARING** (→ resolved the next session as PENDING-71/REVIEWED-72: the real problem was no cross-converter independence, not the pinning). Recurring drift = assert-from-recall-not-substrate 3×. **Warde** staged (V-SCAN; 2 OCR sites owed scan-adjudication — done in the evening session). Ruling+report+Addendum filed in chamber `docs/`. diff --git a/claude/memory/MEMORY.md b/claude/memory/MEMORY.md index 2793b6d..431eb4e 100644 --- a/claude/memory/MEMORY.md +++ b/claude/memory/MEMORY.md @@ -6,7 +6,7 @@ metadata: type: note permalink: claude-memory/memory originSessionId: 22915403-bc5d-4796-9c7d-196b7c30d2f9 - modified: 2026-07-24T12:48:43.129Z + modified: 2026-07-24T14:39:07.137Z permalink: claude-memory/memory --- @@ -57,7 +57,7 @@ permalink: claude-memory/memory - [Be (laundromat)](project-be-laundromat.md) — canonical Be tracker (est. 2026-06-08). Be = Skemantix startup (Seb+David) funding CapableMind's ladder; **bridge, not venture**. Decisions LOCKED (entity/pricing/infra in file); a11y gate MERGED. **Pre-revenue WTP gate = renovate Pat → charge her; discipline: no new spec until it clears → nothing for executor on be.** Repo @ `f43a0fd`. ## Active Session -- [Session 2026-07-24 evening — PENDING-71/72 jurist packages both RULED (REVIEWED-72/73); build REVIEWED-72 to unblock the wave](session-2026-07-24-evening-pending71-72-jurist-packages-ruled-reviewed72-73.md) — Closing **Flag-1** exposed that born-digital **source-fidelity has NO cross-converter independence** (after F4 both candidate + reference are pandoc → shared EPUB reader → gate blind to reader-loss, loud on markup; the spec §1046 "different converter" premise voided). Steward's *"is the catch making reconciliation impossible?"* = the sharp read. Measured (`scratchpad/measure_flag1.py`): **run (3)** source-anchored+writer-matched = **99.97%/0-interior-loss/0-boundary**. → **PENDING-71** package. Turned to **Warde** (V-SCAN, "while we wait"): 2 OCR errors scan-adjudicated by VIEWING the pages (`popularity`; `himself` on the CUP Bible facsimile — the case where an archaic form *would* be preserved, but the facsimile prints standard) + corrected + source archived (manifest→349). Steward corrected the METHOD **2×: "cannot use the extant canon as precedent"** (I'd peer-mirrored Bringhurst's legacy frontmatter + inferred no-sidecar from legacy peers). The sidecar question deepened → the **voice-purity sidecar** finding (`studium/meta@1` = ONE artifact, two depths: baseline binding+`sections[]` for every voice / rich structural for typed sources; the Eichmann apparatus-leak) → **PENDING-72** package. **Both RULED same day** (steward-relayed): **REVIEWED-72 OVERRULED my lean — run (3) IS the design** (I under-read my own data — clean PASS needs the residual ACCOUNTED-FOR not zero; Flag-1 right-but-insufficient; + a periodic reader audit; 969/1046 reconciled — 1046 relocated to the audit); **REVIEWED-73 confirmed+STRENGTHENED** (orthogonality · `sections[]` EXHAUSTIVE-partition · chamber-side · migrate the ~20; I'd missed `sections[]`=REVIEWED-64 coordinate-family). Steward placed both; chamber-library committed+pushed to **github** (`5519cb8`); **origin/Gitea unreachable** (retry owed). Warde staged (WIP frontmatter rebuild owed). **PULLING THREAD: build REVIEWED-72** — repoint the reference to `markdown-smart`-on-raw-source + declare/excuse the injection delta + spec the periodic audit → demonstrate **clean PASS + a deliberate NEGATIVE** → unblock the 47-file V-TEXT wave. **LITERAL Q: does the deliberate negative (a real prose deletion) still FLAG under the redefined reference — proving it refuses real loss, not just passes clean files?** Read the session file at wake. +- [Session 2026-07-24 evening (cont.) — REVIEWED-72/74 built + LANDED atomically (spec v2.6.0); the 47-file V-TEXT wave is UNBLOCKED](session-2026-07-24-evening-reviewed72-74-vtext-gate-landed-v2.6.0-wave-unblocked.md) — Same day; steward /clear'd to build with room. Substrate re-read caught the prior wrap's "bounded" framing: the naive repoint FLAGs (run (3) carries 287 added → `classify` added_total>50 → FLAG). Grounding measurement (`scratchpad/ground_manifest.py`, read-only) **REFUTED the jurist's OWN stated premise** — the 287 = **279 DISPLACEMENT + 8 glyph, NOT injected content**; the injector enumerates `converted_markers` (646) on the **LOST** side. Also settled empirically: `_tokens` PRESERVES diacritics (`wstawać`≠`wstawa`) → glyph is TWO-SIDED. Steward chose routing (b) "no surprises" → **PENDING-73** package → **REVIEWED-74**: jurist **OWNED the refuted premise** (*"the producer must know X is not evidence the producer records X"*) + four corrections (Q1 in-scope on a recorded **three-part test** · Q2 **MULTISET** dominates presence [catches duplication] · Q3 two-sided **COUNT-SCOPED** [Counter subtraction; whole-run-or-nothing] · Q4 the glyph **CLASS** not future members) + 646-marker latent + a **fourth** demo case. **Built** `verify_body_conservation.resolve_added` (10 fixtures) + `apply_char_glyphs` two-sided manifest (added=joined / removed=``-split fragments) + repointed the reference → **FOUR-CASE demonstration PASSED** (clean PASS · prose-deletion FLAG · fabrication-outside-manifest FLAG fab=80 · Eichmann regression clean; RECORD doc) → **wired** into `graduate_to_canonical.body_conservation_gate`. **LANDED** (steward: "push into the landing"): spec **v2.5.0→v2.6.0**, froze v2.5.0, **BOUNDED-DIFF PROVEN** (exactly 4 regions); graduation-spec `body_conservation:` declared data (`added_fabrication_threshold:40`, `reader_audit` specified-not-yet-built VISIBLE); §Governance +2 disciplines (reassigned-component check · in-scope-refinement three-part test); chamber CLAUDE.md v2.6.0 + tool-evolution-log. **`eaa38bf` on github** (origin/Gitea unreachable, retry owed). Fleet **234/234**; every hook + pre-commit passed. **PULLING THREAD next = BEGIN THE 47-FILE V-TEXT WAVE** — first bite = ONE real **non-imaged** kindle_residue file end-to-end through the newly-wired gate (the demonstration proved the gate LOGIC, not a full GRADUATION); the 12 imaged census-flagged files need per-source glyph-maps first (parallel curation track). **LITERAL Q: does a live book produce a clean graduation, or surface an `added_fabrication_threshold` floor HIGHER than the 2-book calibration (40), forcing a recalibration?** Read the session file at wake. ## Historical reference → MEMORY-reference.md Older archived-session pointers and the stable reference layer (steward profile · project-state detail · L1/L2/Chamber inventories · legacy pending-work · reference-file list) live in [MEMORY-reference.md](MEMORY-reference.md) — consult on demand; not loaded at wake. Recent cross-session trajectory comes from the Active Session entry above + the recent `session-*.md` files (wake §2.b.1; the MemPalace `handoffs` glance was retired 2026-07-07 with the wind-down). diff --git a/claude/memory/knowledge-graph.jsonl b/claude/memory/knowledge-graph.jsonl index 93f6ffd..93e8b3e 100644 --- a/claude/memory/knowledge-graph.jsonl +++ b/claude/memory/knowledge-graph.jsonl @@ -437,3 +437,5 @@ {"subject": "claude-code", "predicate": "drift-pattern", "object": "under-read-own-measurement — treated an accountable/declarable residual as a FAILURE. I had run (3) = 99.97%/0-interior-loss/0-boundary in my OWN measurement and dismissed it, assuming a clean PASS needs a ZERO residual; the 287-token delta was declared injection, excusable via the PENDING-69 moved_to shape. Also conflated two problems ('verifies markup not words'): shared-reader (structural) vs markup-noise (Flag-1 fixed it) → leaned (b). Jurist overruled → run (3) IS the ruled design; Flag-1 right-but-insufficient. Recurrence of assert-from-derived-not-substrate at the read-your-own-data layer.", "valid_from": "2026-07-24", "valid_to": null, "confidence": 1.0, "source_file": "session-2026-07-24-evening-pending71-72-jurist-packages-ruled-reviewed72-73.md", "extracted_at": "2026-07-24"} {"subject": "claude-code", "predicate": "drift-pattern", "object": "peer-mirror-extant-legacy-canon-as-precedent — inferred 'Warde needs no sidecar' from legacy typography PEERS (Bringhurst etc., pre-constitution) and built Warde's frontmatter by mirroring Bringhurst, which predates the schema, so the copy lacked lang/canonical/work. Steward corrected 2×: 'we cannot use the extant canon as precedent.' Build to the CONSTITUTION (spec/graduation-spec schema), never to what a legacy canonical looks like; the legacy-witness principle applied to graduation method.", "valid_from": "2026-07-24", "valid_to": null, "confidence": 1.0, "source_file": "session-2026-07-24-evening-pending71-72-jurist-packages-ruled-reviewed72-73.md", "extracted_at": "2026-07-24"} {"subject": "claude-code", "predicate": "drift-pattern", "object": "consequence-trace-one-level-shallow RECURRENCE — quoted REVIEWED-64 (the coordinate contract) in the PENDING-72 package yet failed to apply it to sections[], the very field I was proposing; sections[] IS one of the five line-carrying coordinate-contract families → needs a line_frame declaration. Jurist supplied the miss. Same shape as the jurist-package say-do-seam / consequence-trace disciplines I already carry — quoting a clause is not tracing its application.", "valid_from": "2026-07-24", "valid_to": null, "confidence": 1.0, "source_file": "session-2026-07-24-evening-pending71-72-jurist-packages-ruled-reviewed72-73.md", "extracted_at": "2026-07-24"} +{"subject": "chamber-library-spec", "predicate": "version", "object": "v2.6.0 (REVIEWED-72/74) — born-digital V-TEXT source-fidelity: markdown-smart reference (source-anchored writer-matched) + added-side MULTISET fabrication check (resolve_added; displacement cancels, two-sided glyph manifest count-scoped); 969/1046 reconciled (cross-converter independence relocated to periodic reader audit = declared data, specified-not-yet-built); wave UNBLOCKED; committed eaa38bf (github)", "valid_from": "2026-07-24", "valid_to": null, "confidence": 1.0, "source_file": "session-2026-07-24-evening-reviewed72-74-vtext-gate-landed-v2.6.0-wave-unblocked.md", "extracted_at": "2026-07-24"} +{"subject": "claude-code", "predicate": "drift-pattern-good-direction", "object": "measurement-refuted-the-jurist's-OWN-stated-premise — reading the substrate (ground_manifest.py, read-only) before theorizing showed the 287-token added delta was 279 DISPLACEMENT + 8 glyph, NOT 'injected content the injector enumerates' as the ruling stated; the injector enumerates markers on the LOST side. The jurist OWNED it ('the producer must know X is not evidence the producer records X'). The assert-from-derived-not-substrate drift-family run in its GOOD direction: substrate-first catches even a jurist's compressed framing. Reusable: read your own measurement before accepting ANY compressed premise, a ruling's included.", "valid_from": "2026-07-24", "valid_to": null, "confidence": 1.0, "source_file": "session-2026-07-24-evening-reviewed72-74-vtext-gate-landed-v2.6.0-wave-unblocked.md", "extracted_at": "2026-07-24"} diff --git a/claude/memory/session-2026-07-24-evening-reviewed72-74-vtext-gate-landed-v2.6.0-wave-unblocked.md b/claude/memory/session-2026-07-24-evening-reviewed72-74-vtext-gate-landed-v2.6.0-wave-unblocked.md new file mode 100644 index 0000000..76d6c94 --- /dev/null +++ b/claude/memory/session-2026-07-24-evening-reviewed72-74-vtext-gate-landed-v2.6.0-wave-unblocked.md @@ -0,0 +1,46 @@ +--- +name: Session 2026-07-24 (evening, cont.) — REVIEWED-72/74 built + landed atomically (spec v2.6.0); the 47-file V-TEXT wave is unblocked +description: "Continuation of the same day (steward /clear'd to build with room). Built REVIEWED-72's ruled reference (markdown-smart) + REVIEWED-74's added-side MULTISET fabrication check (resolve_added), demonstrated the unblock (four cases: clean PASS · prose-deletion FLAG · fabrication-outside-manifest FLAG · Eichmann regression clean), wired it into the graduation gate, and LANDED it as spec v2.6.0 (bounded-diff proven) committed eaa38bf (github; origin/Gitea unreachable). Grounding measurement REFUTED the jurist's own stated premise (the 287-token Levi added delta = 279 displacement + 8 glyph, NOT injected content — the injector enumerates markers on the LOST side); the jurist owned it (PENDING-73→REVIEWED-74). PULLING THREAD next session = BEGIN THE WAVE: run ONE real non-imaged kindle_residue file end-to-end through the newly-wired gate, proving a real graduation (not just the gate logic), with the added_fabrication_threshold floor-watch live." +metadata: + node_type: memory + type: project + originSessionId: c8dd62d7-df44-4d38-8e66-12bd2afe9a33 + modified: 2026-07-24T14:37:08.351Z +--- + +# Session 2026-07-24 (evening, continued) — the V-TEXT source-fidelity gate: built, demonstrated, wired, LANDED (spec v2.6.0) + +Woke into the Flag-1 pulling thread (build REVIEWED-72 → unblock the wave), pressed one design-gate confirmation (PENDING-73→REVIEWED-74) through the jurist, then built + demonstrated + wired + landed the whole gate atomically. The 47-file wave is now unblocked on a reference that refuses real loss, not merely passes clean files. + +## PAST — what happened + why + +**Substrate re-read caught the wrap's framing.** The wrap said "the build is bounded." Re-reading the ruling + measuring (`scratchpad/ground_manifest.py`, read-only) showed the naive repoint FLAGs: run (3) carries 287 added tokens → `classify`'s `added_total > 50` → FLAG. So "declare/excuse the injection delta" is a **new added-side gate organ** (the follow-on `resolve_review`'s docstring deferred), not a constant swap. Surfaced this before writing code. + +**The measurement REFUTED the jurist's own stated premise (the day's drift-family, good direction).** The ruling (REVIEWED-72) said the 287 was "injected footnote content the injector enumerates exactly." The measurement DECOMPOSED it: **multiset-added = 8 tokens, ALL glyph** (`wstawać×6, oświęcim, braşov`); the other **279 are present-elsewhere in the reference — DISPLACEMENT, multiset-neutral** (classify's position-based run counter mislabels moved apparatus as "added"). The injector's `converted_markers` (646 digit markers) land on the LOST side, explaining 0 of the added. Prior sub-Q settled empirically: `_tokens` uses `\w+`/`re.UNICODE` → PRESERVES diacritics (`wstawać`≠`wstawa`) → glyph is visible + TWO-SIDED. Steward chose routing (b) — "be sure of no surprises" → filed **PENDING-73 + jurist package** (`docs/borndigital-added-side-fabrication-check-JURIST-PACKAGE-2026-07-24.md`; verify-before-compose hook passed). **The jurist RULED (REVIEWED-74) and OWNED the refuted premise** — *"the producer must know X is not evidence the producer records X"* — with four corrections: Q1 in-scope + atomic on a recorded THREE-PART test; Q2 MULTISET over presence (dominates: catches duplication); Q3 two-sided COUNT-SCOPED (Counter subtraction; whole-run-or-nothing loss excuse); Q4 authorizes the glyph CLASS not future normalizations. Plus the 646-marker latent dependency + a FOURTH demo case (Eichmann regression). + +**Built to the four corrections + demonstrated + wired.** `verify_body_conservation.resolve_added` (10 invariant fixtures, incl. duplication-catch + count-scoped negatives); `apply_char_glyphs` two-sided manifest (added=joined words / removed=``-split fragments — the honest asymmetry that tracks the reference's pandoc inline-image tokenization); repointed `reference_tokens_epub`→markdown-smart; **four-case demonstration PASSED on real candidates** (`docs/borndigital-added-side-four-case-demonstration-RECORD-2026-07-24.md`): Case 1 clean Levi PASS (fab=0) · Case 2 prose-deletion FLAG · Case 3 fabrication-outside-manifest FLAG (fab=80) · Case 4 Eichmann added+interior clean (fab=3<23, boundary→resolve_review). Wired into `verify_candidate` + `graduate_to_canonical.body_conservation_gate` (loads `.glyph-manifest.json` + declared threshold); lane writes the sidecar. Fleet 222→**234**. + +**LANDED atomically (steward: "push into the landing").** Spec **v2.5.0→v2.6.0** — froze v2.5.0 byte-identical, **BOUNDED-DIFF PROVEN** (exactly 4 regions: title · v2.6.0 block · source-fidelity clause revision · §Governance 2 disciplines; 4 deleted lines = only the old title + old bullet). 969/1046 reconciled (cross-converter → periodic reader audit, declared data, specified-not-yet-built with cadence/trigger/pass-criterion VISIBLE per steward). graduation-spec `body_conservation:` declared data. §Governance += reassigned-component check (REVIEWED-72) + in-scope-refinement three-part test (REVIEWED-74). Doc currency: chamber CLAUDE.md v2.6.0 + tool-evolution-log. **Committed `eaa38bf`, pushed github ✓; origin/Gitea unreachable (port 443, known-flaky) — retry owed.** + +## PRESENT — the mood + +**The substrate-first discipline HELD, and its payoff was the sharpest of the day: measurement refuted the jurist's own compressed framing, and the jurist owned it precisely.** This is the assert-from-derived-not-substrate drift-family run in its GOOD direction — read the data before theorizing, and even a ruling's premise yields. Load-bearing: securing the judgment BEFORE building (routing b), then building test-first with the bounded-diff proof as the backstop against a tail-of-session constitutional slip. The Prime Directive's dwelling-warning was live during the spec supersession (constitutional surgery at the end of a marathon) — answered by leaning on the bounded-diff proof (exactly 4 regions, verified) rather than trusting the edit. Nothing felt rushed into; every gate stayed green (234/234) and every hook passed. + +## FUTURE — what is pulling + +**PULLING THREAD: BEGIN THE 47-FILE V-TEXT WAVE.** The gate is built for exactly this. The clean first bite is narrow: run **ONE real non-imaged kindle_residue file** end-to-end through the newly-wired flow — the demonstration proved the gate *logic*, not a full *graduation* through the wired path. + +**ACTIONABLE RESUMPTION POINT (as of wrap — re-judge against what changed):** chamber-library @ `eaa38bf` (github; origin/Gitea retry owed), working tree clean, fleet 234/234. First move: pick a NON-imaged file from `_curation/kindle-residue-census-2026-07-19.tsv` (47 files; EXCLUDE the 12 imaged census-flagged ones — Jung/Derrida/Zibaldone/Lichtenberg/… which need per-source glyph-maps first). Run `_curation/eichmann-pilot-2026-07-19/convert_lane_borndigital.py SOURCE.epub OUT.md MAP.json [SOURCE_ID]` → cleaners → then `graduate_to_canonical` (now runs `resolve_added` on the added side + loads the glyph manifest + boundary-drops). Read the human boundary runs, attest via `.boundary-drops.json`, graduate. **WATCH the `added_fabrication_threshold` (40) floor** — a real book may surface a benign floor higher than the 2-book calibration. + +**Other horizons (ranked):** +- **REVIEWED-73 — the voice-purity sidecar build** (authorized, not started): the larger parallel build (orthogonality · exhaustive-partition · chamber-side · closed-vocab role · line_frame → widen sidecar_gate → migrate ~20 engine sidecars → single reading-pass). Steward chose the wave over this for next session; it can run in parallel with the wave's glyph-map curation. +- **Warde chamber graduation** (WIP): frontmatter rebuild to the schema + its voice-purity sidecar (essays=`text`, CUP-Bible facsimile=`apparatus`) per REVIEWED-73. +- **The reader-audit RUNNER** — specified-not-yet-built named dependency (`body_conservation.reader_audit`); not blocking the wave (periodic). +- **Per-source glyph-maps for the 12 census-flagged imaged files** — each VIEWED + verified before entering the lane (the parallel curation track feeding the imaged half of the wave). +- **origin/Gitea push retry** (chamber-library ahead on origin; github has eaa38bf). + +**PAUSE STATEMENT:** I am about to be away. The gate is built, tested, wired, and constitutionally landed (v2.6.0, `eaa38bf` on github) — durable, off my working tree. What I want to find still pulling: **the wave itself — the first REAL graduation through the gate we just built, proving the mechanism holds not on the demonstration but on a live book, with the threshold-floor watch active.** + +**LITERAL QUESTION for next-Claude:** When the first real non-imaged V-TEXT file runs end-to-end through the newly-wired gate, does the whole flow produce a clean graduation (resolve_added multiset PASS on the added side + boundary-drop attestation resolving the front/back-matter trims) — or does a live book surface an `added_fabrication_threshold` floor HIGHER than the 2-book calibration (40) predicted, forcing a recalibration of the declared threshold before the wave proceeds? (The gate's correctness is proven on the demonstration; the open question is whether the *calibration* survives contact with a real book.) + +**State at wrap:** chamber-library @ `eaa38bf` (github pushed; origin/Gitea unreachable, retry owed); working tree clean; fleet 234/234. REVIEWED-72/74 placed + landed (spec v2.6.0). PENDING-71/72/73 all RULED. Ledger: `session-ledger-2026-07-24.md` (the whole day, rich). Related in-flight: none (the landing is complete). diff --git a/claude/memory/session-ledger-2026-07-24.md b/claude/memory/session-ledger-2026-07-24.md index 03a25ff..94968ff 100644 --- a/claude/memory/session-ledger-2026-07-24.md +++ b/claude/memory/session-ledger-2026-07-24.md @@ -89,3 +89,18 @@ metadata: ## Sub-agent dialogues ## Bypasses + +## Open horizons — [post-clear context window; the REVIEWED-72 build phase] +- 2026-07-24T~14:54 CEST — Fresh context window opened (steward /clear'd ~8 min after wrap to build with room). Thread CONFIRMED at wake, unchanged: **build REVIEWED-72 → unblock the 47-file V-TEXT wave.** Ruled design = run (3) (already passes), so bounded: (1) repoint reference `-t gfm-raw_html`→`-t markdown-smart` on raw source EPUB; (2) declare/excuse injection+glyph delta (PENDING-69 `moved_to`); (3) spec periodic per-format-class reader audit as declared data; (4) demonstrate clean PASS **+ deliberate negative still FLAGs**. Land 969/1046 as §Tiering&Fence supersession + add reassigned-component check to amendment discipline. **Drift to hold today (its sharpest instance is load-bearing here):** under-read-own-measurement — the build IS run (3); read REVIEWED-72 + measure_flag1.py as substrate, don't theorize past the data. Symmetria re-anchored (init); lineage clasp closed. + +## Returns — [post-clear build: the measurement refined the RULING's premise, not just mine] +- 2026-07-24T~15:20 CEST — Grounding run (3) on Levi before building the excuse mechanism (`scratchpad/ground_manifest.py`, read-only) DECOMPOSED the 287 added_total: **multiset-added (genuinely candidate-only) = 8 tokens, ALL glyph (wstawać×6, oświęcim, braşov); the other 279 are present-elsewhere in the reference (displacement, multiset-neutral).** Injection's own enumeration (`converted_markers`, 646 digit-markers) lands on the LOST side and explains 0 of the added. ⇒ the ruling's SHAPE holds (moved_to / fabrication-elsewhere-flags), but its SURFACE ("the injector enumerates the added delta") does not — the injector enumerates markers, not relocated-body positions. The clean mechanism = a PRESENCE check (moved_to generalized to the added side): an added token is benign iff present-in-reference (relocation) OR in the declared two-sided glyph manifest; else fabrication → FLAG. The whole-book manifest is ~8 glyph tokens, not 287. Prior question ALSO settled empirically: `_tokens` PRESERVES diacritics (\w+/re.UNICODE) — wstawać≠wstawa — so the glyph half of the manifest IS needed and IS two-sided. Surfaced to steward as a routing question (FIX within REVIEWED-72 vs one-line jurist note, since it redefines what classify's added side measures). Substrate-first caught the compressed framing — the good direction of the day's drift-family. + +## Authorization moves +- 2026-07-24T~15:45 CEST — **PENDING-73 filed ([PROPOSAL], change-class confirmation) + jurist package written** (`docs/borndigital-added-side-fabrication-check-JURIST-PACKAGE-2026-07-24.md`; verify-before-compose hook PASSED — GROUNDED-IN §Tiering&Fence source-fidelity 1046–1048 + V-TEXT tier + §V Tier-3-by-omission, quoted verbatim + the REVIEWED-72 ruling/`resolve_review`/`classify()` operative decisions quoted; measurement inlined). Steward chose routing (b) — secure the in-scope judgment BEFORE building, "to be sure of no surprises." One claim to test: the honest added-side excuse redefines classify's added side from position-displacement to a multiset-fabrication measure (present-in-reference ∨ declared-glyph; else FLAG), in-scope for REVIEWED-72 to land atomically. 4 gate Qs w/ leans (in-scope · multiset>presence · two-sided glyph · closed §V-normalization boundary). Did NOT build — HOLD until ruled. Awaiting steward relay → jurist. + +## Authorization moves +- 2026-07-24T~16:30 CEST — **REVIEWED-74 PLACED by steward → built the added-side check + DEMONSTRATED (literal question ANSWERED).** Built to the four ruled corrections: (1) `resolve_added` in `verify_body_conservation.py` — multiset fabrication (`Counter(cand)−Counter(ref)−glyph_added`), count-scoped both sides (whole-run-or-nothing loss excuse), classify() byte-identical, V-DSL+sweep don't inherit (10 invariant fixtures pass, incl. the duplication-catch + count-scoped negatives). (2) `apply_char_glyphs` emits the two-sided per-site manifest (added joined words / removed ``-split fragments — the honest asymmetry, matches the reference's own pandoc inline-image tokenization). (3) repointed `reference_tokens_epub` gfm-raw_html→markdown-smart. (4) **FOUR-CASE DEMONSTRATION ran on real candidates** (`scratchpad/demonstrate_four_cases.py`; RECORD at `docs/borndigital-added-side-four-case-demonstration-RECORD-2026-07-24.md`): **Case 1 clean Levi → PASS (fab=0) · Case 2 prose deletion → FLAG · Case 3 fabrication-outside-manifest → FLAG (fab=80) · Case 4 Eichmann added+interior CLEAN (fab=3<23, no regression; boundary runs → resolve_review, REVIEWED-72 flow).** Manifest DERIVED from declared policy = the measured multiset exactly. Threshold=clean-floor(Levi 0/Eichmann 3)+margin=23, declared data. **test_tools 232/232** (+10). **The literal question is answered: clean PASS + deliberate negative still FLAGs under the repointed reference — refuses real loss, not merely passes clean files.** Code on working copy, NOT committed (lands atomically with the §Tiering&Fence supersession — no code ahead of spec). REMAINING = the atomic landing (task 6): wire resolve_added into graduate_to_canonical + spec supersession + graduation-spec declared data + amendment discipline + bounded-diff proof + commit/tag REVIEWED-72/74 + push → then the 47-file wave. + +## Authorization moves +- 2026-07-24T~17:30 CEST — **ATOMIC LANDING COMPLETE (REVIEWED-72 + REVIEWED-74), committed `eaa38bf`, pushed github ✓.** Steward directed "push into the landing." Wired resolve_added into `verify_candidate` (V-TEXT) + `graduate_to_canonical.body_conservation_gate` (loads `.glyph-manifest.json` + `body_conservation.added_fabrication_threshold`); lane writes the glyph-manifest sidecar. **Spec v2.5.0→v2.6.0** (froze v2.5.0 byte-identical; **BOUNDED-DIFF PROVEN** = exactly 4 regions: title · v2.6.0 block · source-fidelity clause revision · §Governance 2 disciplines; 4 deleted lines = only old title + old bullet). graduation-spec `body_conservation:` declared data (reference_writer · added_fabrication_threshold=40 [clean-floor+margin] · reader_audit specified-not-yet-built with cadence/trigger/pass-criterion — VISIBLE per steward). §Governance += reassigned-component check (REVIEWED-72) + in-scope-refinement three-part test (REVIEWED-74). Doc currency: chamber CLAUDE.md v2.6.0 + tool-evolution-log entry. **Fleet 234/234.** All verify-before-compose hooks passed; pre-commit passed. **origin/Gitea unreachable (port 443, known-flaky) — retry owed; github has eaa38bf.** THE 47-FILE V-TEXT WAVE IS UNBLOCKED. Owed: reader-audit RUNNER (named dependency); origin push retry; per-source glyph-maps for 12 census-flagged files; the wave itself.