From 8a6360c59e4638507d41bb0efb795a5f778638d3 Mon Sep 17 00:00:00 2001 From: Nils Lehnen <30603423+iderex@users.noreply.github.com> Date: Fri, 18 Sep 2026 11:20:57 +0200 Subject: [PATCH] Name every subsystem that emits an event, not only the cache (#483) 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> --- src/diagnostics/mod.rs | 23 +++++++++++++++++------ 1 file changed, 17 insertions(+), 6 deletions(-) diff --git a/src/diagnostics/mod.rs b/src/diagnostics/mod.rs index 768913e..f054621 100644 --- a/src/diagnostics/mod.rs +++ b/src/diagnostics/mod.rs @@ -32,12 +32,15 @@ //! //! # Which events exist today //! -//! The cache's, and nobody else's. [`crate::cache::bound`] emits one when a full -//! device suspends writing and one when artwork gives way to metadata, and -//! [`crate::cache::envelope`] emits one when an entry is dropped for failing its -//! check. Which names those are is read out of the tree rather than listed here, -//! because a list in this module goes stale against the modules that declare -//! them: `git grep -n 'EventName::declared' -- src/`. +//! The cache's, the write queue's and the session's. [`crate::cache::bound`] +//! emits one when a full device suspends writing and one when artwork gives way +//! to metadata, [`crate::cache::envelope`] emits one when an entry is dropped +//! for failing its check, [`crate::server::write_queue`] emits one when an +//! overflow drops the oldest entry, and [`crate::session::mid_playback`] emits +//! one when a session can no longer report a position. Which names those are is +//! read out of the tree rather than listed here, because a list in this module +//! goes stale against the modules that declare them: +//! `git grep -n 'EventName::declared' -- src/`. //! //! THIS SECTION READ "NONE. NOTHING IN THIS TREE EMITS ONE, BECAUSE NO SUBSYSTEM //! THAT WOULD IS BUILT." It was true on 2026-08-26, when it landed, and stopped @@ -47,6 +50,14 @@ //! refuted, which is the milder of the two states and is worth saying in those //! words. #442 is where it was found. //! +//! IT THEN READ "THE CACHE'S, AND NOBODY ELSE'S", WHICH IS THE OTHER OF THOSE +//! TWO STATES. The session declared and emitted its event on 2026-09-03 and the +//! write queue on 2026-09-04, and the sentence denying them landed on 2026-09-18 +//! as the repair recorded above, so it landed refuted rather than going stale. +//! The command this section already hands a reader returned both of them on the +//! day that sentence was written, which is what makes this the harder of the two +//! to defend. #483 is where it was found. +//! //! THAT SENTENCE ALSO SENT A READER TO [`crate::session`] FOR THE SAME SENTENCE, //! AND NOTHING OF THAT SHAPE IS IN THAT MODULE. The pointer is deleted rather //! than repaired, because what it pointed at cannot be found to repair.