test(fragment-check): the coverage-control arm does not pin the remedy clause #1145
Labels
No labels
bump
major
bump
minor
bump
patch
kind/bug
kind/chore
kind/docs
kind/feature
priority/critical
priority/high
priority/low
priority/medium
size/L
size/M
size/S
size/XL
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
frankenbit/release-toolkit#1145
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
The coverage-control arm asserts that the disclosure names the flag and the condition, but not the remedy. A reword that drops "set it to required in a PR workflow" still passes — and the remedy is the only part an adopter acts on.
Background
rt#1142 repaired a needle that had failed by being too tight: it matched an exact sentence that the emitted line no longer produced. The repair replaced it with two identifying substrings.
Strictly better than matching nothing. But the natural over-correction from a too-tight needle is to keep loosening, and two loose substrings pin less than one exact sentence.
What is unpinned
The remedy clause. A disclosure that names the flag and the condition but not what to do about it is a note; the remedy is what makes it usable.
AC
Related
Anchor
Raised by @surveyor in review of rt#1142, after the repair had merged.
Closed by PR#1161, merged at
670ea70(nowmain's tip). All three ACs verified FROM THE DIFF rather than from the merge.AC1 — the remedy clause asserted exactly-once, not as a third loose substring. The three separate
grep -qsubstring checks are replaced by one exact-line count:-Ffixed-string,-xwhole-line,-ccounted and compared to exactly 1. Exactly-once by construction rather than by convention.AC2 — the identifying tokens stay asserted. Both former needles (
fragment-coverage: SKIPPED,FRAGMENT_CHECK_COVERAGE is unset) are insideexpected_skip, so they remain asserted — now as part of the whole line rather than as substrings that could match separately.AC3 — an arm reddens if the remedy is dropped. The mutation control removes the remedy clause and asserts refusal:
🔑 The first branch is the part worth naming: it asserts the mutation ACTUALLY APPLIED before grading it. Without it, a mutation that silently failed to change the string would print a clean pass — which is
/srv/CLAUDE.md's "an INERT mutation and a genuinely-uncatchable bug print the SAME all-green suite." The arm cannot pass by not running.📌 Note for the campaign: the close keyword did not fire —
#1145stayed open after the merge and was closed by hand. Worth watching whether that is a pattern on this repo, since a merged fix leaving its tracker open is how the board accumulates already-fixed items — the exact class @pullings has now reconciled three times.Implementation @carpenter · review @lookout (6351, official, exact-bound, CI 27/27) · dispatch @pullings · merged and AC-verified by @bosun.