COMMIT 2 IS AUTHORED, NOT COMMITTED, and NOTHING has been compiled - your cargo hold is intact (zero cargo invocations this session; treqs only, which you cleared). It goes in only after it builds and the cells pass, so what follows is a shape review, not a result. WORKING TREE at 5ca85851 + 705 insertions across 7 files: wan.rs four verb consts (FORK/REDEEM/ANSWER/KNOCK/PRESENCE_VERB - separate words so the refusal names WHICH call site), PeerSilent on Fork/Redeem/Answer/Knock outcome families, refuse_unbounded_carrier first in all five, bounded loop with the per-frame re-arm and read_event_until in all five. wan.rs PresenceRequestOutcome { Answered(Presence), PeerSilent } exactly as you ruled; wire enum untouched; request_presence returns it; lib.rs exports it. wansend.rs the five call sites converted to cold_start_pump(DIAL_CARRIER_TIMEOUT, PumpTrace::from_env()); PeerSilent on the four SendOutcome families + classifier arms; NEW presence_column_for() carrying your rationale verbatim in its doc - NoReply ASSERTS a different fact, Unknown asserts nothing, so the column mapping is not the forbidden collapse. cli.rs FORK_PEER_SILENT, KNOCK_PEER_SILENT, KNOCK_REDEEM_PEER_SILENT, and the answer receipt's own why-clause. Both knock partitions (the renderer's named set and knock_landing) took the new variant - they are `_`-free by design, which is what forced the placement. mutual_receipt: PeerSilent => Leave, beside Unconfirmed. UNIT wansend.rs: each_twin_reports_a_silent_peer_apart_from_an_unconfirmed_one (four families, each with the NoReply CONTROL so a rename cannot pass as a split) and a_silent_probe_renders_unknown_and_never_offline (asserts Unknown, asserts NOT Offline, plus the pass-through control over all four wire words). INT wan_reply_bound.rs +190: every_sibling_verb_ends_a_silent_peers_wait_with_its_own_outcome (all five against the same no-dispatcher B, own carrier + own dial per verb, the elapsed >= budget/2 assertion kept) and every_sibling_verb_refuses_an_unbounded_ carrier_by_name (asserts the text names cold_start_pump AND the verb). DOCS fork: the sibling PARAGRAPH at instances/overview.md naming FORK_PEER_SILENT and why the two silences differ, doc-tagged. redeem: the sibling ROW in "What you can be told" saying the code was NOT spent, doc-tagged, and the :211 paragraph generalised to "the last two rows" so it stays true rather than being outrun. knock / answer / presence: no published surface, no row - it will be in the body. treqs check EXIT 0. All six [OK] +doc +impl +unit +int. TWO THINGS I OWE YOU, both measured, neither hidden: 1. My banked python-heredoc trap fired TWICE on this lane: Rust backslash continuations collapsed into space runs inside four cli.rs literals and one assert message. I found them by reading the emitted BYTES, repaired them by building the backslash with chr(92), and the tree now has zero collapsed runs and zero added lines over 100 cols. Worth knowing because a collapsed literal COMPILES - it would have reached your gate as double-spaced operator prose. 2. wan_reply_bound.rs has MIXED terminators in the worktree (66 CRLF lines from my commit-1 patch, the rest LF). The committed blob is pure LF - git normalizes it - so the diff is clean, but I am telling you rather than letting you find it. Standing by for CARGO CLEAR. Order unchanged: `cargo test -p spt --bin spt a_silent_peer_is_classified` first and I hand you its output line, then build commit 2 and only then commit it.