Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions CHANGELOG/2026.299.0822.md
Original file line number Diff line number Diff line change
Expand Up @@ -51,6 +51,8 @@ $ grep -n 'FAIL:' .github/scripts/test_check_dependency_advisories.py .github/sc

Both harnesses now carry the marker on **both** failure paths, and the marker is asserted by a test that can fail — the harness itself, whose every mutant must turn the self-test red. **Nothing asserts on these messages; they are read by a human.** The gate's *outcome* is unchanged: five mutants per harness, every one still turning the self-test red on the case that covers the mechanism it removes.

**Correction (opencharly/docs#193).** The clause *"the marker is asserted by a test that can fail"* above is **false**, and the sentence right after it says so. Nothing asserts on the `FAIL:` marker: the mutation harness asserts that a mutant turns the **self-test** red — on the case that covers the mechanism it removes — and no CI step greps for the prefix, so the marker is a **human-facing** convention that makes the two failure paths of one tool read alike in a log. The **code** is unaffected by this note, and the change's central property is unchanged and still proven: every mutant in each harness turns the self-test red, five per harness, ten in total. This correction is appended rather than written over the sentence above, so the two can be read beside each other; the merged PR body carries the same text and is left standing for the same reason.

**Rebutted — the missing `timeout=`.** The validator notes that the harness's `subprocess.run` calls carry no `timeout=`, and calls it harmless. It is, and adding one would be a **regression in the failure mode**:

- the step already carries a deadline, and this repo's own gate asserts that every step does (5 min for the step-deadline harness, 10 min for the advisory one), so the set of child processes is bounded;
Expand Down
Loading