Give the diagnostic events the address they have in this tree, not one on the tracker (#491) - #492
Merged
Merged
Conversation
…e on the tracker (#491) Three doc comments in the library located the diagnostics interface at `#100`: `Kind` in `src/failure/mod.rs` said 0004's reversal condition is read off "the diagnostic events in #100", `WhyTheAgeIsUnreadable` in `src/cache/freshness.rs` said a diagnostic "under #100" could report which way a clock is wrong, and `Refused` in `src/artwork/format.rs` said a diagnostic event "under #100" would carry which check refused. All three now name `crate::diagnostics`, which is the module that holds the interface, the event, the field and the sink. What that prevents is a reader going to the tracker for a facility they already have open. Somebody reading `Kind` is there to find out how a failure is counted, and the paragraph sent them to an issue that closed as completed on 2026-08-26. The same move sent a reader of a clock failure and a reader of a refused image format to the same closed issue. None of the three went stale. `#100` closed on 2026-08-26, the commit that built the interface landed the same evening, and all three sentences landed on 2026-08-28 - two days after both. So each landed refuted rather than going stale, which is the harder of the two states to defend, and the correction at each site says so in those words, in the shape those paragraphs already use for their own corrections. The conditional stays conditional where it was right. Neither the cache freshness module nor the artwork format module emits an event today, so what a diagnostic COULD report and what one WOULD carry are still the moods to write those two sentences in. Only the address moved, and each correction says that is the half that moved. `src/diagnostics/mod.rs` is not touched. It names `#100` beside the record `0100` as the issue that decided the module, which is provenance rather than an address, and it is the one correct use of the number in `src/`. Everything else in the three paragraphs is kept. `Kind` still exists so a failure can be counted without every site matching fifteen variants; there are still two reasons an age is unreadable because 0102 names two devices; a refusal is still one kind from 0004 and is still not the absent answer in `#51`. It was found by reading every issue number this tree names outside `docs/decisions/` against the state of that issue on the tracker. Nothing else moves. No behaviour, signature, variant, bound or event. Closes #491 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 #491
What changed
Three doc comments in the library stop locating the diagnostics interface at
#100and namecrate::diagnostics, which is the module that holds it.Kindin
src/failure/mod.rssaid 0004's reversal condition is read off "thediagnostic events in #100";
WhyTheAgeIsUnreadableinsrc/cache/freshness.rssaid a diagnostic "under #100" could report which way a clock is wrong;
Refusedin
src/artwork/format.rssaid a diagnostic event "under #100" would carry whichcheck refused. Each carries a second paragraph recording what the sentence said
and which of the two states it was in, in the shape those paragraphs already use
for their own corrections.
The conditional stays conditional in two of the three. Neither the cache
freshness module nor the artwork format module emits an event today, so what a
diagnostic COULD report and what one WOULD carry are still the moods to write
those sentences in. Only the address moved, and each correction says so.
src/diagnostics/mod.rsis not touched. It names#100beside the record0100as the issue that decided the module, which is provenance rather than an address.
Nothing else moves. No behaviour, signature, variant, bound or event.
What failure it prevents
It is wrong in the direction that reads as covered. Somebody reading
Kindisthere to find out how a failure is counted, and the paragraph told them the
counting is read off diagnostic events and then put those events on the tracker,
so the next thing they open is a closed issue instead of the module beside them.
A reader of a clock failure and a reader of a refused image format were sent to
the same place.
None of the three went stale.
#100closed as completed on 2026-08-26, thecommit that built the interface landed the same evening, and all three sentences
landed on 2026-08-28 - two days after both. So each landed refuted rather than
going stale, which is the harder of the two states to defend, and each correction
says that in those words.
It was found by reading every issue number this tree names outside
docs/decisions/against the state of that issue on the tracker.The means
Doc comments in the Rust source that carries the claim, which is the only means
that puts the correction where the sentence a reader meets is. A record under
docs/decisions/would leave three false addresses standing in the three filessomebody opens to find the answer. No language, runtime or dependency is added,
and the suites that already exist judge the result, because
cargo docresolvesthe three links the change adds.
Evidence
The commit being pushed:
Every site in
src/that names the number, at the parent. Four, and the fourthis the one left alone:
What the three paragraphs said, at the parent:
#100is closed as completed:The module carrying the interface, with the public names a sentence would use:
and the tree already emitting through it, outside that module:
The dates. The interface landed nine minutes before the issue closed, and all
three sentences landed two days after both:
What the three paragraphs say now:
No sentence in
src/gives the interface that address any more. What is left ofthe number is the corrections saying what the three used to do, and the one line
that is provenance:
What the change is:
The two commands the gate runs, at this commit. The build was run first and
exited 0; its own summary line is not pasted, because this board's hygiene check
reads the word in it as a speed claim:
The three links the paragraphs add resolve, which the ordinary build does not
judge:
Four of this board's own legs, run on this machine at this commit:
What this does not cover
docs/decisions/. Every site naming#100outsidesrc/is there, andthe
git grepabove shows the whole ofsrc/. A record is superseded ratherthan edited in place, which
docs/decisions/0001-decision-records.mdfixes, sonone of them is touched and nothing is claimed about them in either direction.
src/diagnostics/mod.rsandsrc/diagnostics/redaction.rs. They are readas evidence and not edited.
Whether any of the three modules should emit an event. That is a question
about behaviour and it is not asked here. This change moves no code, and the
two conditional sentences stay conditional for that reason.
Every other reference to a closed issue in
src/. Only#100is examined,and nothing is claimed about the rest of the numbers this tree names in either
direction.
A check that would refuse this. Nothing in this tree reads a doc comment's
pointer against the state of the issue it names, and the document check reads
only
.mdfiles. This adds no rule, so the next sentence of this shape iscaught by a reader or not at all.
The shell analysis. It was not run on this machine, because the analyser is
not on this machine's path:
What the run on this pull request reports is the reading, and nothing is
claimed for it from here. This change touches no shell file.
Who has read it
Nobody other than the author. There is no second reader on this board tonight,
and the readings pasted above stand in place of one rather than a review having
happened.