blog: the scanner scored what it could not see - #870
Merged
Conversation
Ninth post of the gate-audit campaign. A mutation tool reported a gate as having no failure path to break; the gate has four, all ternaries, and the scanner matched only a bare return. Carries the part that matters more than the fix: repairing the instrument RAISED the survivor count 13 -> 20, the second time in this campaign that mending a measurement made the number look worse and be truer. And the asymmetry behind the conservative digit test -- a missed site stays an open question, an invented one gets published as a defect in somebody else's work, which this tool had already done once. en + ru. build:ci clean, tsc clean on the blog data, typecheck ratchet reports no file gained errors. Refs gHashTag/t27#2468, gHashTag/t27#2470
github-actions Bot
added a commit
that referenced
this pull request
Aug 22, 2026
blog: the scanner scored what it could not see (#870) Ninth post of the gate-audit campaign. A mutation tool reported a gate as having no failure path to break; the gate has four, all ternaries, and the scanner matched only a bare return. Carries the part that matters more than the fix: repairing the instrument RAISED the survivor count 13 -> 20, the second time in this campaign that mending a measurement made the number look worse and be truer. And the asymmetry behind the conservative digit test -- a missed site stays an open question, an invented one gets published as a defect in somebody else's work, which this tool had already done once. en + ru. build:ci clean, tsc clean on the blog data, typecheck ratchet reports no file gained errors. Refs gHashTag/t27#2468, gHashTag/t27#2470
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Ninth post of the gate-audit campaign, and the third in a row where the defect was in the instrument rather than in what it measured.
A mutation tool reported
pack_index_consistency_gate.pyas having no failure path to break. The gate has four. All are ternaries —return 0 if not fails else 1— and the scanner matched only a barereturn 1. A path it cannot see is a path it scores as covered.Across twelve gate scripts: 34 seen, 8 missed.
The post's centre is not the fix. It is that repairing the instrument raised the survivor count from 13 to 20 — the second time in this campaign that mending a measurement made the number look worse and be truer (the first was an elaboration ratchet where removing syntax errors increased the error total, because a syntax error truncates the file and hides what is behind it). Both times the instinct is to distrust the repair.
It also names the asymmetry behind the deliberately conservative digit test: a missed site stays an open question, an invented one gets published as a defect in somebody else's work — which this tool had already done once, in an issue and a post, before anyone checked it.
And it lays the three defects side by side: first flag instead of the set, a 1:1 control map, one syntactic form. All the same class, all in the auditor.
en + ru.
build:ciclean fromapps/website,tscclean on the blog data, typecheck ratchet reports no file gained errors.Refs gHashTag/t27#2468, gHashTag/t27#2470