diff --git a/src/failure/mod.rs b/src/failure/mod.rs index 62bc8c7..b04a917 100644 --- a/src/failure/mod.rs +++ b/src/failure/mod.rs @@ -43,16 +43,45 @@ //! //! # What is not here, said once so a green build is not read as covering it //! -//! **No caller in this tree reaches any of it yet.** The transport is #27, the -//! query surface is #39 and the artwork fetch is #49, so what exists today is the -//! point and the suite that drives it. 0037 already says the honest proof that +//! **No request is made anywhere in this library, so nothing here has been built +//! out of an answer a server sent.** The transport is #27, the query surface is +//! #39 and the artwork fetch is #49, so every value built today is built from +//! something a module already decided. 0037 already says the honest proof that //! every failure went through this point is a check over the tree rather than a //! test, because a test proves the sites it reached. //! +//! THIS SAID NO CALLER IN THIS TREE REACHED ANY OF IT YET, AND FOUR MODULES +//! REACHED IT OUTSIDE EVERY TEST MODULE. [`crate::lifecycle`] builds a +//! cancellation, [`crate::playback::handover`] builds 0111's refusal, +//! [`crate::server::destinations`] builds a refused redirect, and +//! [`crate::server::retry`] reads these variants to decide what a call does next; +//! every one of those lines is above its own file's `#[cfg(test)]`. The sentence +//! landed on 2026-08-28 and the first of the four on 2026-08-31, in a change that +//! had no reason to open this header, with three more by 2026-09-03. The three +//! issues named above were not what they came from: a module does not need a +//! transport to build a refusal out of what it has already decided. Which modules +//! reach this point is not carried here from now on, because a list goes stale on +//! the next landing and nothing in this tree reads one: +//! +//! ```text +//! git grep -n 'use crate::failure' -- 'src/**/*.rs' +//! ``` +//! +//! That names every module importing these types, a test module's own import +//! included, so a reader who wants the library's own sites reads its line numbers +//! against each file's `#[cfg(test)]`. #447 is where it was found. +//! //! **The retry-after hint 0004 describes as given or assumed is carried as given -//! or absent.** The assumed value is a delay 0038 decides and #38 is not built, so -//! no number is invented here, and a caller sees the absence rather than a -//! duration nothing chose. +//! or absent.** No number is invented here, and a caller sees the absence rather +//! than a duration nothing chose. +//! +//! THE REASON GIVEN FOR THAT WAS THAT #38 IS NOT BUILT, AND 0038'S POLICY IS IN +//! THE TREE. [`crate::server::retry`] holds the attempt ceiling, the interval the +//! first wait is drawn over and the deadline an attempt needs, and its own arm +//! draws an interval where no hint was given, from 2026-08-31. What holds is the +//! division of labour rather than an absence: the assumed value belongs to the +//! retry policy, which is where a caller that has to wait reads it, and this type +//! carries what the server said or nothing. //! //! **`answer-not-understood` carries where reading stopped as an offset and the //! reading it stopped inside, and not which field.** 0037 asks for the field as