ci: say what the offender listing is, and how to find the new one - #893
Open
fujibee wants to merge 1 commit into
Open
ci: say what the offender listing is, and how to find the new one#893fujibee wants to merge 1 commit into
fujibee wants to merge 1 commit into
Conversation
Four people read this checker's output on one red tonight and each drew a different wrong conclusion: the first file in the list taken as the cause; a hundred-line difference between two heads read as a hundred new offenders; and from that, a guess that the listing must be truncated. It is not truncated. Measured with the baseline forced low: 638 reported, 638 printed. The list is complete, unordered by novelty, and unlabelled -- so on a `+1` it is 639 lines with nothing marking the one that matters. The hundred-line diff was line numbers shifting below an insertion. Now the header carries the delta, and four lines say what the list is and what does work: bisect on the count. Comparing listings does not, and that is stated rather than left to be rediscovered. No state is added. Storing the previous offender set beside the count would let this name the new entries outright, but it is a second thing to keep in sync with the first, and a listing that disagrees with its count is the same confusion in different clothes. The count stays the only authority; the output stops implying otherwise. Verified at +1, +2, +9, at the baseline, and below it.
fujibee
force-pushed
the
ci/say-what-the-listing-is
branch
from
August 19, 2026 16:23
e1a7513 to
86da88f
Compare
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.
CI only. One file,
.github/scripts/check-enforced-assertions.sh. No product change, and no change to what passes or fails.Why
Four people read this checker's output on one red tonight, and each drew a different wrong conclusion:
Everyone eventually arrived by the same route — run the checker at each commit and watch where the count changes — and nothing in the output suggests it.
What was measured
The listing is not truncated. With the baseline forced low:
It is complete, unordered by novelty, and unlabelled. On a
+1that is 639 lines with nothing marking the one that matters. The hundred-line diff was line numbers shifting below an insertion, not new entries.The change
Deliberately no new state
Storing the previous offender set beside the count would let this name the new entries outright. It also introduces a second artifact to keep in sync with the first, and a listing that disagrees with its own count is the same confusion wearing different clothes — on a checker four people just misread. The count stays the only authority; what changes is that the output stops implying otherwise.
If the stored-set version is wanted later, #892 has the argument for it.
Verified
At
+1,+2,+9, at the baseline, and below it. The pass and below-baseline paths are untouched and still read as before.