Files
dotfiles/claude/governance/fool/census-02-have-they-ever-fired-PREREGISTRATION.md
T
David F GliddenandClaude Opus 5 3a1790dcd6 docs(governance): census 02 — has each instrument ever fired? + PENDING-95..98
Closes the scope gap census 01 declared for itself: the seven instruments it
named as uncensused. Pre-registered before any source or config was read,
with predictions and a discrimination condition.

Census 01 asked whether an instrument had a real negative instance — a
question about CAPABILITY. Census 02 asks whether it has ever engaged in
real life. Those come apart exactly at the drift-checker's shape, and
2026-08-04 found the gap six times (retrieval_count = 0 across 19,915 nodes
for four months; two replay modules that have never processed an event).

VERDICT: every instrument a human runs by hand has a rich firing record;
every instrument that runs by itself has none — and the two guarding the
engine's output have no consumer at all. The record divides by whether a
human is in the invocation path, not by age, quality, or importance.

verify-before-compose fired exactly twice (2026-07-17, 2026-07-18), evidence
surviving only in harness transcripts; and it CANNOT fire on 31 of 59 guarded
files, including the live constitution, because it folds the existing file's
contents into its search for the attestation. audit_cruft, verify_conversion
and apply_char_glyphs are exemplary. resolve_archived_source is healthy at
349/349 and has zero log entries. studium verify-quote and
fidelity_equivalence@2 have no production call site at all.

Prediction 5 inverted for the second census running, for a new reason.
Census 01: decay, not construction, is the failure mode. Census 02: the
recording is attached to the human, so an instrument's record vanishes the
moment it is automated — which is when it starts running often enough to
matter.

Two of my own candidate findings died to their controls and are recorded as
such: probing the resolver with engine source_ids against the chamber's
canonical_slug key space (one sentence from "the resolver is inert"), and
reading character_as_image at the wrong YAML nesting (nearly "zero glyph
maps declared"; there are two sources and a 63-item census).

Filed together: PENDING-95 [HARDENING] the hook cannot fire on the
constitution · PENDING-96 [HARDENING] "SILENCE — ✓ warranted" certifies the
index and claims the answer · PENDING-97 [PROPOSAL] FTS AND-s bare tokens
with no semantic layer, recall dies as questions lengthen · PENDING-98
[HARDENING] firing history exists only where a human invokes.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01WuMjg3ipEVa3n8CoSzoyvc
2026-08-04 17:10:40 +02:00

69 lines
4.8 KiB
Markdown

# Census 02 — Has each instrument ever produced a positive result?
**Pre-registered:** 2026-08-04, before reading any of the seven instruments' source or config.
**Origin:** the literal question left by the 2026-08-04 wrap, closing the scope gap census 01 declared for itself.
---
## The question
Census 01 asked: *does each instrument have a real negative instance to test against, and is its absence recorded?* That is a question about the instrument's **capability**.
2026-08-04 found something one level more basic, six times over: an instrument can pass every check ever run against it while never having fired at all. `retrieval_count = 0` across 19,915 nodes for four months. `coherence_evaluated = 0` of 813,178 chains. `ANALYZE` never run in four months. Three of five `governance-drift-check.py` families inert. Two L1 replay modules that have never processed a single event — pinning the resume floor at zero and making every restart a full rebuild.
So, of each instrument: **has it ever produced a positive result — ever actually fired, matched, blocked, or caught something in real use — and does a record exist that could tell us either way?**
An instrument can be DEMONSTRATED at build time (census 01's gold standard) and inert ever since. That is not a hypothetical; it is precisely the drift-checker's shape.
## Unit of census
The seven instruments census 01 explicitly declared **out of scope**, censused entire:
1. `verify-before-compose` (the PreToolUse hook)
2. `audit_cruft`
3. `verify_conversion`
4. `resolve_archived_source`
5. `apply_char_glyphs`
6. studium-engine `verify-quote` V1
7. `fidelity_equivalence@2`
## The test applied to each
**Two independent axes, recorded separately.** Conflating them is the error this census exists to avoid — "it works" and "we can tell that it works" are different claims.
- **Axis A — engagement.** Is the instrument currently reachable? Does its trigger condition still match the substrate as the substrate now stands? Answerable from source and config.
- **Axis B — firing record.** Does any durable record exist that would show a positive firing? Answerable by grep. A session transcript is not a durable record; a governance file, a log, a committed artefact is.
Four outcomes:
- **FIRED-RECORDED** — a durable record names a real occasion on which it fired.
- **FIRED-UNRECORDED** — it demonstrably *can* fire and prose or memory attests that it did, but no durable record exists.
- **INERT** — its trigger cannot currently match. It reports success by never engaging.
- **UNDETERMINED** — cannot be settled on either axis. Reported as unclassifiable, not dropped.
## Predictions (recorded before the read)
1. **`verify-before-compose` is currently LIVE and has fired at least once.** ~0.75. Basis: `MEMORY.md` carries the standing preference *"Don't fight the block"* — which reads as a lesson earned by being blocked. That is prose attestation, not a record.
2. **No durable firing record exists for `verify-before-compose`.** ~0.85. A PreToolUse hook blocks by exit code and stderr; the trace lands in a session transcript, which nothing reads.
3. **At least one of the seven is INERT** — its trigger has drifted from the substrate it watches. ~0.6. Basis: census 01's prediction-5 inversion (decay, not construction, is the failure mode) compounded by six instances found on 2026-08-04.
4. **The chamber-library tools (`audit_cruft`, `verify_conversion`, `apply_char_glyphs`) are FIRED-RECORDED**, via `_curation/tool-evolution-log.md`. Only ~0.5 — *the log exists* and *the log records firings* are different claims and I have checked neither.
5. **Overall skew: FIRED-UNRECORDED dominant.** The instruments work; the record of their working does not exist.
## The census's own discrimination condition
A single instrument cannot discriminate anything. This census discriminates only if, across the seven, **both** a FIRED-RECORDED and an INERT (or FIRED-UNRECORDED) instance appear.
If all seven land in one bucket, the census has discriminated nothing and must be reported as such rather than as a result.
If the skew comes out opposite to prediction 5 — mostly FIRED-RECORDED — **the first hypothesis to test is that I accepted a weak record as a firing record**, not that our instruments are unusually well recorded.
## Falsifier for the central claim
For any instrument reported as having fired: **name the occasion and the artefact.** If I cannot name them, the verdict is FIRED-UNRECORDED at best. *"I remember it firing"* is not a record — it is the thing this census is trying to tell apart from a record.
## Stopping rule
Complete when all seven are classified on both axes. Unclassifiable members reported as unclassifiable.
**Order of execution:** `verify-before-compose` first — it is the only one of the seven that gates *steward-facing writes*, so silent inertness is worst there.