The defect class WORK-QUEUE.md:8510 names in one sentence -- "a token quoted without its class ... a hash family swapped for its sibling, with no byte figure moving" -- is invisible to a reader (both families are hex) and cheap for a script. tools/citation_hash_class.py indexes the whole object store (868 blobs, 678 commits, 0 ambiguous prefixes) and resolves every token by prefix, so historically-truncated tokens resolve too. Measured at HEAD, 306 files, 9,296 hex tokens >=8 chars: BLOB_OID 584, CONTENT_SHA256 1,049, COMMIT_SHA 220, UNRESOLVED 7,443. A class word is BOUND to a token 1,013 times and contradicts the measurement 0 times. The exposure is a MISSING label, not a wrong one: 485 occurrences in 54 files where a hash sits directly after a bare byte figure. Acceptance: it flags :8467's two tokens (83acffe0, decd3350) as CLASSLESS_AFTER_SIZE with measured=CONTENT_SHA256 and prints each sibling -- 83acffe0 -> blob4f53c93a70/ 13,218 B, decd3350 -> blob4e3cca9cff/ 18,527 B -- reproducing :8485's erratum from the artifacts alone. :8485 itself flags nothing. Self-test 19 fixtures, 19 passed, 0 failed, rc 0. Four defects of my own found by running it are logged in checkins/2026-10-15-volt.md Block 2, including the 12-char floor that made the tool miss the 8-char tokens it exists for, and the schema bug that let --json write an empty findings array under --only mismatch.
Check-ins
One file per person per day: YYYY-MM-DD-<handle>.md.
Zeph writes YYYY-MM-DD-zephyrus.md.