Say what these two empty registers are worth, not what the tree used to lack - #407
Merged
Merged
Conversation
…to lack .github/lint/excluded-lints and .github/thread-detector/suppressions each say they hold no entry and give a reason: that there is almost no code here, and that the suite holds nothing that takes a lock or shares a value across threads. Both registers are still empty and both refusals still hold; the reasons are what have gone. Read at a194071, src/ carries 46 files and 17,200 lines that are neither blank nor a whole-line comment, and seventeen files under src/ and tests/ take a lock, hold an atomic or spawn a thread. Each paragraph now gives the reading the tree answers with, anchored to a commit the way .github/codeql/excluded-rules already anchors its own, so the next file to land does not make either of them wrong again. Each also says what it claimed before, and the two say it differently because the two defects are different. The lint sentence was true on 2026-08-25, when src/ held nine files and 238 lines, and drifted. The detector sentence never held: at the commit before the one that wrote it, src/measurement/mod.rs already declared a shared AtomicU64 and its test module already took a Mutex, and the change that wrote the paragraph did not open that file. Those are different defects and a register header is the only place the distinction survives, so it is named rather than flattened into the other one. It prevents an empty debt register reading as worthless. Each file says of itself that a line in it is a debt rather than a dispensation, so what its emptiness is evidence of matters. Empty beside "there is almost no code here" is something a reader discounts; empty over 17,200 lines is a statement about the gate, and both files were giving that statement away. Found by re-reading the paragraph in each register against the tree it describes. No rule, fixture, threshold or setting of either leg changes, and both registers stay empty. Closes #406 Signed-off-by: Nils Lehnen <30603423+iderex@users.noreply.github.com>
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.
The issue this belongs to
Closes #406
What changed
The paragraph in
.github/lint/excluded-lintsand.github/thread-detector/suppressionsthat explains why each register is empty nowgives a reading of this tree, anchored to a commit, instead of an absence of code.
Each also says what it claimed before, and the two say it differently, because the
lint sentence drifted and the detector sentence never held.
Both registers stay empty. No rule, fixture, threshold, expression or setting of
either leg changes, and neither script's parser sees anything new: every added line
is a comment.
What failure it prevents
An empty debt register reading as worthless. Both files say of themselves that a
line in them is a debt rather than a dispensation, so what their emptiness is
evidence of is the thing a reader takes away. Empty beside "there is almost no code
here yet" is something a reader discounts. Empty over 17,200 lines of code that the
analyser found nothing to excuse in, and over seventeen files that take a lock or
share an atomic that the detector found nothing to suppress in, is a statement
about the gate. Both files were giving that statement away.
This is a correction and the failure has already happened. What was wrong is the
reason each paragraph gives. How it was found: by re-reading the paragraph in each
register against the tree it describes, after the same class of stale claim was
repaired in #404.
Evidence
Read at
a194071f3207d3903f6b40e27feef80aa1ad3d9a, which is the base of thisbranch, and the head being pushed is
51a2d01.The two paragraphs as they stood.
Every number written into the two files.
The 17,200 drops blank lines and whole-line comments, so it counts lines that are
neither. It is a floor for what the analyser read, not a measure of it.
That each register is still empty, which is the half of each sentence that
survives.
That both legs are green at the commit the two readings are anchored to, which
is what makes an empty register a statement rather than a silence.
The lint sentence was true and drifted.
Nine files and 238 lines at that commit, counted above, against 46 files today.
The detector sentence never held.
The first of those is the commit BEFORE the paragraph landed, and the third shows
that the change writing the paragraph did not open that file.
The sibling whose form the two now take.
Both register parsers still hold, run at this head.
The paths this change touches.
The means. The change is prose inside the comment header of two register
files, in the format those files already are. It adds no language, no runtime and
no dependency.
What this does not cover
analyser looking for one, and both registers are still empty after this change.
.github/codeql/excluded-rulesand.github/format/unformatted-paths. Theycarry the same paragraph. The first is already anchored and the second's reason
still holds today; both are read in Two debt registers explain their emptiness by an absence of code the tree no longer has, and one of the two never had it #406 and neither is edited here.
behaves differently because of this change. Nothing here adds or edits a guard,
so this pull request has no section showing one bite.
docs/decisions/0113-the-target-triples-the-gate-compiles-for.md. It is prosein a landed record, and whether such a sentence going false because the tree
moved is inside 0269's subject is the decision 0001 says no check reads a decision record and pastes five workflow files, and a check over docs/decisions/ has run since 2026-09-02 #380 is waiting on. I moved none
of it.
emptiness. That is a sweep of one paragraph rather than of the two files.
selftestverbs above on thismachine and nothing else. Whether the rest of the gate passes is what this pull
request's own runs report, and I have not predicted them here.
Who has read it
Nobody other than the author has read this change. There is no second reader on
this board tonight, and the evidence above stands in place of one rather than the
question being left open.