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

4.8 KiB

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.