I had only used one repo's per-category survival table plus the other's
aggregate numbers, and had not looked at the shipping repos' fix history at
all. Reading all 105 planted bugs per-bug, and four weeks of real fixes,
changed four things.
Taxonomy is now thirteen lenses:
- Lens 10 (representation and information loss) is promoted to the
highest-frequency class in every corpus and given three named sub-shapes:
the nullish family (pending/absent/empty/zero/false/failed collapsing into
each other), projection and field-set drift (a producer quietly stops
emitting a field, consumers degrade instead of failing), and unresolved
values stored as resolved ones. Plus the cast/any/suppression tell - an
annotation on a boundary marks where two sides disagreed and someone
silenced the compiler.
- Lens 12 gains reachability: a predicate nothing can satisfy, a handler never
wired, a scheduler never started. Reads as correct code; common in the wild.
- Lens 13, verification and observability, is new: the check that cannot fail,
the oracle measuring the wrong thing, the effect whose absence nothing would
notice. It carries a note on WHY it is new - a planted defect is detectable
by construction, so silent failure is systematically absent from planted
corpora and heavily represented in real fix histories. A checklist trained
only on planted bugs will never prompt you to look here.
Refutation gains "absorption is not prevention": a cache that usually holds, a
retry that usually succeeds, a default that is usually right - none of those
refute a finding, they postpone it. Drop only on a mechanism that makes the
execution impossible. Corollary: "works nearly always" describes a race.
Parallelism gains two constraints:
- One model. Fan-out is for coverage, not a second opinion; workers run the
coordinator's model. A single foreign worker makes a measured result
unattributable. The independent second-model pass stays where it belongs,
as an explicit /ship-check step.
- Read-only workers. Read, search, navigate - no writes, edits or mutating
commands. A worker that can edit drifts from reviewing into silently fixing,
and the tree must end identical to how it started or findings cannot be
checked against it.
Co-Authored-By: Claude Opus 5 (1M context) <[email protected]>
Claude-Session: https://claude.ai/code/session_01G42vsxSKL7je39AsHZ5aJm