session 2026-07-24 evening: REVIEWED-72/74 landed (chamber-library spec v2.6.0 — born-digital V-TEXT source-fidelity gate) + PENDING-73 + session memory/ledger + KG

This commit is contained in:
David F Glidden
2026-07-24 16:40:02 +02:00
parent 54b8b5bf29
commit 06203c3833
7 changed files with 91 additions and 4 deletions
+15
View File
@@ -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).