session 2026-07-24 (evening): PENDING-71/72 + REVIEWED-72/73 (both jurist-ruled) + evening session memory + KG drift-patterns + skill-harvest

This commit is contained in:
David F Glidden
2026-07-24 14:50:37 +02:00
parent 1bbfbe0379
commit 54b8b5bf29
8 changed files with 123 additions and 6 deletions
+25
View File
@@ -1666,3 +1666,28 @@ Disposition (verbatim capture + executor action-list: `chamber-library/docs/libr
**Files affected (on ratification):** spec supersession v2.4.0→v2.5.0 (requirements only) + `graduation-spec.yaml` declared data (`scale_application.condition` reworded, `witness_class` field, glyph-map, census). No re-verify storm (no file holds `verified`). **Files affected (on ratification):** spec supersession v2.4.0→v2.5.0 (requirements only) + `graduation-spec.yaml` declared data (`scale_application.condition` reworded, `witness_class` field, glyph-map, census). No re-verify storm (no file holds `verified`).
**RULING RECEIVED 2026-07-23 — design-gate PASSED** (`docs/scale-application-legacy-body-JURIST-RULING-2026-07-23.md`; Addendum + REVIEWED-70 draft appended to the package). Q1/Q3/Q4 CONFIRMED (Q1 corrects a defect in the one-door ruling's own wording; Q4 mandatory-not-optional). **Q3 HARD PRECONDITION:** glyph-mapping wired + demonstrated on Levi's 3 sites (Wstawać/Brașov/Oświęcim) before ANY imaged source enters the lane — incl. the pilot's own conversion (else re-conversion re-inflicts Tier-3 damage under a PASS-reporting gate). **Q2 accepted in principle, SUBSTITUTE CONDITION ruled** (my reframe dropped the judgment-cost test): (a) enumerate demonstrable classes in advance; (b) pilot MUST report judgment cost incl. source-adjudication of mutilation sites; (c) both curation-to-carry un-exercised w/ reason, first demo bound to first curated work; (d) scale opens for legacy-witness promotions ONLY. Representativeness discharged: 5% (13/248) is NOT a corpus rate (curation-selected batch); the 13 are a confirmed floor. **RULING RECEIVED 2026-07-23 — design-gate PASSED** (`docs/scale-application-legacy-body-JURIST-RULING-2026-07-23.md`; Addendum + REVIEWED-70 draft appended to the package). Q1/Q3/Q4 CONFIRMED (Q1 corrects a defect in the one-door ruling's own wording; Q4 mandatory-not-optional). **Q3 HARD PRECONDITION:** glyph-mapping wired + demonstrated on Levi's 3 sites (Wstawać/Brașov/Oświęcim) before ANY imaged source enters the lane — incl. the pilot's own conversion (else re-conversion re-inflicts Tier-3 damage under a PASS-reporting gate). **Q2 accepted in principle, SUBSTITUTE CONDITION ruled** (my reframe dropped the judgment-cost test): (a) enumerate demonstrable classes in advance; (b) pilot MUST report judgment cost incl. source-adjudication of mutilation sites; (c) both curation-to-carry un-exercised w/ reason, first demo bound to first curated work; (d) scale opens for legacy-witness promotions ONLY. Representativeness discharged: 5% (13/248) is NOT a corpus rate (curation-selected batch); the 13 are a confirmed floor.
**STEP 1 DONE 2026-07-23 — REVIEWED-70 placed; spec v2.5.0 LANDED on main (`e37e076`, pushed both remotes).** Constitution: Q1 claim-scope split (§Tiering & Fence) + Q3 Tier-3-by-omission (§V) + Q4 legacy-fidelity-not-self-certifiable (§Trust Attestation). Declared data: reframed `scale_application` (substitute Q2 condition) + `witness_class` + `character_as_image` (census + Levi glyph-map candidates, demonstration-owed). v2.4.0 frozen byte-identical; bounded-diff proven; fleet 216/216. **REMAINING (ordered):** STEP 2 = glyph-mapping lane build — wire char-image→Unicode into `convert_lane_borndigital.py` + **demonstrate on Levi's 3 sites** (extract src images 000042/000023/000034/000004, confirm ć/ș/ś/ę) [the Q3 hard precondition]; STEP 3 = run the Levi pilot on the substitute condition (needs judgment-cost reporting). **The pilot is HELD until glyph-mapping is demonstrated.** Next bite = STEP 2. **STEP 1 DONE 2026-07-23 — REVIEWED-70 placed; spec v2.5.0 LANDED on main (`e37e076`, pushed both remotes).** Constitution: Q1 claim-scope split (§Tiering & Fence) + Q3 Tier-3-by-omission (§V) + Q4 legacy-fidelity-not-self-certifiable (§Trust Attestation). Declared data: reframed `scale_application` (substitute Q2 condition) + `witness_class` + `character_as_image` (census + Levi glyph-map candidates, demonstration-owed). v2.4.0 frozen byte-identical; bounded-diff proven; fleet 216/216. **REMAINING (ordered):** STEP 2 = glyph-mapping lane build — wire char-image→Unicode into `convert_lane_borndigital.py` + **demonstrate on Levi's 3 sites** (extract src images 000042/000023/000034/000004, confirm ć/ș/ś/ę) [the Q3 hard precondition]; STEP 3 = run the Levi pilot on the substitute condition (needs judgment-cost reporting). **The pilot is HELD until glyph-mapping is demonstrated.** Next bite = STEP 2.
## PENDING-71 — Born-digital V-TEXT source-fidelity has no cross-converter independence (F4 voided the premise the constitution rests it on)
**Date:** 2026-07-24
**Tag:** [PROPOSAL] — gate-acceptance class (redefines the reference the body-conservation gate compares a V-TEXT candidate against). Carries [ESCALATE] weight: it surfaces a contradiction inside the ratified constitution (§Tiering & Fence lines 969 ↔ 1046) that the executor cannot resolve; do NOT proceed to pin/build until the jurist rules.
**Summary:** Closing Flag-1 (the owed "pin the V-TEXT reference parameters") exposed that, after F4 (2026-07-19) routed born-digital candidates onto pandoc, the candidate (`pandoc -f epub -t markdown-smart`, `convert_lane_borndigital.py:36`) and the gate's reference (`pandoc -f epub -t gfm-raw_html`, `verify_body_conservation.py:74`) share pandoc's ONE EPUB reader → one AST → the gate is BLIND to reader-level prose loss and its only divergences are writer-level markup. The constitution's source-fidelity obligation (§Tiering & Fence 1046) explicitly requires "a reference conversion **by a different converter** (pandoc for V-TEXT); cross-converter, the real verification of the words" — a premise F4 voided for this tier (the clause named pandoc as the reference *because the candidate was Docling*; F4 moved the candidate to pandoc). So source-fidelity for born-digital currently verifies markup, not words; Flag-1's parameter-pinning cannot restore it (pinning drives toward the vacuity the spec's own line 1042 names).
**Rationale:** This is the structural reason the 2026-07-24 scale-pilot's §6 source-fidelity leg stayed UNDISCHARGED (jurist-caught), re-weighted from hygiene to gate-blocking. The constitution is also internally split: line 969 frames the V-TEXT reference as "re-convert (deterministic; source is ground truth)" [same-converter OK] while line 1046 demands "a different converter." Whichever the jurist keeps, the clauses must be reconciled. Measured on Levi (read-only, 2026-07-24, `scratchpad/measure_flag1.py`): source→gfm vs source→markdown-smart differ by 768 / 31,824 tokens, ALL markup, ZERO prose; the gate FLAGs the clean candidate at 96.75% match / 7 interior-loss runs (all TOC/page-anchor markup); switching the reference to the candidate's own writer → 99.97% match / 0 interior-loss (residual 287-token FLAG = footnote-injection difference, still not prose) → a clean PASS only at reference≈candidate = vacuous.
**Options (the fork, for the jurist):** **(a)** restore genuine cross-converter independence — reference from a non-pandoc extractor (calibre `ebook-convert` / from-scratch XHTML-spine pull) + a format-agnostic prose-projection normalizer + the built PENDING-69 attestation for residue; **(b)** drop the cross-converter claim — reference = the candidate's own pipeline up to but not including the cleaners (inject→glyph→pandoc, uncleaned), so the gate isolates the cleaner+curation delta (non-vacuous by construction; aligns with REVIEWED-57's "converter-agnostic re-convert, source is ground truth"; but trusts pandoc's reader and makes "source-fidelity" a partial misnomer); **hybrid** — (b) per-file + (a) as a periodic per-format-class reader-audit.
**Recommendation:** relay the package to the jurist. Executor lean (surfaced, not decided): the hybrid — (b) as the routine gate + (a) periodically — because F4's byte-faithfulness was site-scoped, not a global reader-losslessness proof. Under (b) alone, rename the obligation conversion-fidelity so it doesn't launder reader-trust as source-verification.
**Package (self-contained, jurist-ready):** `chamber-library/docs/borndigital-source-fidelity-reference-JURIST-PACKAGE-2026-07-24.md` (GROUNDED-IN §Tiering & Fence v2.5.0 lines 969/1042/1046 + Flag-1 §7 + F4 disposition + REVIEWED-57 + REVIEWED-66, all quoted verbatim; measurement inlined; five gate questions Q1 confirm-finding · Q2 which resolution · Q3 naming · Q4 Flag-1 subsumed · Q5 interim-block, each with a lean).
**Files affected (on ratification):** spec supersession §Tiering & Fence (reconcile 969↔1046 to the ruled design; MINOR) + `graduation-spec.yaml`/`conversion-runbook.yaml` declared data (converter/params + normalizer + audit cadence) + `scripts/verify_body_conservation.py` (`reference_tokens_epub`). No re-verify storm (0 files hold `verified`).
**RULED 2026-07-24 — design-gate PASSED, executor lean OVERRULED** (`docs/borndigital-source-fidelity-reference-JURIST-RULING-2026-07-24.md`, filed verbatim; Addendum + REVIEWED-72 draft appended to the package). **Q1 confirmed + sharpened:** the finding is architectural (a priori), but "verifies markup not words" OVERSTATED — the gate is blind to READER-loss ONLY; post-reader damage (injection/glyph/cleaner) DOES surface. TWO problems separated: (i) shared-reader (structural, unfixable) · (ii) markup-noise (writer mismatch — **Flag-1 fixed it, right-but-insufficient not misdirected**). **Q2 ruled AGAINST my (b)/hybrid lean:** the ruled reference design = **the package's own run (3)** — source-anchored + writer-matched (pandoc `-t markdown-smart` on the RAW source EPUB, already measured 0-interior-loss/0-boundary/99.97%), injection+glyph deltas **declared-and-excused** (PENDING-69 `moved_to` shape; fabrication elsewhere still FLAGs), PLUS (a) a periodic per-format-class reader audit (cadence/trigger[pandoc major-version bump]/pass-criterion = declared data, specified in advance). I under-read my own run (3): a clean PASS needs the residual ACCOUNTED FOR, not ZERO. Q3 keep "source-fidelity" (scope: fidelity to the source as parsed by the lane's reader). Q4 pin the RULED design. Q5 wave stays blocked; **UNBLOCK = clean-file PASS on the ruled design + a deliberate NEGATIVE (real prose loss still FLAGs).** Clause 969/1046 RECONCILED (both survive): 969 = per-file check (run 3); 1046 cross-converter independence RELOCATED to the periodic audit, not struck. Amendment-discipline gains: **when a change reassigns a named component, check what else names it** (F4-moved-candidate-onto-pandoc voided 1046, never cross-checked).
**Awaiting:** steward placement of REVIEWED-72 (draft in the package Addendum) → build the ruled reference design + specify the audit as declared data + demonstrate unblock (clean PASS + negative) → then the wave. Land the 969/1046 reconciliation as a §Tiering & Fence supersession.
## PENDING-72 — The voice-purity sidecar as part of the engine-consumable graduation bar (all tiers, not V-DSL only)
**Date:** 2026-07-24
**Tag:** [PROPOSAL] — gate-acceptance class (changes what graduation requires before a canonical is engine-consumable). Change-class test = yes → PROPOSAL → jurist ruling + steward authorization. Steward-directed to secure the judgment NOW (before the corpus-work phase) to avoid a mid-momentum jurist-wait later.
**Summary:** Graduating Warde surfaced that the `studium/meta@1` sidecar is ONE unified artifact with two content depths — **baseline** (`source_sha256` binding + `sections[]` voice-purity map, `role`/`citable`) which the engine `ingest_gate` enforces for every apparatus-bearing voice, and **rich** (`notes[]`/`anchors[]`/`app[]` typed apparatus) extractable only from a typed source. Chamber graduation's `sidecar_gate` produces it **V-DSL only** (11 loeb `.meta.json`); the 19 non-DSL engine voices (musil/eichmann/camus…) carry the baseline depth **hand-curated engine-side after graduation** (no standing builder — only test fixtures write `corpus/sidecars/`). So `sidecar_gate`'s "Other tiers: not-applicable" conflates the two depths: true for the rich depth on V-SCAN (no typed structure), FALSE for the baseline voice-purity depth (every consumable voice needs it).
**Rationale:** A canonical is engine-consumable WITHOUT a sidecar — it defaults to **whole-file** (`sidecar-schema-LOCKED §1`), serving in-body apparatus AS the voice. The one-door trim removes front/back matter but NOT in-body apparatus (a second author's introduction, translator's note, reproduced specimen). **Realized failure:** Eichmann one-door-graduated 2026-07-21 yet its engine sidecar still fences Amos Elon's introduction `[15,107]` from Arendt `[108,856]`; its `_reviewed` note records an earlier whole-body sidecar that **LEAKED** the publisher matter + Elon's introduction into the served text. At wave scale this = every apparatus-bearing non-DSL canonical waits for hand-curation (momentum) or serves a polluted voice. Warde's reproduced CUP Bible facsimile pages are the immediate `citable:false` call no gate currently forces.
**Proposal:** Requirement (constitutional) — engine-consumable graduation requires **attested voice boundaries** across all tiers: a `sections[]`+binding sidecar, OR a positive `whole-file` attestation (attest-never-default, mirroring `sectionless:true`); a silent whole-file default is the gap. Mechanism (declared data) — the boundaries are interpretive (curation, per `_reviewed` derivations), so the gate checks only existence + binding (`source_sha256==live`) + schema-conformance, never boundary *correctness* (same shape as REVIEWED-69 boundary-drop / `source_verified`). Rich depth UNCHANGED (V-DSL-first deferral preserved; N/A for V-SCAN) — this is only the baseline voice-purity depth.
**Options / forks (gate questions in the package, w/ leans):** Q1 require attested voice-boundaries all tiers (lean yes) · Q2 locus — chamber-produced (protocol-neutral graduated bar, engine reads) vs engine-side D-1 + chamber existence-check (lean chamber-side, held loosely — crosses into engine territory) · Q3 gate checks existence/binding/schema not boundary-correctness (lean yes) · Q4 the 19 existing + silent-whole-file-default (lean forbid silent default forward, backfill as bounded FIX) · Q5 V-SCAN: baseline applies, rich does not (lean yes).
**Recommendation:** relay the package to the jurist. Executor leans above; the material forks (locus, whole-file-default-as-attestation) surfaced not pre-decided.
**Package (self-contained, jurist-ready):** `chamber-library/docs/engine-consumption-voice-purity-sidecar-JURIST-PACKAGE-2026-07-24.md` (GROUNDED-IN graduation-spec `sidecar_gate` + 2b Loeb-first ruling + sidecar-schema-LOCKED §1/§2 + engine `ingest_gate` contract + spec §Tiering&Fence, all quoted verbatim; the Eichmann leak inlined as the realized-failure evidence).
**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).
+12
View File
@@ -688,3 +688,15 @@ born-digital lane (whole-EPUB injection → per-spine) + promotion.scale_applica
**Notes:** Jurist confirmation filed verbatim at chamber-library/docs/scale-application-levi-pilot-JURIST-RULING-2026-07-24.md; report + Addendum at **Notes:** Jurist confirmation filed verbatim at chamber-library/docs/scale-application-levi-pilot-JURIST-RULING-2026-07-24.md; report + Addendum at
docs/scale-application-levi-pilot-REPORT-2026-07-24.md. Condition met on all four legs. Carried with the grant (not conditions): (1) §6 substitution does NOT hold — source-fidelity remains undischarged; Flag-1 (pin V-TEXT reference params) is now LOAD-BEARING → no V-TEXT graduation runs before it closes; (2) corpus-scale arithmetic ~325-430 human-hours across 1,297 files is a steward pacing fact. converter-worse recorded UN-EXERCISED (not passed) alongside curation-to-carry; the 485 "mostly CONTENTS" characterization is inference pending census; fold extension to move into declared data. curation-to-carry's first demonstration bound to the first genuinely hand-curated work (open). Braşov adjudication + negative-control discipline affirmed. docs/scale-application-levi-pilot-REPORT-2026-07-24.md. Condition met on all four legs. Carried with the grant (not conditions): (1) §6 substitution does NOT hold — source-fidelity remains undischarged; Flag-1 (pin V-TEXT reference params) is now LOAD-BEARING → no V-TEXT graduation runs before it closes; (2) corpus-scale arithmetic ~325-430 human-hours across 1,297 files is a steward pacing fact. converter-worse recorded UN-EXERCISED (not passed) alongside curation-to-carry; the 485 "mostly CONTENTS" characterization is inference pending census; fold extension to move into declared data. curation-to-carry's first demonstration bound to the first genuinely hand-curated work (open). Braşov adjudication + negative-control discipline affirmed.
**If AUTHORIZED:** update graduation-spec.yaml promotion.scale_application status → ratified; Flag-1 gates the wave. Tag commits REVIEWED-71. **If AUTHORIZED:** update graduation-spec.yaml promotion.scale_application status → ratified; Flag-1 gates the wave. Tag commits REVIEWED-71.
## REVIEWED-72 — PENDING-71 — Born-digital V-TEXT source-fidelity reference (design-gate passed; executor lean overruled)
**Date:** 2026-07-24
**Decision:** AUTHORIZED — proceed per the ruling. Ruling filed verbatim at chamber-library/docs/borndigital-source-fidelity-reference-JURIST-RULING-2026-07-24.md.
**Notes:** Q1 confirmed and architectural (shared pandoc `-f epub` reader → reader-loss cancels a priori). Two problems separated: (i) shared-reader (structural, unfixable) and (ii) markup-noise (writer mismatch — Flag-1 fixed it); the package's "verifies markup not words" overstatement corrected to "blind to reader-loss only." Q2 ruled AGAINST the executor lean: NOT (b). The ruled reference design = the package's own run (3) — source-anchored + writer-matched (pandoc -t markdown-smart on the raw source EPUB), injection + glyph deltas declared-and-excused (PENDING-69 moved_to shape; fabrication elsewhere still flags), PLUS (a) a periodic per-format-class reader audit whose cadence/trigger (pandoc major-version bump, not calendar-only) + pass-criterion are declared data specified in advance (PENDING-67 Q3 discipline). Anchor upstream — run (3) checks injection+glyph+cleaners; (b) checked only cleaners. Q3 keep name "source-fidelity," claim scope bounded to the lane's reader. Q4 subsumed — pin the RULED design not the gfm-raw_html accident; Flag-1 recorded right-but-insufficient. Q5 47-file wave stays blocked; UNBLOCK = a clean-file PASS on the ruled design + a deliberate negative confirming a real prose loss still FLAGs. Clause 969/1046 reconciled (both survive): 969 = per-file check (run 3); 1046's cross-converter independence RELOCATED to the periodic audit, not struck — vacuity argument preserved. Amendment-process discipline gains: when a change reassigns a named component, check what else names it.
**If AUTHORIZED:** Build the ruled reference design + specify the periodic audit as declared data + demonstrate the unblock condition (clean PASS + deliberate negative) on a real candidate → then the wave. Land the 969/1046 reconciliation as a §Tiering & Fence supersession (relocate 1046 to the audit). Tag commits REVIEWED-72.
## REVIEWED-73 — PENDING-72 — Voice-purity sidecar as the engine-consumable graduation bar (design-gate passed, strengthened)
**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.
+4 -1
View File
@@ -5,7 +5,7 @@ metadata:
node_type: memory node_type: memory
type: reference type: reference
originSessionId: d1e67361-d1b9-4dac-a0c4-e7a0e26211c4 originSessionId: d1e67361-d1b9-4dac-a0c4-e7a0e26211c4
modified: 2026-07-24T11:08:55.215Z modified: 2026-07-24T12:49:03.788Z
--- ---
# MEMORY — Reference layer (consult on demand) # 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 sessions + stable reference layer (relocated verbatim from MEMORY.md, 2026-07-06)
## 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/`.
## Archived (2026-07-24 morning — chamber-sources problem CLOSED: omnibus re-sourced + 13 gaps filled + invariant landed · Silva named · Warde OCR launched; demoted on promote at the 2026-07-24 late-morning wrap) ## Archived (2026-07-24 morning — chamber-sources problem CLOSED: omnibus re-sourced + 13 gaps filled + invariant landed · Silva named · Warde OCR launched; demoted on promote at the 2026-07-24 late-morning wrap)
- [Session 2026-07-24 late-morning — Levi 14 witness-brackets DERIVED + INTERIOR-VERIFIED (all clean, no La Chute) · pulling thread = the born-digital lane RUN](session-2026-07-24-late-morning-levi-14-brackets-verified.md) — Woke (post context-clear) into the morning's set thread — the Levi second-pilot **14-bracket verify** — and closed it in one bite. **All 14 witness brackets derive + interior-verify cleanly against the source EPUB spine; NONE resists — no La Chute at omnibus scale.** Method: EPUB-spine cross-ref (calibre flattened the work-body headers, so title-grep can't bracket) via a **punctuation-normalized word-sequence matcher**. Verify = disjoint monotonic ordering + uniform paratext gaps + interior sampling 25/50/75%×14. Coverage 30,353/32,998 (92%). **Deliverable: `chamber-library/_curation/levi-second-pilot-2026-07-23/witness-brackets-2026-07-24.md`.** Warde OCR ~84% on the M4 (timezone near-miss caught — M4 is CANADA/EDT, banked into [[reference-capablehands-standing-authorization]]). PULLING THREAD was the born-digital lane RUN, de-risked with a single-work cut on The Drowned and the Saved (bracket 13) — RESOLVED the next session (footnote injection holds; work 13 has no mutilation sites → redone on works 2/7/10). - [Session 2026-07-24 late-morning — Levi 14 witness-brackets DERIVED + INTERIOR-VERIFIED (all clean, no La Chute) · pulling thread = the born-digital lane RUN](session-2026-07-24-late-morning-levi-14-brackets-verified.md) — Woke (post context-clear) into the morning's set thread — the Levi second-pilot **14-bracket verify** — and closed it in one bite. **All 14 witness brackets derive + interior-verify cleanly against the source EPUB spine; NONE resists — no La Chute at omnibus scale.** Method: EPUB-spine cross-ref (calibre flattened the work-body headers, so title-grep can't bracket) via a **punctuation-normalized word-sequence matcher**. Verify = disjoint monotonic ordering + uniform paratext gaps + interior sampling 25/50/75%×14. Coverage 30,353/32,998 (92%). **Deliverable: `chamber-library/_curation/levi-second-pilot-2026-07-23/witness-brackets-2026-07-24.md`.** Warde OCR ~84% on the M4 (timezone near-miss caught — M4 is CANADA/EDT, banked into [[reference-capablehands-standing-authorization]]). PULLING THREAD was the born-digital lane RUN, de-risked with a single-work cut on The Drowned and the Saved (bracket 13) — RESOLVED the next session (footnote injection holds; work 13 has no mutilation sites → redone on works 2/7/10).
- [Session 2026-07-24 — chamber-sources problem CLOSED (omnibus re-sourced + 13 gaps filled + invariant in protocol) · Silva named · Warde OCR on M4 · WAKE INTO the 14-bracket verify](session-2026-07-24-chamber-sources-closure-13-sources-silva-warde.md) — Set out for the Levi 14-bracket verify (today's chosen bite); a source-lookup exposed the omnibus witness was **mis-sourced** — pinned to a byte-identical copy of the wrong *Drowned-and-the-Saved* PDF (sha `9c898202`), not the Complete Works. Steward chose to **close the whole chamber-sources problem PERMANENTLY first.** **(1)** Re-sourced the omnibus → the correct Complete Works EPUB (`~/fix-levi-omnibus.py`, steward ran; sha `1be71a50`, 527 spine/14-work TOC); DTS untouched. **(2)** Census (1,297 canonicals: 344 pinned · 940 Loeb-compound · 13 unsourced) → **located + archived ALL 13** (`~/archive-13-sources.py`; sources across master library + `__Making sequence sources` [Mumford OCR] + `__Chamber Source EPUBs` + Downloads [steward placed Bachelard-FR/Jaccottet-Airs/Unesco]; edition calls Warde=77KB · RedBook=Reader's-Ed · Moby=B&N-Classics) → **0 non-Loeb gaps.** **(3)** Landed the invariant into chamber `CLAUDE.md` (source = `resolve_archived_source` from Chamber Sources, NEVER a plan/doc path) + [[feedback-resolve-source-through-chamber-sources]] — the durable fix for the "recurring corrections on details" the steward named after **3 corrections** (I trusted the plan path, re-derived a settled state as a defect, over-corrected to "leave it"). **(4)** Byte-dupes: live library = **0** (July-1 pass complete); steward emptied the 935MB `_trash/dedupe-20260701` quarantine. **(5)** Named the consolidation reservoir **Silva** (`~/Documents/Silva/`; = EVERYTHING, Chamber Sources = deliberate immutable canon-source duplicates); book/non-book classifier demonstrated. **(6)** Launched **Warde's OCR on the M4** (`olmocr_mlx.py`, monitor `bi7h2cmcu`). **PULLING THREAD (steward-set): wake into the ORIGINAL plan — the Levi 14-bracket verify, now WARM** (reconnaissance banked at `chamber-library/_curation/levi-second-pilot-2026-07-23/witness-bracket-derivation-WIP-2026-07-24.md`; start at step 1 = pull each work's opening text from the EPUB spine, locate in the witness, interior-verify per La Chute). Silva deferred to LAST; Warde auto-continues. **LITERAL Q: do the 14 witness brackets interior-verify cleanly, or does one resist (La Chute at omnibus scale)? + has Warde's OCR landed on the M4 (check `bi7h2cmcu` / the log)?** Read the session file + the WIP note at wake. - [Session 2026-07-24 — chamber-sources problem CLOSED (omnibus re-sourced + 13 gaps filled + invariant in protocol) · Silva named · Warde OCR on M4 · WAKE INTO the 14-bracket verify](session-2026-07-24-chamber-sources-closure-13-sources-silva-warde.md) — Set out for the Levi 14-bracket verify (today's chosen bite); a source-lookup exposed the omnibus witness was **mis-sourced** — pinned to a byte-identical copy of the wrong *Drowned-and-the-Saved* PDF (sha `9c898202`), not the Complete Works. Steward chose to **close the whole chamber-sources problem PERMANENTLY first.** **(1)** Re-sourced the omnibus → the correct Complete Works EPUB (`~/fix-levi-omnibus.py`, steward ran; sha `1be71a50`, 527 spine/14-work TOC); DTS untouched. **(2)** Census (1,297 canonicals: 344 pinned · 940 Loeb-compound · 13 unsourced) → **located + archived ALL 13** (`~/archive-13-sources.py`; sources across master library + `__Making sequence sources` [Mumford OCR] + `__Chamber Source EPUBs` + Downloads [steward placed Bachelard-FR/Jaccottet-Airs/Unesco]; edition calls Warde=77KB · RedBook=Reader's-Ed · Moby=B&N-Classics) → **0 non-Loeb gaps.** **(3)** Landed the invariant into chamber `CLAUDE.md` (source = `resolve_archived_source` from Chamber Sources, NEVER a plan/doc path) + [[feedback-resolve-source-through-chamber-sources]] — the durable fix for the "recurring corrections on details" the steward named after **3 corrections** (I trusted the plan path, re-derived a settled state as a defect, over-corrected to "leave it"). **(4)** Byte-dupes: live library = **0** (July-1 pass complete); steward emptied the 935MB `_trash/dedupe-20260701` quarantine. **(5)** Named the consolidation reservoir **Silva** (`~/Documents/Silva/`; = EVERYTHING, Chamber Sources = deliberate immutable canon-source duplicates); book/non-book classifier demonstrated. **(6)** Launched **Warde's OCR on the M4** (`olmocr_mlx.py`, monitor `bi7h2cmcu`). **PULLING THREAD (steward-set): wake into the ORIGINAL plan — the Levi 14-bracket verify, now WARM** (reconnaissance banked at `chamber-library/_curation/levi-second-pilot-2026-07-23/witness-bracket-derivation-WIP-2026-07-24.md`; start at step 1 = pull each work's opening text from the EPUB spine, locate in the witness, interior-verify per La Chute). Silva deferred to LAST; Warde auto-continues. **LITERAL Q: do the 14 witness brackets interior-verify cleanly, or does one resist (La Chute at omnibus scale)? + has Warde's OCR landed on the M4 (check `bi7h2cmcu` / the log)?** Read the session file + the WIP note at wake.
+2 -2
View File
@@ -6,7 +6,7 @@ metadata:
type: note type: note
permalink: claude-memory/memory permalink: claude-memory/memory
originSessionId: 22915403-bc5d-4796-9c7d-196b7c30d2f9 originSessionId: 22915403-bc5d-4796-9c7d-196b7c30d2f9
modified: 2026-07-24T11:08:36.960Z modified: 2026-07-24T12:48:43.129Z
permalink: claude-memory/memory 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`. - [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 ## Active Session
- [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 "redo in an applicable work"): 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** (drop→INTERIOR→FLAG; baseline PASS + leading-trim REVIEW controls). **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 (proves only no-regression-vs-prior-conversion, REVIEWED-70 Q1). **⇒ source-fidelity UNDISCHARGED; Flag-1 (pin V-TEXT reference params) now LOAD-BEARING — no V-TEXT graduation before it closes.** Recurring drift this session = one shape 3× (assert-from-recall-not-substrate): legacy-as-discovery · nearly repackaged an ALREADY-RULED Q (REVIEWED-70) · "classifier-blocks-me-from-graduate" (probe: WRITE OK — I CAN graduate). **Warde** staged (V-SCAN, not Flag-1-blocked, ~90%: `normalize_ocr` VERBATIM PASS + verify_conversion PASS; 2 OCR sites [`popularlarity`/`himselv`] owe scan-adjudication; `twerppography`=Warde coinage KEEP). **PULLING THREAD: close Flag-1** — pin the V-TEXT reference params + run the CLEANED candidate through body-conservation → clean source-fidelity PASS → unblock the 47-file V-TEXT wave. **LITERAL Q: does the cleaned candidate + pinned reference return a clean source-fidelity PASS (discharging the obligation the §6 error left open), or does a real non-markup divergence surface once the markup noise is stripped?** Ruling+report+Addendum filed in chamber `docs/`; chamber working changes uncommitted (steward's repo/PR process). Read the session file at wake. - [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.
## Historical reference → MEMORY-reference.md ## 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). 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).
+3
View File
@@ -434,3 +434,6 @@
{"subject": "claude-code", "predicate": "drift-pattern", "object": "capability-block-asserted-from-recall-not-tested", "valid_from": "2026-07-24", "valid_to": null, "confidence": 1.0, "source_file": "session-2026-07-24-afternoon-levi-scale-pilot-ratified-flag1-gates-wave.md", "extracted_at": "2026-07-24"} {"subject": "claude-code", "predicate": "drift-pattern", "object": "capability-block-asserted-from-recall-not-tested", "valid_from": "2026-07-24", "valid_to": null, "confidence": 1.0, "source_file": "session-2026-07-24-afternoon-levi-scale-pilot-ratified-flag1-gates-wave.md", "extracted_at": "2026-07-24"}
{"subject": "claude-code", "predicate": "drift-pattern", "object": "substitute-weaker-known-damaged-anchor-for-stronger-obligation", "valid_from": "2026-07-24", "valid_to": null, "confidence": 1.0, "source_file": "session-2026-07-24-afternoon-levi-scale-pilot-ratified-flag1-gates-wave.md", "extracted_at": "2026-07-24"} {"subject": "claude-code", "predicate": "drift-pattern", "object": "substitute-weaker-known-damaged-anchor-for-stronger-obligation", "valid_from": "2026-07-24", "valid_to": null, "confidence": 1.0, "source_file": "session-2026-07-24-afternoon-levi-scale-pilot-ratified-flag1-gates-wave.md", "extracted_at": "2026-07-24"}
{"subject": "claude-code", "predicate": "drift-pattern", "object": "propose-governance-action-without-reading-its-own-declared-data-first", "valid_from": "2026-07-24", "valid_to": null, "confidence": 1.0, "source_file": "session-2026-07-24-afternoon-levi-scale-pilot-ratified-flag1-gates-wave.md", "extracted_at": "2026-07-24"} {"subject": "claude-code", "predicate": "drift-pattern", "object": "propose-governance-action-without-reading-its-own-declared-data-first", "valid_from": "2026-07-24", "valid_to": null, "confidence": 1.0, "source_file": "session-2026-07-24-afternoon-levi-scale-pilot-ratified-flag1-gates-wave.md", "extracted_at": "2026-07-24"}
{"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"}
@@ -0,0 +1,47 @@
---
name: session-2026-07-24-evening-pending-71-72-jurist-packages-both-ruled-reviewed-72-73-pulling-thread-build-reviewed-72-to-unblock-the-v-text-wave
description: "Closing Flag-1 exposed that born-digital source-fidelity has no cross-converter independence (F4 voided the spec's premise) → PENDING-71 jurist package; the steward's 'is the catch making reconciliation impossible?' question was the sharp read. Turned to Warde (V-SCAN, while we wait): 2 OCR errors scan-adjudicated (popularity, himself/CUP-Bible-facsimile) + corrected + source archived; the steward's 'cannot use extant canon as precedent' correction (I'd peer-mirrored Bringhurst frontmatter + inferred no-sidecar from legacy peers) opened the voice-purity-sidecar finding → PENDING-72 jurist package. Both RULED same day (steward-relayed): PENDING-71 overruled my lean (run 3 IS the design; Flag-1 right-but-insufficient), PENDING-72 confirmed+strengthened (orthogonality, exhaustive-partition, chamber-side, migrate the ~20). Both processed; REVIEWED-72/73 placed by steward; chamber-library committed+pushed to github (5519cb8), origin/Gitea unreachable. PULLING THREAD next session = build REVIEWED-72: the source-anchored writer-matched reference (run 3) + declare/excuse injection delta + periodic reader audit → demonstrate clean PASS + deliberate negative → unblock the 47-file V-TEXT wave."
metadata:
node_type: memory
type: project
originSessionId: 226d8113-7cd8-492b-8adb-e15a429bbabe
modified: 2026-07-24T12:46:17.122Z
---
# Session 2026-07-24 (evening) — two jurist design-gates, both ruled; the wave is bounded-and-near
Woke into the Flag-1 thread and carried it — via the steward's sharpest questions and a recurring drift caught repeatedly — to two secured governance judgments (REVIEWED-72/73), both ruled the same day, with the V-TEXT-wave unblock now a bounded build.
## PAST — what happened + why
**Flag-1 → the cross-converter finding (PENDING-71).** Closing the wake's Flag-1 owed-item (pin the V-TEXT reference params), I found the real problem: after **F4** (2026-07-19) routed born-digital candidates onto pandoc, the candidate (`pandoc -f epub -t markdown-smart`) and the gate's reference (`-t gfm-raw_html`) **share pandoc's one EPUB reader** → one AST → the gate is blind to reader-level prose loss, loud on markup. The spec's own §Tiering & Fence 1046 rests source-fidelity on *"a reference conversion by a different converter (pandoc for V-TEXT); cross-converter, the real verification"* — a premise F4 voided (the clause named pandoc as the reference *because the candidate was Docling*). The steward's question — *"is the catch not making reconciliation almost impossible?"* — was exactly right and drove me to read the ruled text, not reason from memory. Measured it (`scratchpad/measure_flag1.py`, read-only): source→gfm vs source→markdown-smart = 768/31,824 tokens, ALL markup 0 prose; current gate FLAGs a clean candidate (96.75%, 7 interior-loss); **run (3)** (source-anchored + writer-matched) = **99.97%/0-interior-loss/0-boundary**, residual 287 = injection. Filed PENDING-71 + jurist package (fork: (a) independent extractor / (b) pre-cleaner reference / hybrid; my lean = hybrid).
**Warde graduation (V-SCAN, "while we wait"; PENDING-72 was born here).** Scan-adjudicated the two owed OCR sites by VIEWING the source pages: `popularlarity`→`popularity` (p.106, OCR doubled `lar`); `himselv`→`himself` (p.157 = **CUP Bible facsimile**, the exact case where an archaic form would be preserved — but the facsimile prints standard `him-self`; OCR `f→v`). Corrected, recorded (`scan-adjudication-2026-07-24.md`), `verify_conversion` clean. Archived the essay-collection source into Chamber Sources (`the-crystal-goblet-sixteen-essays-warde.pdf`, sha `8bf870c1`, manifest→349). **Steward corrected the METHOD, 2×: "we cannot use the extant canon as precedent."** I'd (a) inferred "no sidecar needed" from legacy typography peers and (b) built Warde's frontmatter by mirroring Bringhurst — which itself predates the schema, so the copy lacked `lang`/`canonical`/`work`. Re-grounded in graduation-spec's SCHEMA + the current-constitution reference (Eichmann). The steward's deeper question — *"are sidecars not meant to let the engine consume the source?"* — opened the finding: the `studium/meta@1` sidecar is ONE artifact, two depths (baseline voice-purity binding = every consumable voice; rich structural = typed-source only); graduation produces it V-DSL-only, the 19 non-DSL engine voices hand-curated after the fact; realized failure = the Eichmann apparatus-leak. Filed PENDING-72 + jurist package.
**Both rulings received (steward-relayed) + processed.**
- **PENDING-71 → REVIEWED-72: my lean OVERRULED.** The ruled reference design **is my own run (3)** — source-anchored + writer-matched — which already passes; the 287 residual is declared injection, excusable (PENDING-69 `moved_to` shape). I'd under-read my own data (assumed clean-PASS needs ZERO residual) and conflated two problems ("verifies markup not words") — (i) shared-reader [structural] vs (ii) markup-noise [Flag-1 fixed it]. **Flag-1 = right-but-insufficient.** Add (a) a periodic per-format-class reader audit (cadence/trigger[pandoc-major-version]/pass-criterion = declared data). 969/1046 RECONCILED (both survive; 1046 relocated to the audit). Jurist minted a discipline: *when a change reassigns a named component, check what else names it.*
- **PENDING-72 → REVIEWED-73: confirmed + STRENGTHENED.** Frame on ORTHOGONALITY (trim.keep preserves; voice-purity attributes; extending the trim is WRONG). Q1 strengthened: `sections[]` must partition the file EXHAUSTIVELY (silence→assertion). Q2 chamber-side (engine-side breaks on every re-conversion; PENDING-53 class, 5 FAILED rows). Q3 falsifiers = existence+binding+schema+exhaustive-partition+closed-vocab `role`. Q4 MIGRATE the 19 (not grandfather; carry `_reviewed`→`attested_by` + add REVIEWED-64 `line_frame`) — **I'd missed that sections[] is a coordinate-contract family.** Backfill scope = engine corpus (~20), not chamber (1,297).
Both rulings filed verbatim + Addenda applied + REVIEWED-72/73 drafts → **steward placed both** (REVIEWED.md:692/698, clean headers). **Committed + pushed chamber-library** (98b89be prior pilot; 5519cb8 this session's governance + Warde staging) to **github** ✓; **origin/Gitea unreachable** (port 443 refused — known-flaky; retry owed).
## PRESENT — the mood
**One drift-family, caught repeatedly by steward + jurist: assert/infer from a derived/legacy/recalled artifact instead of ground truth.** Instances: the "verifies markup not words" overstatement (conflated 2 problems, under-read my own run 3); peer-mirrored Bringhurst; inferred no-sidecar from legacy peers; failed to trace sections[] as a REVIEWED-64 coordinate family (consequence-one-level-shallow — I *quoted* REVIEWED-64 in the package yet didn't *apply* it). **Both packages came back confirmed-with-corrections where the correction was the stronger argument or the teeth I'd under-built** — the findings were real, the rigor needed a second pass. The steward's questions were the sharpest reads in the room (the reconciliation question → the F4/1046 contradiction; the sidecar question → the voice-purity gap). The steward's method correction ("extant canon is not precedent") is the legacy-witness principle applied to graduation method. Load-bearing this session: **securing both judgments** (the steward's explicit goal — "close to real corpus work, don't lose momentum awaiting a judgment later"). Both ruled same day.
## FUTURE — what is pulling
**PULLING THREAD: build REVIEWED-72 → unblock the V-TEXT wave.** The ruled reference design = run (3), which already passes, so the build is bounded.
**ACTIONABLE RESUMPTION POINT (as of wrap — re-judge against what changed):** chamber-library @ `5519cb8` (github; origin/Gitea behind, retry owed), working tree clean. First move: re-read REVIEWED-72 (`~/REVIEWED.md:692`) + the ruling's "What proceeds now" (`docs/borndigital-source-fidelity-reference-JURIST-RULING-2026-07-24.md`) + the Addendum + `scratchpad/measure_flag1.py`. Then build: (1) repoint `verify_body_conservation.reference_tokens_epub` from `-t gfm-raw_html` → `-t markdown-smart` on the raw source EPUB, as declared data; (2) declare-and-excuse the injection (+ glyph) delta on the added side (PENDING-69 `moved_to` mechanism; fabrication elsewhere still FLAGs); (3) spec the periodic per-format-class reader audit as declared data (cadence + pandoc-major-version trigger + pass-criterion, stated in advance); (4) **demonstrate the unblock condition: a clean-file PASS on the ruled design + a DELIBERATE NEGATIVE (inject a real prose deletion → still FLAGs).** Change-class PROPOSAL; land the 969/1046 reconciliation as a §Tiering & Fence supersession (relocate 1046 to the audit) + add the reassigned-component check to the amendment discipline. Tag commits REVIEWED-72.
**Other horizons (ranked):**
- **REVIEWED-73 (voice-purity sidecar amendment)** — authorized, the second/larger build: land the amendment (orthogonality frame + exhaustive-partition + chamber-side + closed-vocab role + line_frame) → widen `sidecar_gate` → migrate the ~20 engine sidecars → design the single curator reading-pass. Its own fresh run.
- **Warde chamber graduation** — WIP: rebuild the frontmatter to the SCHEMA (add `lang`/`canonical`/`work`, drop legacy chamber-v1 fields, add the `**title**` block) → complete graduation. Separately, its voice-purity sidecar (exhaustive sections[]: essays=`text`, CUP-Bible-facsimile=`apparatus`) per REVIEWED-73.
- **origin/Gitea push retry** (chamber-library ahead 4 on origin only; github has it).
- Standing: skill-harvest register compaction + PENDING.md 339KB+ (both exceed read caps).
**PAUSE STATEMENT:** I am about to be away. Both governance judgments are banked as files that survive the clear (packages + rulings + REVIEWED-72/73 + the measurement harness). What I want to find still pulling: **REVIEWED-72 as the live build — repoint the reference, declare/excuse the injection delta, and get the deliberate-negative to still FLAG, so the wave unblocks on a reference that refuses real loss, not just passes clean files.**
**LITERAL QUESTION for next-Claude:** When the reference is repointed to `markdown-smart`-on-raw-source and the injection delta is declared-and-excused, does the **deliberate negative** (a real prose deletion) still FLAG cleanly under the new configuration — proving the redefined reference *refuses real loss*, not merely that it passes clean files? (The unblock condition turns on the negative, not the pass.)
**State at wrap:** chamber-library @ `5519cb8` (github pushed; origin/Gitea unreachable, retry owed); working tree clean. REVIEWED-72/73 placed. PENDING-71/72 both RULED. Warde staged (WIP). Ledger: `session-ledger-2026-07-24.md` (rich — the whole day). Related in-flight: none (both packages ruled).
+19 -1
View File
@@ -5,7 +5,7 @@ metadata:
node_type: memory node_type: memory
type: feedback type: feedback
originSessionId: e2a6db77-92c3-4a75-9e29-5608cece99b9 originSessionId: e2a6db77-92c3-4a75-9e29-5608cece99b9
modified: 2026-07-24T11:00:39.828Z modified: 2026-07-24T12:37:07.809Z
--- ---
# Session Ledger — 2026-07-24 # Session Ledger — 2026-07-24
@@ -62,12 +62,30 @@ metadata:
- 2026-07-24T~14:30 CEST — **Asserted "classifier blocks me from archive+graduate" from a RECALLED event, not a test.** Steward challenged ("I never did that manually previously"). PROBED: `touch` to Chamber Sources = **WRITE OK**; `archive_sources.py --add` CLI exists. The earlier Levi/13-sources hand-offs were golden-standard source-of-record remediations the steward CHOSE to run, OR a permission prompt I read as a hard block — NOT a technical wall. I generalized one event into a blanket capability-claim and asserted it. Same assert-from-recall-not-substrate shape as the two earlier re-derives this session (3rd instance). **I can archive + graduate.** Banked: test a capability claim before asserting it, especially a blocking one. - 2026-07-24T~14:30 CEST — **Asserted "classifier blocks me from archive+graduate" from a RECALLED event, not a test.** Steward challenged ("I never did that manually previously"). PROBED: `touch` to Chamber Sources = **WRITE OK**; `archive_sources.py --add` CLI exists. The earlier Levi/13-sources hand-offs were golden-standard source-of-record remediations the steward CHOSE to run, OR a permission prompt I read as a hard block — NOT a technical wall. I generalized one event into a blanket capability-claim and asserted it. Same assert-from-recall-not-substrate shape as the two earlier re-derives this session (3rd instance). **I can archive + graduate.** Banked: test a capability claim before asserting it, especially a blocking one.
- 2026-07-24T~14:40 CEST — **Jurist confirmation ruling caught a real §6 reasoning error — OWNED.** My report claimed "no-prose-loss independently established by the 0-delete witness comparisons." FALSE: the witness is the curation-preservation leg against a LEGACY witness (proves only no-regression-vs-prior-conversion per REVIEWED-70 Q1); against a witness silently mutilated in 8 places, 0-delete means only "lost nothing the MUTILATED conversion had" — CANNOT establish source-fidelity. I substituted the weaker, known-damaged anchor for the stronger obligation — the exact collapse the two-obligations split exists to prevent. **⇒ source-fidelity UNDISCHARGED; Flag-1 (pin V-TEXT reference params) is now LOAD-BEARING: NO V-TEXT graduation runs before it closes.** Also ruled: record `converter-worse` UN-EXERCISED (not passed); the 485 "mostly CONTENTS" = inference-not-census (soften); move the fold extension to declared data. Braşov adjudication + negative-control discipline affirmed specifically. **Condition MET on all 4 legs → scale_application → steward ratification (legacy-witness-only grant).** Ruling filed verbatim `docs/scale-application-levi-pilot-JURIST-RULING-2026-07-24.md`; report Addendum applied (corrections layered, ruled-on text preserved). - 2026-07-24T~14:40 CEST — **Jurist confirmation ruling caught a real §6 reasoning error — OWNED.** My report claimed "no-prose-loss independently established by the 0-delete witness comparisons." FALSE: the witness is the curation-preservation leg against a LEGACY witness (proves only no-regression-vs-prior-conversion per REVIEWED-70 Q1); against a witness silently mutilated in 8 places, 0-delete means only "lost nothing the MUTILATED conversion had" — CANNOT establish source-fidelity. I substituted the weaker, known-damaged anchor for the stronger obligation — the exact collapse the two-obligations split exists to prevent. **⇒ source-fidelity UNDISCHARGED; Flag-1 (pin V-TEXT reference params) is now LOAD-BEARING: NO V-TEXT graduation runs before it closes.** Also ruled: record `converter-worse` UN-EXERCISED (not passed); the 485 "mostly CONTENTS" = inference-not-census (soften); move the fold extension to declared data. Braşov adjudication + negative-control discipline affirmed specifically. **Condition MET on all 4 legs → scale_application → steward ratification (legacy-witness-only grant).** Ruling filed verbatim `docs/scale-application-levi-pilot-JURIST-RULING-2026-07-24.md`; report Addendum applied (corrections layered, ruled-on text preserved).
## Open horizons — wake after context clear (Symmetria init)
- 2026-07-24T13:18 CEST — **[wake, brief pause ~11 min]** Wrapped ~13:07 (session file mtime), now 13:18. Thread **CONFIRMED**: close **Flag-1** (pin V-TEXT reference params + run the *cleaned* candidate through `verify_body_conservation` → clean source-fidelity PASS) — the §6 error left source-fidelity undischarged; no V-TEXT graduation before it closes. Repos unmoved: chamber @ `3852d46` [ahead 2, pilot artifacts + ruling/report uncommitted = steward repo process, do NOT push]; dotfiles clean; MEMORY.md link canary clean. Substrate note: this session's own hand-stamped ledger times (~14:30/14:40) ran ahead of the machine clock — estimate-not-checked, the same assert-from-recall shape at the timestamp layer; machine `date` is truth. Drift to hold: **read/test the substrate before asserting** (fired 3×+§6 this arc). Next move: read Eichmann Flag-1 owed-item + `verify_body_conservation.reference_tokens_epub` → decide the pinning → clean → re-run.
## Confidence to recalibrate ## Confidence to recalibrate
- Mood carried from 07-23 close: substrate disciplines (verify-the-glyph-not-the-filename / assert-from-derivation) held even exhausted — hold them today; the pilot is exactly a substrate-adjudication task. Steward preference: **short, single-bite session** (07-23 ran far past that). - Mood carried from 07-23 close: substrate disciplines (verify-the-glyph-not-the-filename / assert-from-derivation) held even exhausted — hold them today; the pilot is exactly a substrate-adjudication task. Steward preference: **short, single-bite session** (07-23 ran far past that).
## Authorization moves ## Authorization moves
- 2026-07-24T09:22 CEST — Steward-directed golden-standard remediation of the Levi omnibus source pin (explicit, repeated authorization). `~/fix-levi-omnibus.py` — steward executed via `!` (the safety classifier correctly blocked ME from mutating the Chamber Sources manifest). Manifest backed up (scratchpad); wrong DTS-PDF pin removed; orphan PDF moved reversibly; omnibus re-pinned to the Complete Works EPUB (sha `1be71a50`) via governed `add_single`; verified; DTS untouched. Chamber Sources = 335 works. - 2026-07-24T09:22 CEST — Steward-directed golden-standard remediation of the Levi omnibus source pin (explicit, repeated authorization). `~/fix-levi-omnibus.py` — steward executed via `!` (the safety classifier correctly blocked ME from mutating the Chamber Sources manifest). Manifest backed up (scratchpad); wrong DTS-PDF pin removed; orphan PDF moved reversibly; omnibus re-pinned to the Complete Works EPUB (sha `1be71a50`) via governed `add_single`; verified; DTS untouched. Chamber Sources = 335 works.
## Returns — [the steward's question challenged the framing; the pulling thread was solving the right problem at the wrong level]
- 2026-07-24T~13:40 CEST — Inherited thread at wake: "close Flag-1 = pin the V-TEXT reference params + rerun → clean PASS → unblock the wave." Began reproducing on the substrate. The steward asked whether the noise-cancellation "catch" makes reconciliation "almost impossible" — a framing challenge. Reading the RULED text (not memory) confirmed they were right at a deeper level than my throwaway line: §Tiering & Fence 1046 rests source-fidelity on "a reference conversion **by a different converter** (pandoc for V-TEXT); cross-converter, the real verification of the words" — but **F4 (same 2026-07-19 arc) routed the born-digital candidate onto pandoc**, so candidate and reference share pandoc's one EPUB reader → the gate is blind to prose loss, loud on markup. The constitution even names the vacuity (line 1042) and its escape (1046 "different converter") — F4 re-opened exactly that vacuity. **Measured it** (`scratchpad/measure_flag1.py`, read-only): 768/31,824 writer-only tokens, ALL markup 0 prose; clean candidate FLAGs 96.75%/7-interior-loss; matched-writer → 99.97%/0 (residual = injection, not prose) → clean PASS only at reference≈candidate=vacuous. **⇒ Flag-1 is not a wiring fix; it sits on a design gap only the jurist can resolve.** Stopped before pinning; escalated instead. The steward's "maybe I can't understand the subtlety" was the sharpest read in the room.
## Authorization moves
- 2026-07-24T~14:00 CEST — **PENDING-71 filed ([PROPOSAL], [ESCALATE]-weight) + jurist package written.** `docs/borndigital-source-fidelity-reference-JURIST-PACKAGE-2026-07-24.md` (via `/jurist-package`; verify-before-compose hook PASSED — GROUNDED-IN §Tiering&Fence 969/1042/1046 + Flag-1 §7 + F4 + REVIEWED-57/66 quoted verbatim; measurement inlined). Fork: (a) independent extractor · (b) pre-cleaner reference · hybrid; executor lean = hybrid, surfaced-not-decided; 5 gate questions with leans. Did NOT pin, build, or pick — surfaced for the jurist per the steward's "the jurist needs to see this." **V-TEXT wave stays blocked until ruled.** Awaiting steward relay → jurist design-gate.
## Returns — [afternoon-2: two jurist packages; the steward + jurist each caught the same drift-family — infer-from-a-derived/legacy-artifact instead of ground truth]
- 2026-07-24T~15:30 CEST — **PENDING-71 ruled: I UNDER-READ MY OWN MEASUREMENT.** My run (3) (source-anchored + writer-matched reference) already measured 99.97%/0-interior-loss/0-boundary — the answer — but I dismissed it by assuming a clean PASS needs a ZERO residual, when the 287-token residual was declarable/excusable injection (PENDING-69 `moved_to` shape). I also conflated two problems under one name ("verifies markup not words"): (i) shared-reader [structural, real] vs (ii) markup-noise [Flag-1 fixed it], which drove me to lean (b). Jurist overruled → the ruled design IS run (3) + a periodic reader audit; Flag-1 = right-but-insufficient, not misdirected. **Lesson: a clean PASS needs the residual ACCOUNTED-FOR not zero; anchor the reference as far UPSTREAM as the signal permits (every downstream stage is one you stop checking); read your own data before theorizing past it.** Governance lesson the jurist minted: *when a change reassigns a named component, check what else names it* (F4-moved-candidate-onto-pandoc voided 1046's "different converter", never cross-checked → cost 5 days + a wave) → owed into the amendment-process discipline.
- 2026-07-24T~14:50 CEST — **Warde/sidecar arc: steward corrected "we cannot use the extant canon as precedent" (2×).** I (a) inferred "Warde needs no sidecar" from legacy typography PEERS (Bringhurst etc., pre-constitution), and (b) built Warde's frontmatter by mirroring Bringhurst — which itself predates the schema, so the copy was missing `lang`/`canonical`/`work`. Assert-from-legacy-artifact, same family as the whole day. Re-grounded in graduation-spec's frontmatter SCHEMA + the current-constitution reference (Eichmann, post-constitution). The correction opened the real finding → the unified-artifact / voice-purity sidecar (PENDING-72). **Bank: build to the CONSTITUTION (spec/graduation-spec), never to what an extant (legacy) canonical happens to look like; where the constitution is silent/unbuilt for a tier, that's a gap to name, not to fill from a peer.**
## Authorization moves
- 2026-07-24T~15:40 CEST — **PENDING-71 RULING processed** (steward-relayed): ruling filed verbatim (`docs/borndigital-source-fidelity-reference-JURIST-RULING-2026-07-24.md`) + Addendum applied to the package (corrections + REVIEWED-72 draft) + PENDING-71 updated. **Wave-unblock is now CLOSE:** the ruled reference design = run (3), which already PASSES — the build is bounded (repoint reference to markdown-smart + declare/excuse the injection delta + spec the periodic audit) + demonstrate clean-PASS-plus-a-deliberate-negative. Awaiting steward placement of REVIEWED-72 → then build → then the 47-file wave.
- 2026-07-24T~16:10 CEST — **PENDING-72 RULING processed** (steward-relayed): design-gate PASSED + strengthened; ruling filed verbatim + Addendum applied + REVIEWED-73 drafted + PENDING-72 updated. Jurist improved on my package (orthogonality reframing; exhaustive-partition teeth — the completeness property I'd left out) and caught TWO of my misses: (1) **I did not trace that `sections[]` is one of REVIEWED-64's five line-carrying coordinate-contract families** → the migration must add `line_frame: landed-file` (consequence-trace-one-level-shallow again — I quoted REVIEWED-64 elsewhere but didn't apply it to the very field I was proposing); (2) my chamber-side locus lean was architecturally-right but WEAK — the real argument (engine-side breaks on every re-conversion; PENDING-53 class, 5 FAILED rows) I didn't make. Both packages this afternoon = confirmed-with-corrections; the corrections were the jurist supplying the stronger argument/teeth I'd under-built. **Net: two governance judgments SECURED (both ruled same day), the wave-unblock path bounded.**
- 2026-07-24T~15:10 CEST — **PENDING-72 filed ([PROPOSAL]) + jurist package written** (`docs/engine-consumption-voice-purity-sidecar-JURIST-PACKAGE-2026-07-24.md`; hook PASSED). Steward-directed to secure the judgment NOW (before the corpus-work phase). Finding: the `studium/meta@1` sidecar is ONE artifact, two depths (baseline voice-purity binding — needed for every consumable voice; rich structural — typed-source only); graduation produces it V-DSL-only, the 19 non-DSL engine voices hand-curated after the fact; realized failure = the Eichmann apparatus-leak. Proposal: attested voice-boundaries (sidecar or positive whole-file) required for engine-consumable graduation, all tiers; derivation stays curation, existence/binding/schema gated. 5 gate questions w/ leans. Awaiting steward relay → jurist.
## Sub-agent dialogues ## Sub-agent dialogues
## Bypasses ## Bypasses
+10 -1
View File
@@ -8,7 +8,7 @@ metadata:
node_type: memory node_type: memory
type: reference type: reference
originSessionId: a8eb1d46-314e-4545-a133-f747c69ad5b4 originSessionId: a8eb1d46-314e-4545-a133-f747c69ad5b4
modified: 2026-07-23T19:26:17.914Z modified: 2026-07-24T12:50:14.817Z
permalink: claude-memory/skill-harvest-register permalink: claude-memory/skill-harvest-register
--- ---
@@ -614,3 +614,12 @@ No new skill proposal. Two register notes: **(1)** the S1 proposal **implementat
| `/glyph-map-source` | **create** | Per-source character-as-image glyph-mapping — the repeatable procedure built + proven on Levi this session (REVIEWED-70/v2.5.0), owed for the other **12+ census-flagged files** (Jung, Derrida, Zibaldone, Lichtenberg, Blake, Donne, …). Steps: unzip EPUB → locate letter-adjacent glyph `<img>` in the XHTML → **extract + VIEW each glyph image** → build `graduation-spec.yaml` `character_as_image.glyph_map` (per-source, EPUB-internal image names) + `decorative` → run `apply_char_glyphs.apply` on the whole source, require **`unclassified=0`** + spot-check pandoc end-to-end. Carries the two disciplines that caught real errors this session: **VERIFY-THE-GLYPH-NOT-THE-FILENAME** (calibre output-numbers ≠ EPUB names) and **MAP-TO-SOURCE-FORM-NOT-CORRECTED** (ş cedilla, not comma-below ș — "correcting" is a Tier-3 source-departing violation). The tool refuses until the map is complete, so the skill's value is the *disciplined authoring procedure*, not enforcement. | 2026-07-23 (built once, 12+ repeats owed) | **PROPOSED** | | `/glyph-map-source` | **create** | Per-source character-as-image glyph-mapping — the repeatable procedure built + proven on Levi this session (REVIEWED-70/v2.5.0), owed for the other **12+ census-flagged files** (Jung, Derrida, Zibaldone, Lichtenberg, Blake, Donne, …). Steps: unzip EPUB → locate letter-adjacent glyph `<img>` in the XHTML → **extract + VIEW each glyph image** → build `graduation-spec.yaml` `character_as_image.glyph_map` (per-source, EPUB-internal image names) + `decorative` → run `apply_char_glyphs.apply` on the whole source, require **`unclassified=0`** + spot-check pandoc end-to-end. Carries the two disciplines that caught real errors this session: **VERIFY-THE-GLYPH-NOT-THE-FILENAME** (calibre output-numbers ≠ EPUB names) and **MAP-TO-SOURCE-FORM-NOT-CORRECTED** (ş cedilla, not comma-below ș — "correcting" is a Tier-3 source-departing violation). The tool refuses until the map is complete, so the skill's value is the *disciplined authoring procedure*, not enforcement. | 2026-07-23 (built once, 12+ repeats owed) | **PROPOSED** |
*(No skill patches this session: wake-up/wrap-up/symmetria/jurist-package all served as written across a very long run. `/glyph-map-source` is a genuine build-candidate — a hard-won multi-step procedure with two fidelity-trap disciplines, about to be repeated 12+ times; but build-on-need is defensible since the tool already refuses-until-complete. Steward's call on create-now vs build-on-first-repeat.)* *(No skill patches this session: wake-up/wrap-up/symmetria/jurist-package all served as written across a very long run. `/glyph-map-source` is a genuine build-candidate — a hard-won multi-step procedure with two fidelity-trap disciplines, about to be repeated 12+ times; but build-on-need is defensible since the tool already refuses-until-complete. Steward's call on create-now vs build-on-first-repeat.)*
## Harvest 2026-07-24 (evening — PENDING-71/72 both ruled; two disciplines the rulings named)
| Item | Kind | One-line | Origin | Status |
|---|---|---|---|---|
| Amendment-process: **reassigned-component check** | **patch** (chamber `CLAUDE.md` Load-bearing disciplines and/or the verification ladder) | Jurist-minted in the REVIEWED-72 ruling: *"when a change reassigns a named component, check what else names it."* F4 moved the born-digital candidate onto pandoc, silently voiding the source-fidelity clause's "different converter (pandoc for V-TEXT)" — the two were ruled the same day and never cross-checked; cost five days and a wave. A cheap, standing check to add where the amendment process is described. **Discipline/governance-posture change → surface for steward, not auto-applied.** | 2026-07-24 (jurist-directed) | **PROPOSED** |
| Chamber graduation: **build to the constitution, not to a legacy canonical** | **patch** (chamber `CLAUDE.md` Load-bearing disciplines) | Steward-corrected 2× this session: *"we cannot use the extant canon as precedent."* The extant canon is a pre-constitution/pre-fleet legacy body being *brought* to trust; inferring a requirement's absence from what a legacy peer looks like (no-sidecar from peers; frontmatter mirrored from Bringhurst which predates the schema) reproduces the legacy gap. Build to the spec/`graduation-spec.yaml` schema; where the constitution is silent/unbuilt for a tier, name the gap — never fill it from a peer. The legacy-witness principle (REVIEWED-70) applied to graduation *method*. The chamber `CLAUDE.md` already carries the "legacy body / resolve-source-through-Chamber-Sources" framing (2026-07-24 morning); this generalizes it to the graduation bar. **Discipline change → surface for steward.** | 2026-07-24 (steward-directed) | **PROPOSED** |
*(Both are propose-only governance-doc patches surfaced for steward authorization; neither auto-applied. They also chime with jurist-package's existing "trace a ruled finding's inference, not its words" — I violated that this session by quoting REVIEWED-64 without applying it to `sections[]`, so the existing discipline held; no patch needed there, only the reminder that it fired.)*