Skip to content

blog: the auditor made the mistake it audits - #872

Merged
gHashTag merged 1 commit into
mainfrom
blog/auditor-mistake
Aug 23, 2026
Merged

blog: the auditor made the mistake it audits#872
gHashTag merged 1 commit into
mainfrom
blog/auditor-mistake

Conversation

@gHashTag

Copy link
Copy Markdown
Owner

Eleventh post in the CI-gates series, and the first about the tool rather than the gates.

A mutation tool took the gate suite from four gates with no negative control to none, and from twenty surviving mutants to zero. In the same week it made, three separate times, the exact defect it exists to find — a checking function covered by tests, and the wiring from it to the answer not.

  • --invert shipped, merged, published a number, and never ran. The enum variant was declared and documented, invert_sites() was written and unit-tested, and nothing joined them. Ten unit tests passed with the bug present; each exercised one function or the other, none crossed between them. What made it stand was that the answer was plausible.
  • The boundary operator's first run counted prose. Quote state was tracked per line, so every > inside a multi-line docstring became a site — 8 of 13 gates, corrected to 5 once triple quotes carried across lines.
  • The equivalence marker took marker + 2 lines against a fifteen-line proof, and named a line in the middle of its own explanation.

And the counter-case, which is the useful one: a limitation whose every clause was true and whose conclusion did not follow, because it reasoned entirely inside the frame of the helper that file happened to be built around.

Both locales. Four receipts. Four open questions, including that "no mutant survives" is not "the gates are correct" — the operators are narrow by construction, and whether the gates check the right properties is a question none of them asks.

Verified in the built bundle before opening: slug present in Blog-*.js, both titles present, three load-bearing numbers present.

Eleventh post in the CI-gates series, and the first about the tool
rather than the gates.

A mutation tool took the suite from four gates with no negative control
to none, and from twenty surviving mutants to zero. In the same week it
made, three separate times, the exact defect it exists to find: a
checking function covered by tests and the wiring from it to the answer
not.

- --invert shipped, merged, published a number, and never ran: the
  variant was declared and documented, invert_sites() written and
  unit-tested, and nothing joined them. Ten tests passed with the bug.
- the boundary operator's first run counted every `>` inside a
  multi-line docstring: 8 of 13 gates, corrected to 5.
- the equivalence marker took marker+2 against a fifteen-line proof.

And the counter-case: a limitation whose every clause was true and whose
conclusion did not follow, because it reasoned inside the frame of the
helper the file happened to be built around.

Both locales. Four receipts (#2500, #2502, #2503, #2504). Four open
questions, including that "no mutant survives" is not "the gates are
correct".

Verified in the built bundle: slug present, both titles present, three
load-bearing numbers present.
@gHashTag
gHashTag merged commit cd314e2 into main Aug 23, 2026
13 of 16 checks passed
@gHashTag
gHashTag deleted the blog/auditor-mistake branch August 23, 2026 05:54
github-actions Bot added a commit that referenced this pull request Aug 23, 2026
blog: the auditor made the mistake it audits (#872)

Eleventh post in the CI-gates series, and the first about the tool
rather than the gates.

A mutation tool took the suite from four gates with no negative control
to none, and from twenty surviving mutants to zero. In the same week it
made, three separate times, the exact defect it exists to find: a
checking function covered by tests and the wiring from it to the answer
not.

- --invert shipped, merged, published a number, and never ran: the
  variant was declared and documented, invert_sites() written and
  unit-tested, and nothing joined them. Ten tests passed with the bug.
- the boundary operator's first run counted every `>` inside a
  multi-line docstring: 8 of 13 gates, corrected to 5.
- the equivalence marker took marker+2 against a fifteen-line proof.

And the counter-case: a limitation whose every clause was true and whose
conclusion did not follow, because it reasoned inside the frame of the
helper the file happened to be built around.

Both locales. Four receipts (#2500, #2502, #2503, #2504). Four open
questions, including that "no mutant survives" is not "the gates are
correct".

Verified in the built bundle: slug present, both titles present, three
load-bearing numbers present.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant