Name every subsystem that emits an event, not only the cache - #484
Merged
Merged
Conversation
The `Which events exist today` section of `src/diagnostics/mod.rs` said the events are the cache's and nobody else's. `src/session/mid_playback.rs` has declared and emitted one since 2026-09-03, when a session can no longer report a position, and `src/server/write_queue.rs` since 2026-09-04, when an overflow drops the oldest entry. Both emits are library code, ahead of the first test module in their files. The section now names all three subsystems and keeps naming no event: which names they are is still read out of the tree by the command the paragraph already carries. What that prevents is a reader sizing what a client's sink will receive off the smaller half. The two subsystems the sentence left out are the two whose events say that a person's action was dropped and that a session has stopped recording positions, which are the events a client most needs to be told it will get. The sentence itself landed on 2026-09-18 as the repair of the same section's previous stale claim, and both modules were already emitting when it was written, so this one landed refuted rather than going stale. The section draws that distinction in its own words for the previous instance, so the new paragraph says which of the two this one was rather than repeating the milder word. It was found by running the command the paragraph hands a reader, narrowed to the declarations. Nothing else moves. No behaviour, signature, variant, event name or emitting site. Closes #483 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 #483
What changed
The
Which events exist todaysection ofsrc/diagnostics/mod.rsstops sayingthe events are the cache's and nobody else's. It names all three subsystems that
declare and emit one today, says what each event is about, and keeps naming no
event: which names they are is still read out of the tree by the command the
paragraph already carries. A second correction paragraph records what the
sentence was and which of the two states the section itself distinguishes this
instance had.
Nothing else moves. No behaviour, signature, variant, event name or emitting
site.
What failure it prevents
The section exists to tell somebody which subsystems report through this
facility. It answered with one where the tree has three, and the two it left out
are the two whose events say that a person's action was dropped and that a
session has stopped recording positions. A reader sizing what a client's sink
will actually receive got the smaller half.
This is a correction. The sentence landed on 2026-09-18 as the repair of the
same section's previous stale claim, and both of the modules it denies were
already emitting when it was written, so it landed refuted rather than going
stale. It was found by running the command the paragraph hands a reader,
narrowed to the declarations rather than the mentions.
Evidence
The commit being pushed:
What the section said, at the parent:
The declarations at the parent, narrowed to the declarations rather than the
mentions:
Three of the five are the cache's. Both of the others are emitted in library
code:
ahead of the first test module in each file:
The dates. Both declarations predate the sentence that denies them, which landed
today:
What the section says now:
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 two links the paragraph adds 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
src/server/write_queue.rsandsrc/session/mid_playback.rs. Both areread as evidence and neither is edited. Their declarations, their severities
and their fields stand as they are.
Whether every subsystem that should emit does. Counting declarations says
which subsystems emit, never which ones ought to. That question belongs to the
issue building each subsystem and was not asked here.
The event names. None is written into this file, which is the section's own
rule and the reason it hands a reader a command instead.
The module header's hand-off for what may leave through an event. Line 6 of
this file sends a reader to 0071 and Keep personal data out of logs, errors and anything a person is asked to send #71 and never names the submodule that
answers it. That sentence is not false and is a separate reading.
0100 and 0071. Both records are read and neither is edited. A record is
added or superseded rather than edited in place, which
docs/decisions/0001-decision-records.mdfixes.A check that would refuse this. Nothing in this tree reads a sentence in a
doc comment against the declarations the same paragraph's command returns, and
the document check reads only
.mdfiles. This adds no rule, so the nextsentence of this shape is caught 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.