[HARDENING] PENDING-178: the ladder trial counts the fool's chatter as sessions

The trial's session counter globs one project directory, which since
2026-08-25 also receives one transcript per Tarbuckle mumble. Enumerated
today: 54 files = 43 real sessions + 11 mumbles. A mumble cannot reach the
verification ladder and can only enter the denominator, so REVIEWED-123's
bounded hold would lift on a count part machine chatter.

Distinct from PENDING-147, which names the window and the perishability.
This is the unit, and it runs opposite to -147's finding (1): the trigger
stops being unsatisfiable and becomes satisfiable for the wrong reason.

Three figures asserted earlier in the session are withdrawn in the item
rather than quietly dropped — a "wiring day" attribution and an "~8/day"
rate (both corrected by the steward) and a "197 reached the generator"
(the steward observed the numbers did not close; tarbuckle-draws.jsonl
mixes routing hand-offs and terminal outcomes in one field).

Records one DECLINED finding with its argument: TRANSCRIPTS is scoped to
one of eight project directories, which is PENDING-171's predicate class
at a second site, and is benign here because 43 of the 44 real sessions
ever recorded are in that directory. Not filed, so it is not rediscovered
as a defect.

REVIEWED.md is left untouched and uncommitted — steward's file, edited at
08:45 outside this session.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_017vKkg2EJF1rGwdFdBogwqx
This commit is contained in:
David F Glidden
2026-09-01 09:08:57 +02:00
co-authored by Claude Opus 5
parent 8b5d90da66
commit 9838ffe86b
3 changed files with 100 additions and 0 deletions
+24
View File
@@ -6849,3 +6849,27 @@ The control now reads all three registers at `##` and `###`, recognises `ADDENDU
· **The per-conversion typography gate** — the ruling's "forward item, unconditioned": *"run per conversion… it becomes a wired gate that catches converter-version drift, per-file anomalies, and any future front-end's silent normalization — without anyone having to predict which converter might misbehave."* Not built; the gate list is `verify_conversion · verify_graduation · body_word_conservation · sidecar_gate`. **Its absence is exactly why `verify_conversion` returned 5/5 on word-damaged output.** My run is an instance of the failure the jurist predicted 42 days before it happened.
**Bundling error, corrected.** PENDING-177 as filed bundled a FIX with a PROPOSAL under one ID — the CLASS E defect PENDING-146 names (the open list's unit is the ID; the decidable unit is the item), which left a damage-reducing fix blocked behind a ruling it does not need. **Split, and the FIX has landed:** `pdf_textlayer` now carries `--pdf-backend pypdfium2 --image-export-mode placeholder`, since Q1 confirmed lane routing is declared data revisable without supersession, and the change strictly reduces damage and alters nothing a gate accepts. The runbook records, at the point of work, that the flag fix is **not** a censused adoption. What remains under -177 is the eligibility question alone.
**Awaiting:** Jurist correction of the Q2 mechanism-boundary; steward direction on the two undischarged obligations. The Brown candidate stays staged either way.
## PENDING-178 — The ladder trial counts the fool's chatter as sessions, so its trigger becomes satisfiable for the wrong reason
**Date:** 2026-09-01
**Tag:** [HARDENING]
**Summary:** REVIEWED-95's falsifier and REVIEWED-123 condition 2 both count sessions by counting `*.jsonl` files in `~/.claude/projects/-Users-davidglidden` (`governance-drift-check.py:426,513`). Since 2026-08-25 that directory also receives one transcript per **Tarbuckle mumble** — a status-line-driven generation with one programmatic prompt and one line of output. **Enumerated 2026-09-01: the directory holds 54 files = 43 real sessions + 11 mumbles.** A mumble session cannot reach the verification ladder, cannot exhibit the behaviour the trial measures, and can only ever enter the denominator.
**The defect is the counter's UNIT, and it is distinct from PENDING-147.** -147 names the *window* (30-day rolling, non-monotonic) and the *perishability* of the evidence; both are true and neither is this. Here the population has stopped being sessions. The consequence runs opposite to -147's finding (1): -147 argued the `>= 84` trigger was very likely **unsatisfiable** at ~1 session/day. Mumble transcripts accumulate in this directory whenever the steward works from the home cwd, so the trigger becomes **satisfiable — for the wrong reason.** The ladder freeze that REVIEWED-123 ruled as a bounded hold would then lift on a count that is, at time of filing, 11/54 machine chatter. **No rate and no time-to-fire are offered.** Both were asserted earlier today from a one-day reading and are withdrawn; they should stay withdrawn in the record. What is claimed is the composition of the count on the date of filing, enumerated across every project directory, not sampled.
**A finding DECLINED, recorded here with its argument so it is not rediscovered as a defect.** `TRANSCRIPTS` is scoped to one of **eight** project directories; the machine holds **159** transcripts, and the two largest omitted directories are `--Dev-CapableMind-AI` (55) and `-dotfiles` (45). That is PENDING-171's predicate class — a path fragment standing in for the relation it claims to compute — at a second site, and it has the shape that gets filed. **It is not filed, because it is benign here: 43 of the 44 real sessions ever recorded are in the scoped directory** (the omitted 114 are 115 mumbles less the one real scratchpad session). "The trial sees 34% of the population" is true of *files* and misleading about *sessions*, and stating it without the second sentence would overstate the defect. Recorded as a near-miss so the next reader does not have to re-derive the reason for the silence.
**Options:**
- **(a) Nothing.** The trigger fires early on a diluted count; the freeze lifts on a number nobody meant.
- **(b) Filter by shape at the counting site** — exclude transcripts whose first `user` record is the mumble prompt. Cheap, and the predicate is the fool's own prompt text, which will drift.
- **(c) Write mumble transcripts somewhere else**, so the projects directory means sessions again. Touches the fool's wiring, which is `dotfiles`, on behalf of a governance instrument — the coupling PENDING-152 already notes.
- **(d) Re-express the trigger over a monotonic counter maintained by wake/wrap** — PENDING-147's option (ii), which fixes unit and window together and makes both items discharge on one act.
**Recommendation: (d).** It is the only option that leaves the counter meaning what the ruling needs it to mean rather than repairing the current mismeasurement, and it discharges PENDING-147 (2) in the same act. (b) is the fastest and would do, but it encodes today's fool in a governance gate.
**⚠ NOT BUNDLED, deliberately — there is a SECOND, independent finding about the same mechanism and it is not this item.** Of Tarbuckle's 102 terminal generator results, **54 were rejected against 41 spoken (57%)**, the rejection pile-up sits at **14 words against a `MAX_WORDS` of 9**, and one line returned at 196 words. A generator and its gate disagree systematically and the gate wins without a surfaced record. That is a separate decidable unit; merging it here would reproduce the CLASS E defect PENDING-146 names. **It is unfiled by the steward's cap on this thread, not overlooked, and this sentence is the record that it exists.**
**⚠ Provenance of the numbers.** All counts enumerated 2026-09-01 from `~/.claude/projects/*/` and `~/.claude/state/tarbuckle-{draws,rejects,invocations}.jsonl`. Earlier figures given to the steward in the same session — a "wiring day" attribution, an "~8/day" rate, and a "197 reached the generator" — were **wrong and are withdrawn**; the first was corrected by the steward, the last by the steward's observation that the numbers did not close. `tarbuckle-draws.jsonl` mixes two schemas in one field (`aside`/`notable` are routing hand-offs, not terminal outcomes), which is what produced the third error.
**Files affected:** `scripts/governance-drift-check.py` (`TRANSCRIPTS`, `trigger_fired`); whichever surface a monotonic counter is written from under (d).
**Awaiting:** Steward authorization.