Follow-up to #381.
#381 fixes the Mutation Testing gate to read the path cargo-mutants actually
writes, and re-baselines MAX_MISSED from 142 to the measured 210.
That is a raise, and it should be uncomfortable. It is honest only because 142
was never in force — the gate read a non-existent path for four months, so no
value it held was ever enforced. 210 is the first number this gate has ever
actually checked against. But the direction of travel is wrong and this issue
exists so that is not quietly accepted.
Measured baseline
main @ cd4d429, run 30563879100, artifact mutants-report:
| outcome |
count |
| missed (survived) |
210 |
| caught |
603 |
| unviable |
793 |
| timeout |
2 |
| total mutants |
1608 |
Against 813 viable mutants (caught + missed), that is a 74.2% kill rate.
History
- 5d6d98a (2026-03-22): "Current survivors: 142 (down from 220)." — hand-measured.
- today: 210.
The ratchet was written to walk 142 → 0. Unenforced, it drifted 142 → 210.
Work
Walk MAX_MISSED back down, lowering the constant with each batch of tests so
the ratchet can never re-loosen:
mutants-out/mutants.out/missed.txt in the job artifact lists every survivor
with file, line, and the exact mutation, so each step is a concrete work-list
rather than an aspiration. The 793 unviable mutants are also worth a look — an
unviable mutant is one whose mutated form does not compile, which is usually
fine but can also indicate a mutation operator that never meaningfully applies to
this crate.
Do not raise this number again. If a change would push survivors above the
threshold, the change needs tests, not a bigger constant.
Follow-up to #381.
#381 fixes the
Mutation Testinggate to read the path cargo-mutants actuallywrites, and re-baselines
MAX_MISSEDfrom142to the measured210.That is a raise, and it should be uncomfortable. It is honest only because
142was never in force — the gate read a non-existent path for four months, so no
value it held was ever enforced.
210is the first number this gate has everactually checked against. But the direction of travel is wrong and this issue
exists so that is not quietly accepted.
Measured baseline
main@cd4d429, run 30563879100, artifactmutants-report:Against 813 viable mutants (caught + missed), that is a 74.2% kill rate.
History
The ratchet was written to walk 142 → 0. Unenforced, it drifted 142 → 210.
Work
Walk
MAX_MISSEDback down, lowering the constant with each batch of tests sothe ratchet can never re-loosen:
mutants-out/mutants.out/missed.txtin the job artifact lists every survivorwith file, line, and the exact mutation, so each step is a concrete work-list
rather than an aspiration. The 793 unviable mutants are also worth a look — an
unviable mutant is one whose mutated form does not compile, which is usually
fine but can also indicate a mutation operator that never meaningfully applies to
this crate.
Do not raise this number again. If a change would push survivors above the
threshold, the change needs tests, not a bigger constant.