session 2026-07-13 evening: matcher key-selection fix (chamber 4b34447, MATCH-SUSPECT→0) + PENDING-58 (2b sidecar-wiring amendment, Loeb-first) + session memory/ledger/KG/skill-harvest
This commit is contained in:
+16
@@ -1502,3 +1502,19 @@ Disposition (verbatim capture + executor action-list: `chamber-library/docs/libr
|
||||
**Awaiting:** jurist confirmation the two conditions are closed (+ his call on loss auto-PASS vs REVIEW-routing for the masked-vocab edge) → steward ratification (REVIEWED-57) → land by supersession into `graduation-spec.yaml` + `verify_graduation.py`.
|
||||
|
||||
**CLOSED 2026-07-13 (REVIEWED-57 AUTHORIZED — fully ratified across three jurist rounds).** Gate WIRED into graduation as its own source-in-hand step `body_conservation_gate()` (`cdb3454`). §6 retroactive sweep RUN over all 952 Loeb → the corpus-health map (d9f6880/9afb0cf). Follow-on same day: the 18 body-deficit **cause-analysed** by reading the missing spans → three remedy tracks (re-match 8 / re-extract 4 / re-verify-and-reconvert 12); a wrong-match-by-fabrication classifier rule + the 2 REORDER? books resolved (both wrong/partial-key, CLEAN on re-match) → REORDER? dissolved to 0 (eb21eca/836b665/c54edbb). Nothing further awaited on PENDING-57. The reprocess itself (matcher fix → the 2b sidecar-wiring amendment gated on the steward's Loeb-first-vs-full-corpus call → B2 ②+③) is downstream work tracked in the session files + `chamber-library/docs/chamber-program-open-work.md`, not here.
|
||||
|
||||
## PENDING-58 — 2b: Wire the Loeb structural sidecar into graduation (V-DSL tier), with the `DSL-full = body + app[]` reconciliation as the apparatus/body FACT — Loeb-first scope
|
||||
**Date:** 2026-07-13
|
||||
**Tag:** [PROPOSAL] — change-class PROPOSAL (it changes what graduation PRODUCES and what the body-conservation gate may CREDIT; per chamber CLAUDE.md "FIX→PROPOSAL when it changes what a gate accepts", and per REVIEWED-56 §4 "graduation-spec names the sidecar as the graduated structural layer — a separate, additive amendment"). Jurist editor-gate → steward ratification (REVIEWED-58).
|
||||
**Summary:** For the **V-DSL (Loeb) tier only**, make graduation produce + validate the `.meta.json` structural sidecar (via the fleet-v1 `build_loeb_sidecar.py`) as a graduated structural layer, so the reserved `app[]` is populated — and add the **`DSL-full = candidate-body + sidecar-app[]` (by multiset) reconciliation** as the mechanism that turns the corpus-health map's *diagnosis-by-magnitude* ("apparatus-shaped, NOT sidecar-verified") into a **checked fact**: reconciles → the deficit was apparatus (the 126); doesn't → it was body (the 16).
|
||||
**Rationale:** The whole reprocess stands on turning "apparatus or body?" from a judgment into a reconciliation. The sweep (PENDING-57 §6) can only *diagnose* apparatus by magnitude — it explicitly labels the 126 APPARATUS-SHAPED *not sidecar-verified*, because the app[] input does not exist yet. Wiring B2's sidecar into graduation is what supplies that input; the reconciliation is then the same shape as the verbatim gate's fabrication/loss split — *reconciles* is a fact and *doesn't* is a fact, no eyeballing. It also un-blocks the ②+③ reprocess (B2 becomes the graduation path for the reconvert, not a side tool). The matcher fix (`4b34447`, 2026-07-13) finalized the target set (16 BODY-DEFICIT: ②4 + ③12, MATCH-SUSPECT→0), so the scope this amendment governs is now stable.
|
||||
**Scope decision — LOEB-FIRST (steward-ruled 2026-07-13, decided now not deferred):** wire it for the **V-DSL / Loeb tier ONLY**, through `build_loeb_sidecar.py` (**fleet-v1**: six commits this week, matcher rewrite, fabrication+loss injection tests, a 952-book sweep, in `test_tools`). **Explicitly NOT** the general EPUB/PDF tier: its extractor `build_sidecar.py` is a **v0 prototype, never in the fleet, exactly where it was at schema-lock**. The asymmetry is the argument: building the amendment for a corpus half of which runs through v0 tooling would be "should generalize, structurally similar" *trusted before proof anywhere* — the shape that broke nagarjuna's index, the nested-block div, and the Aeschylus reordering, one level up. The general tier joins by a **later additive amendment** once its extractor earns the same trust; nothing about Loeb-first blocks that path.
|
||||
**The reconciliation (the checkable corollary this amendment installs):**
|
||||
· `multiset(DSL-full for the work) == multiset(candidate body) ⊎ multiset(all sidecar app[] entries)` (drift-tolerant, same boilerplate accounting as the sweep).
|
||||
· **Reconciles** ⇒ the map's deficit was apparatus the old extractor flattened → the APPARATUS-SHAPED label is now *sidecar-verified fact* (predicts the 126).
|
||||
· **Does not reconcile** ⇒ the deficit is real body loss (predicts the 16) → stays a reprocess target. The prediction *is* the test.
|
||||
**THE PRE-REGISTERED PROOF CONDITION (steward-directed 2026-07-13 — the un-retired schema-lock question, NOT new):** the reconciliation must be **demonstrated on an apparatus shape it has NOT already seen** (not `table`/`glyph` again — an unseen `app[]` kind: marginal sigla, interlinear gloss, testimonia-citation, verse-line apparatus), **at a scale closer to what the 126 actually are** — before apparatus-credit is granted at scale / before the reconciliation is trusted as the fact. This LIFTS the jurist's already-ratified extractor condition (schema-DRAFT §5: apparatus *density* ≠ *diversity of kind*; "the densest volume fit the schema" ≠ "the worst case is expressible"; the real safety property is "the extractor holds *anything* it does not recognize") **up from the extractor to the reconciliation** — the reconciliation running once on two prototype books does not retire it; it retires when asked at the 126's scale against an unseen kind. Until it clears, **apparatus-credit into `body_conservation_gate` stays FACT-GATED on populated `app[]`** (already the PENDING-57 posture — this amendment does not loosen it, it names the condition that would).
|
||||
**Options:** **(a)** wire the sidecar as produced-and-validated at V-DSL graduation, run the reconciliation as a diagnostic, keep apparatus-credit FACT-GATED, and require the proof-condition demonstration before the reconciliation is cited as fact at scale (RECOMMEND); **(b)** wire + immediately treat reconciliation as authoritative apparatus-credit (REJECT — grants credit before the unseen-kind/at-scale proof, the exact move the condition forbids); **(c)** defer wiring until B2 has reconverted the ②+③ set (REJECT — circular: the reconvert graduates *through* this wiring).
|
||||
**Change-class boundary — what this does NOT change:** the LOCKED sidecar schema (additive-only; no field meaning/shape touched); the verbatim guarantee text; any tier's evidence-class; the V-DSL/V-TEXT/V-SCAN dispatch; the general-tier graduation path (untouched — Loeb-only). It ADDS: a V-DSL sidecar-generation+validation step at graduation, and a reconciliation instrument + its FACT-GATE.
|
||||
**Files affected (on ratification):** `_curation/graduation-spec.yaml` (gates block: name the sidecar as the graduated structural layer for V-DSL + declare the sidecar-generation/validation step, mirroring how `body_word_conservation`/line 136 was wired); `scripts/graduate_to_canonical.py` (produce+validate the sidecar at V-DSL graduation, source-in-hand layer, beside `body_conservation_gate`); `scripts/build_loeb_sidecar.py` (the graduation entry point — already fleet-v1); a NEW reconciliation instrument (`DSL-full = body ⊎ app[]` multiset check) + its unseen-kind/at-scale demonstration; `_curation/conversion-runbook.yaml` (pipeline direction). Companion `docs/2b-sidecar-wiring-FOR-JURIST-2026-07-13.md` relay brief to follow (the evidence pack, as PENDING-56/57 carried).
|
||||
**Awaiting:** jurist editor-gate (esp. on the proof-condition wording — is "unseen kind AND near-126 scale" the right bar, or does he want it sharper?) → steward ratification (REVIEWED-58) → land by supersession.
|
||||
|
||||
Reference in New Issue
Block a user