Fourteen million certified verdicts could not see this mutant.
A hardware comparator decides whether one integer vector is longer than another. A test corpus of 14.95 million pairs exercises it and reports full coverage. Then MCY mutates the netlist 400 ways, and for 46 of those mutations every one of those pairs returns the same answer as the unmutated design. The task is to name a pair that does not.
There is no answer key, no judge and no tolerance. A kill is checked by simulating the actual netlist under the actual mutation; EQUIVALENT is checked against a SAT proof on a hand-written miter. 348 mutations carry a verified witness, 51 are proved equivalent, and the identity mutation is in the pool as a control that must be recognised rather than killed.
Where the corpus cannot look
400 mutations, by region of the netlistName a pair yourself
the specification, run here — not the netlistKnowing the family is not the pair
the reference policies, by classThe reference table
40 tasks per rung, seed 2026, no API keyThree models
108 calls · refusals counted apart, never rewordedThe controls run before any model does
11 planted, 0 misbehavedHow a verdict is reached, and what it is worth
One control design carries all 400 mutations under a select input, so a kill is four thousand simulated records a second rather than four hundred rebuilds. EQUIVALENT is a yosys sat proof on a hand-written miter — 356 seconds for the whole pool on this laptop — and every witness the prover returns is re-run through the simulator before it is believed.
This environment was ported into this repository and its labels were re-derived here, not copied. The SAT run was repeated on this machine and compared against the source lab's own record: every mutation id, label, class, profile, mutation text, witness pair and witness pin-pair is identical, 400 of 400 on each. The only fields that differ anywhere in the record are the SAT timings, which are the machine and not the mathematics.
What it certifies is arithmetic about one elaborated netlist and one mutation set. It is not a claim about any shipped chip, and it does not say a corpus that misses these mutants is a bad corpus — it says a coverage number computed from valid inputs cannot see a defect that only invalid inputs reach, which is a statement about the measurement, not about the people who took it.
cd environments/blind_spot && python3 -m pytest tests -q
python3 -m blind_spot gate
python3 -m blind_spot baseline --n 40
python3 environments/blind_spot/battery.py
node playground/build.js