From d17f7631d1a4ce57704710f825b556d20d10c448 Mon Sep 17 00:00:00 2001 From: David F Glidden Date: Mon, 10 Aug 2026 16:44:14 +0200 Subject: [PATCH] =?UTF-8?q?[HARDENING]=20PENDING-131=20=E2=80=94=20the=20n?= =?UTF-8?q?ested-voice=20negative=20class=20has=20no=20mechanism,=20and=20?= =?UTF-8?q?the=20one=20pass=20that=20ran=20selected=20on=20typography?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Escalated out of finding 3 of the V2 EN span proposal, where it was riding as context for a span-narrowing document. Censused by mechanism: role:quotation in 2 of 14 manifested sources; Mauss's 12 regions are new since P7 but miss L926, §7.4(i)'s own named exemplar, because the pass marked display-set blocks and Ranaipiri is embedded in running prose. Weil solves the same obligation by a third mechanism. Alexander serves six voices unmarked, one of them Shakespeare in the bold invariant slot. Recommendation (c)+(b) with (a) as an immediate standalone FIX, and a method caution: both mechanically-available operators — typography and punctuation — were measured today to fail on embedded cases in the same direction, so the wide pass must be a reading pass or it rebuilds the gap it closes. --- PENDING.md | 40 ++++++++++++++++++++++ claude/memory/session-ledger-2026-08-10.md | 14 +++++++- 2 files changed, 53 insertions(+), 1 deletion(-) diff --git a/PENDING.md b/PENDING.md index 20a48bb..a7e4790 100644 --- a/PENDING.md +++ b/PENDING.md @@ -2546,3 +2546,43 @@ else echo "INCOMPLETE — $old residual occurrence(s) of an old name"; fi **Still open on this item: condition 3 — the steward's dated answer key, marked against the corpus.** Until it exists the item is **not archived**, no document names a fixture, and **V4 is not built.** --- + +## PENDING-131 — A pre-registered negative class has no mechanism anywhere, and the one marking pass that ran selected on typography rather than voice +**Date:** 2026-08-10 +**Tag:** [HARDENING] + +**Summary:** `role: quotation` — the mechanism §7.4(i) names as what must catch nested-voice negatives — exists in 2 of 14 manifested sources; the pass that created 12 of the 13 regions missed §7.4(i)'s own named exemplar because it selected display-formatted quotations and Ranaipiri is embedded in running prose. + +**Rationale:** P7 (2026-08-07) recorded this as an fr-cell finding on two sources — Mauss's Ranaipiri testimony and a Havámál strophe served as citable Mauss — kin to the Weil/Thibon defect fixed two days earlier. Censused today by mechanism rather than impression, it is a class, and the shape of the miss is the load-bearing part. + +Measured over `corpus/sidecars/*.json`, 2026-08-10: + +- 21 sidecar files on disk; **2 carry any `role: quotation`** — `mauss-essai-sur-le-don` (12 regions) and `handke-wunschloses-ungluck` (1). Of the **14 sources the manifest serves the engine, 12 have none.** +- Mauss's 12 are **new since P7 ran**, so the Havámál half of P7 finding 3 is fixed (`quotation-havamal [766,860]`). +- ⚠ **L926 — the Ranaipiri testimony, §7.4(i)'s OWN NAMED EXEMPLAR — is still `role: text` inside `body-02 [861,1036]`.** The 12 regions marked are all display-set blocks (formulae, strophes, brahmanic citations, a Quran surah). Ranaipiri is Mauss quoting Best quoting Ranaipiri inside running prose. **The selection operator was typography, not voice.** +- `weil-gravity-and-grace` addresses the same obligation by a **third mechanism** — `voice: thibon` on `role: text` sections. So the corpus now has two mechanisms for one obligation and twelve manifested sources with neither. +- Alexander, read directly in the course of the V2 EN narrowing today, serves at least six other voices as its own citable text with no marking: T. S. Eliot (L1226–1235), Margaret Mead (L1265, L1269), Joseph Klapper (L1271), **Shakespeare (L2066–2068)**, Martin Buber (L4486), and the Weiss/Bouterline and Sternlieb reports. + +**Why this is escalated rather than left as a proposal subsection:** it presently rides as finding 3 of `corpus/v2-en-span-narrowing-PROPOSAL-2026-08-10.yaml`, a span-narrowing document, where it reads as context. It is not context. Three consequences, none scoped to V2: + +1. **A live citation-safety exposure in the governed corpus.** A grounded claim about Alexander may be supported by Shakespeare's or Buber's words today, with nothing in the substrate to refuse it. +2. **§7.4(i)'s negative class has no mechanism on any source but Mauss and Handke** — and on Mauss it is missing on the exemplar the design names. Such a negative would be "caught" only if the NLI happened to fail, which the design explicitly says must not be what catches it. +3. **Pattern 26's bold invariant slot is Shakespeare.** In every other Alexander pattern that slot carries the author's own invariant. A narrowing or extraction pass that trusted the source's typography — the obvious mechanization — would land gold on another voice's text at exactly the position that looks most authoritative. + +**The finding under the finding:** today's eight EN spans are voice-clean because one reader was watching, and the proposal says so in its own text — B3's *nearest lexical match* to the claim was Margaret Mead's quoted sentence, not Alexander's, and the document records choosing against it. That is the behaviour the voice apparatus exists to produce, arrived at without the apparatus. So correctness here currently rests on an unrepeatable property rather than a mechanism, which is a class-level statement about corpus readiness for **any** gold set, not about these eight. + +**Options:** +- **(a)** Mark Mauss's Ranaipiri region only. Closes the exemplar; leaves the class. +- **(b)** Reading pass over all 14 manifested sources for served-other-voice spans, marking `role: quotation`. Re-chunks the corpus; each source is its own bite with its own controls. Slow, and the only option that reaches the class. +- **(c)** Reconcile the two mechanisms first (`role: quotation` vs `voice: `) into one declared rule, then do (b) against it. Costs a ruling before any marking, and prevents a third mechanism appearing in the third source that needs one. +- **(d)** Defer, and gate V2's negative population on (a) alone. + +**Recommendation:** **(c) then (b), with (a) executed immediately as a standalone FIX.** (a) is cheap, closes a named exemplar, and is not blocked on the ruling. (c) before (b) because the corpus has already grown two mechanisms without anyone ruling one, and doing the wide pass first would bake that divergence into 14 sources. ⚠ **What I cannot do is scope (b) honestly yet:** "12 manifested sidecars carry no `role: quotation`" is a fact; "12 sources serve other voices as their own" is **not** — it needs the per-source reading, and only Mauss, Weil and Alexander are established. The census that would size this is itself the work. + +**⚠ Method caution, earned twice today and applying directly to (b):** the marking pass that produced Mauss's 12 regions selected on display formatting and missed the embedded case. On the same day, in the same corpus, a punctuation-based split of the March queries was measured to have zero discriminating power (8 of 8 positive against a 7 of 8 base rate, its single error a false positive on the only clean item). **Both mechanically-available operators fail on embedded cases in the same direction.** (b) must be a reading pass; if it is specified as a formatting or markup heuristic it will reproduce exactly the gap it is filed to close. + +**Files affected:** `corpus/sidecars/mauss-essai-sur-le-don.meta.json` (option a) · all manifested sidecars (option b) · `docs/spec/cluster-a-data-model.md` §D-4 vocabulary (option c) · `corpus/v2-en-span-narrowing-PROPOSAL-2026-08-10.yaml` finding 3, which this supersedes as the home of the claim. + +**Awaiting:** Steward authorization. + +--- diff --git a/claude/memory/session-ledger-2026-08-10.md b/claude/memory/session-ledger-2026-08-10.md index b3cb838..d161d89 100644 --- a/claude/memory/session-ledger-2026-08-10.md +++ b/claude/memory/session-ledger-2026-08-10.md @@ -5,7 +5,7 @@ metadata: node_type: memory type: feedback originSessionId: bc984a6d-e8ce-47f5-99da-062703403e7d - modified: 2026-08-10T13:56:12.136Z + modified: 2026-08-10T14:10:52.397Z --- # Session Ledger — 2026-08-10 @@ -23,6 +23,18 @@ metadata: `](file.md)` and `[[wikilink]]`". The wikilink half was specified on the ladder and absent from the code; read, not re-derived. +- **Built the wikilink half with the exact defect documented ten lines above it.** First pass + reported only `UNWRITTEN`; both live hits were `[[trust-prior-pass-frame]]`, whose file exists + as `feedback-trust-prior-pass-frame.md`. The 2026-07-28 provenance block in the same function's + header exists to forbid one-word alarms. Caught by *running it on the real substrate* rather + than trusting the green suite — the suite passed, because I had only written controls for what + I had thought of. Fixed to three outcomes; both pointers repaired. +- **Chose the worse lexical match on purpose (B3).** The closest verbal match to the claim + "reducing… to an undifferentiated grey" is Margaret Mead's quoted words at L1269, not + Alexander's at L1267. Took the Alexander-voiced sentence. Nothing in the corpus would have + stopped the other choice — which is finding 3, arriving as a live temptation rather than as an + abstraction. + ## What held - The wake's own instrument reported its lone "dead" pointer honestly enough to be diagnosable —