[HARDENING] PENDING-179 AMENDMENT 2: the [FIX] warrant is void at every site

Traced rather than accepted. The 2026-09-03 reclassification rested on one
argument: the control's label says "a real session reads as WRAPPED
end-to-end", its sample contains no real sessions, therefore restoring the
population repairs it against its existing specification.

Read at source, the predicate is `"wrapped" in _v`. It does not restrict to
real sessions anywhere. Restoring the population repairs nothing: the test
passes on mumbles alone, and would pass on a correctly-populated slice in
which every real session failed. The defect was never the sample — the label
and the test disagree about their subject, and nothing that changes what
enters the slice reconciles them.

Sites 2 and 4 never had a quoted specification. Site 3's is contradicted by
its own implementation. Site 1 is excluded on receipt. Nothing in the census
is [FIX]-warranted, and whatever replaces the selftest is a rewrite of the
predicate against its label — larger than the act that was reclassified.

Withdrawn explicitly in three places rather than left to be superseded:
"sites 2-4 are [FIX], merely gated" is precisely the premise a later session
inherits without re-deriving. The archived Active Session block carrying it
is annotated in place, not edited — it is a verbatim record of what was
believed then.

Also:
  - the selftest date question is RETIRED BY FINDING, not open. AMENDMENT 1
    recorded it open; withdrawn. A test asking whether any transcript wrapped
    has never tested its label since it was written, necessarily predating
    mumbles, so the mumble is not its cause at all. Do not replay
    wrap_events() git history for an answer that no longer discriminates.
  - OWED-5 annotated: it catches empty-set vacuity only. The selftest had 13
    files in its denominator and tested nothing about its subject regardless.
    Wrong-subject vacuity is OWED-1's class and invisible to OWED-5.
  - logged for PENDING-89: jurist and executor shared one miss in the same
    direction — both read the absence of a stated rate as the absence of
    urgency, and neither flagged the firing distance until N was measured.

MEMORY.md hit 314 bytes of headroom while carrying this and was condensed to
pointers after verifying every claim had a home in the item and the session
record. 22,263 bytes, 2,723 headroom.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01X3L79vgAnt1x2kxvf23Qt7
This commit is contained in:
David F Glidden
2026-09-04 10:59:31 +02:00
co-authored by Claude Opus 5
parent 9fba331e3e
commit 324cf77023
6 changed files with 145 additions and 8 deletions
+3
View File
@@ -65,6 +65,9 @@ metadata:
<!-- demoted from MEMORY.md at the 2026-08-17 wrap -->
### Demoted from Active Session at the 2026-09-04 wrap
> ⛔ **SUPERSEDED 2026-09-04 — the `[FIX]` claim in the 2026-09-03 block below is VOID and the block is kept verbatim only as a record of what was believed then.** That reclassification rested on *"the control's label already says 'a real session', so restoring that population repairs it against its own spec."* The predicate is `"wrapped" in _v`, which **does not restrict to real sessions at all** — so restoring the population repairs nothing, and the test would pass on a correctly-populated slice in which every real session failed. **The defect was never the sample.** Sites 2 and 4 never had a quoted specification; site 3's is contradicted by its own implementation. **Nothing in the census is `[FIX]`-warranted.** See PENDING-179 AMENDMENT 2. ⚠ *Annotated rather than edited: the block is a verbatim archive, and "sites 2–4 are `[FIX]`, merely gated" is exactly the premise a later session would inherit without re-deriving.*
> 🔴 **NEXT SESSION, FIRST WORK — STEWARD-DIRECTED 2026-09-03:** *"deal with that right away — I need the wake and wrap tools to be reliable."* **ONE root cause, 4–5 consumer sites:** the transcripts dir is a proxy for *"a session"* and **a Tarbuckle mumble is indistinguishable from a session at the file level.** Sites: `governance-drift-check.py:513` (PENDING-178) · `wake-digest.py:354`→`previous_transcript` (**the false `unattended` alarm of 09-01 — diagnosed, code never changed**) · `wake-digest.py` selftest `_tx[-14:-1]` (**fails every run**) · `tarbuckle-invoke.py:40` (⚠ **SUSPECTED, VERIFY FIRST**). 🔑 **The discriminator already exists and is controlled — `wake-digest.py:932 human_turns()`; this is wiring a tested function into 4 call sites, not building a classifier.** ⚠ **It is `[FIX]`, not `[PROPOSAL]` — my wrap-time classification was wrong**: the control's label already says *"a real session"*, so restoring that population repairs it against its own spec. **Does NOT extend to changing what the `>=84` trigger means** — that stays PENDING-178/REVIEWED-123. **Write the positive control FIRST.** Full census + first steps: ADDENDUM 1 of the session record.
> 🔑 **THE INDEX HAD BECOME THE RECORD.** `MEMORY.md` breached its load budget and was being **silently truncated at wake** — but the cause was not bulk. Five tracker entries had grown into paragraphs, and for **three the index was the SOLE custodian of live state**: the studium tracker stopped at **2026-08-13** while the index carried engine news to 09-01 · the Fool's only link was a **sealed seed**, with nowhere legitimate to append · L1's replay **mechanism** (`minCursor` is a minimum over 11 modules, two never participate ⇒ pinned at 0 **by construction**) and **completion criterion** (uninterrupted run length, not rate) existed nowhere else. All relocated verbatim; **Tarbuckle got a tracker**. 26,803 → 23,714 (`2171d91`, both remotes verified).
> ⚠ **PRUNING WOULD HAVE BEEN HARMFUL.** The cut took its rule from the file's own Index discipline — trackers are pointers — and so **left "Rules that fire silently" untouched**: those keep their text inline because they fire when I would not know to look. Cutting the loudest lines would have removed the catches and still left three workstreams undocumented, now deleted rather than truncated.