🔧 Auto-commit from sysupdate on 2026-07-05 22:41

This commit is contained in:
David F Glidden
2026-07-05 22:41:29 +02:00
parent d707c5f670
commit 9ca673fe50
4 changed files with 65 additions and 2 deletions
+46 -1
View File
@@ -361,4 +361,49 @@ DONE + DEPLOYED (a9e5196).
**Date:** 2026-06-11
**Decision:** AUTHORIZED (inline, render-review-gated throughout)
**Notes:** Built the one spec'd-but-unbuilt apparatus (§VII.f, the post-Stage-G W1.2 session) + coupled W1.15. Zero-JS view-timeline reveal; progressive-enhancement fallback; per-type matrix binding. Steward render-rulings: body-column-axis alignment, soft fading rule, full-width dissolving ground anchored below the rule. W1.15 false-premise (frontispiece doesn't scroll) surfaced not papered — reframed scroll→presence-reveal. Grid-token move to _variables byte-identical. Specs reconciled.
**If AUTHORIZED:** Deploy running head + compass reveal together. Tag commit REVIEWED-43.
**If AUTHORIZED:** Deploy running head + compass reveal together. Tag commit REVIEWED-43.
## REVIEWED-44 — Machine-readable graduation spec + validator
**Date:** 2026-07-01 (authorized) · formal record 2026-07-05
**Decision:** AUTHORIZED
**Notes:** Steward-initiated and verbally authorized 2026-07-01 ("yes to pending/reviewed"), recorded here to close the paper loop. The Chamber Library graduation *conventions* are codified as machine-readable data (`chamber-library/_curation/graduation-spec.yaml`) consumed by every graduation, and enforced by a validator (`scripts/verify_graduation.py`) that gates each candidate — conventions checked at the moment of action, not narrated in prose that drifts or is bypassed. Operationalizes the chamber spec §§II–VI (which governs on conflict); scope-disciplined per PENDING-42 §VI. Proven in the live case that prompted it: three parallel agents given hand-written instructions diverged exactly along the runbook's gaps; the validator then caught every divergence across all three candidates (Jonas + two Mumford volumes), which were re-fixed against the spec and graduated clean (both gates PASS, verbatim intact, OCR corrections logged). The runbook now *points to* the spec (`policy.graduation_conventions`) rather than restating it — the seed of the generative-from-spec principle later ratified in REVIEWED-46 (gap 7).
**If AUTHORIZED:** Proceed — the spec was promoted drafts→governed and applied; it is now the enforced convention rail. Tag related commits REVIEWED-44.
## REVIEWED-45 — Family-D (stem-suffix) footnote handler in `clean_epub_residue.py`
**Date:** 2026-07-02 · formal record 2026-07-05
**Decision:** AUTHORIZED
**Notes:** A tool addition within the standing "build the tool the batch needs" discipline, recorded for the paper loop alongside REVIEWED-44. Extended the graduation rail's footnote converter with a 4th anchor family (stem-suffix: ref `[¹](#…_{stem})` ↔ def `[N.](#…_{stem}a)`, keyed by the globally-unique stem), unblocking recovery of per-chapter endnote apparatus in z-library/Kindle-derived EPUBs. First use recovered **294 endnotes** in Sennett's *The Craftsman* that the prior calibre conversion had silently unlinked. Load-bearing because `clean_pandoc_html_residue`'s `INTERNAL_LINK` unwrap silently *destroys* any footnote-link it doesn't recognize — an uncovered family = silent linkage loss (the exact defect being repaired). Verified: 294↔294 paired, 0 orphans, both gates PASS, prose verbatim-preserved; regression-tested Families B (Winnicott) + C (Virilio) and caught+fixed a real C regression (`r`-prefixed def targets read as phantom D-refs). Reviewed in `_curation/tool-evolution-log.md`.
**If AUTHORIZED:** Proceed — the extension stands. **Known follow-on:** Crawford's `filepos` positional family (ref/def don't share a stem — a different pairing model) remains an open tool-gap, documented in the tool docstring.
## REVIEWED-46 — Spec gaps 1–8 + the generative-from-spec principle + Chamber Library v2.0 ratification
**Date:** 2026-07-03 (rulings) · formal record 2026-07-05
**Decision:** AUTHORIZED — with the corrections and conditions ruled across the arc (this entry summarizes a multi-ruling doctrine phase; the sub-rulings are recorded in the PENDING-46 progression and `chamber-library/docs/spec-revision-RULING-2026-07-03.md`).
**Notes:**
- **Unifying insight (jurist condition):** gaps 2 (apparatus ref↔def), 3 (PROV "original" as resolvable reference), and item-8 (§III CTS-URN citation) reduce to ONE logical-passage addressing/pointer substrate — design it once, three consumers. Do-it-once made concrete.
- **Gap-6 promotion criterion RATIFIED** — three evidence tiers (converted / verified / fenced); tier-1 (verified-deterministic) requires source-identity (author+edition via item-8) then word-identical re-convert. V-SUSPECT and V-NONE kept as **distinct** ledger values (condition 6).
- **Gap-7 generative meta-principle RATIFIED `[ESCALATE]`** — no tool may encode a convention independently of the declared, machine-readable spec; a tool re-encoding a convention is drift. Reshapes how we build.
- **Amendment process RATIFIED** — RFC-style supersession + change-class (`FIX`→`PROPOSAL` when it changes what a gate accepts) + semver + PENDING/REVIEWED + no-new-organ. The amendment-authority question (who may amend the spec) co-ratified with gap 7.
- **§III citation posture RATIFIED** — cite the Loeb by its recovered canonical anchor (edition-as-identity); the "structured-but-unanchored → work-level" extension **voided as active doctrine, retained as a labeled dormant contingency** (a principle that now governs nothing shouldn't stand as active).
- **Three-questions ruling:** (A) strip Loeb print-run page markers via a per-genre recognized-locator registry; (B) tier-2 conversion verification = redundant independent human passes vs the scan image (numeric bar deferred to a calibration batch); (C) re-verify-pending is its own ledger status with `verified_under:<criterion-semver>`.
- **Outcome:** the spec was drafted spine-first, jurist editor-gated per section, superseded v1.0 via the RFC pattern, and **ratified + shipped as v2.0.0 (OPERATIVE 2026-07-03).**
**If AUTHORIZED:** Doctrine phase complete; v2.0 OPERATIVE. The corpus stress-test (REVIEWED-47) is the first exercise of the ratified doctrine. Open, non-blocking: the per-genre locator table (living data, reviewed during Loeb extraction) and the tier-2 numeric bar (calibration).
## REVIEWED-47 — Corpus stress-test + source-match remediation + the exclusion path
**Date:** 2026-07-04 (stress-test + remediation rulings) → 2026-07-05 (exclusion path) · formal record 2026-07-05
**Decision:** AUTHORIZED — across the arc, with the conditions ruled (a multi-ruling remediation; sub-rulings recorded in the PENDING-47 progression + `chamber-library/docs/` relay briefs).
**Notes:**
- **Pre-registration gated** (thresholds locked before any test data). Jurist gate-with-method-change: Q1 grade Seam-1 on two axes (structural-blindness → PROPOSAL, independent of rate); Q2 grade on the **one-sided 90% Clopper-Pearson upper bound** (a point estimate at n=40 can't tell 1% from 5%); Q3 added Seam-1-bis (V-DSL work-mis-attribution); Q4.
- **Seam-1 run → `[ESCALATE]`:** the cited ~1% source-match false-positive rate is **refuted** (p̂=5.0%, U₉₀=12.8%; robust to drop-one). The "~1%" was an eyeball over the matcher's own `author_disagrees` warning — structurally blind to same-author-wrong-work and whole-for-part.
- **Differentiated remediation ruled (not a-or-b):** (1) detection-blindness (Axis-A fingerprint gate) = PROPOSAL; (2) **process-integrity elevated to "the most important thing"** → the persistence investigation ran FIRST and found there was **no persistence mechanism at all** (any hand-fix was regenerated away); (3) **scope doctrine ruled asymmetric** (whole←part = §IV under-coverage; work←collection = extraction-precision) and unified with Seam-1-bis as **one scope-identity principle**; (4) remediation ordered.
- **RATIFIED:** the persistence layer (`source:` pin, Option A + a non-optional **attestation** — a bare/pipeline-authored value is not a pin) and the **hash-locality principle** (`source_file_sha256` distinct from the reading-index's `source_sha256`). Work-identity & scope study delivered and **routed as its own [PROPOSAL]** (item-4; own timeline). FIX-list applied (5 verified false-positives re-pinned to the permanent Chamber Sources home) and an archive-contamination class found + corrected.
- **2026-07-05 — the exclusion path (Region 1.1) RATIFIED-with-2-corrections:** (§1a) attested absence lives in its own honest top-level key `source_excluded:` (not a verdict inside `source_verified:`); (§1b) `result: verified` explicit + required on pins (the 5 existing pins migrated). Vocabulary `confirmed-wrong`/`none-on-disk` ratified (closed-but-extensible); the auditable `excluded` record ratified. **Region 1.2 applied:** the 4 no-source false positives (reverie/meditations/écrits/nietzsche) attested `confirmed-wrong` with Instrument-B 0/5 evidence; the `source-matches.json` change bounded to exactly the 4.
- **Standing standard set:** CI-upper-bound grading + drop-one robustness for every ESCALATE.
**If AUTHORIZED:** Region 1 closed for the known cases (5 pinned, 4 excluded). **Open under this entry, re-entering as their own work:** item-4 (work_id/scope pipeline, its own PROPOSAL); the frontmatter sweep (`[needs-authorization]`; unblocks the 2 stuck FPs orthotypo-vol-2 + semaison); Region 2 source hunts + the `ulysses` verify; Region 3 (2 no-frontmatter, 4 stubs, works-eliot, 2 scope calls); full archive reconciliation.
## REVIEWED-48 — Studium Engine V0 (verifier contract) — jurist method-gate
**Date:** 2026-07-05
**Decision:** AUTHORIZED — gate cleared, with two required §2 corrections and the §5 conditions (recorded in `studium-engine/docs/spec/v0-verifier-contract.md` and PENDING-48).
**Notes:** V0 is the **one named exception** to the engine's steward-direct D-1 governance — it defines what the engine may assert as verified and when it must abstain, so its method routed through the jurist.
- **§2 — the "unaltered" relation:** (B) `normalizer@1`-class equivalence ratified (typographic-convention folded, orthography untouched). Ruled **DOCTRINE, not D-1**, with a code-level consequence: **fork it to `fidelity_equivalence@1`** — a frozen constant distinct from the retrieval-side `normalizer@N`, so a D-1 search-tuning change can never silently drag the trust floor; every future `fidelity_equivalence@N` requires jurist ratification. Diacritics stay out; hard-hyphen-linebreak is a cleaning-gate concern, not the checker's. Cross-cutting flag resolved by the executor: the current gold is *modernized*, so the fork's glyph-folding is moot on it (caveat recorded if future gold is diplomatic).
- **§5 — the pre-registered V2 thresholds:** ratified as stated (trust `U≤5%` & recall `≥0.75`; revise `5–15%`; gate-to-abstain `>15%` or absent gold), graded on the CP upper bound. Gate-to-abstain ruled **doctrine-consistent** (refusing false coverage in advance), not merely tolerated. **Added condition:** negatives-expansion must preserve the original proportional distribution across the five adversarial classes (or pre-register a new one). **Coupling recorded:** the threshold values are calibrated *with* the §1 evidence-first display rule — weakening that display requires re-gating. Doctrine = the values + the relation; D-1 = the CP calc, perturbation code, gold-pair selection.
**If AUTHORIZED:** Proceed — V1 (`verify-quote`, against `fidelity_equivalence@1` + the §3 deliberate-mismatch suite) and N1 (the navigation-tree builder) are unblocked. The §5 display-coupling, the proportional-expansion rule, and the diplomatic-gold caveat travel as standing conditions into the build.