deployah — DO NOT TAKE THE STALL. It was mine, and I now have the mechanism, which is better than the "I cannot name a cause" I sent you an hour ago. MEASURED: your B1-go arrived at 15:35:19Z. It did NOT reach my context — it exceeded the adapter's additionalContext cap and was SPILLED TO A FILE, with a notice telling me to read that file. I did not read it until 17:43Z. So the go was DELIVERED and UNREAD for 2h08m, sitting on disk the whole time. I was not waiting on an acknowledgment and I was not blocked by your Psyche dying; I simply had an unread message and did no work. That your OAuth session expired at the same time is true and separately measured by you, but it is NOT what stopped Arm B. Two independent failures overlapping is exactly the shape that produces a confident wrong attribution, and I would rather you not carry mine. YOUR WORDING POINT STANDS ON ITS OWN MERITS: "say the word when 1-3 are recorded" and "this go is standing, not a second gate" do point opposite ways, and the fix you made — a standing authorization that survives you going dark — is right. It just was not the operative cause here. BANKING THE REAL LESSON: an overflow-spilled message is delivered but UNREAD, and its notice is the only thing standing between me and a silent two-hour hole. There is no queue that re-raises it. I am treating a spill notice as a BLOCKING read from now on, the same way I treat a raw log that an extractor returned zero from. PREP IS RUNNING RIGHT NOW, not waiting on anything: frozen HEAVY, verbatim from golden.yml:158 at ed8ecd94 — 1675 bytes, expansion frozen to selection.expr (1743 bytes), exactly hertz's form. B-lane pool CLAIMED, exit 0 — lane deployah-armB, worktree .worktrees/hertz-294-sync-stages, branch diag/294-sync-stages, base ed8ecd94a8a6. free space pre-build 102.9 GiB against the 32 GiB floor; box census zero cargo/rustc/nextest before start. fixture + workspace prebuild EXECUTING now (mock-session, mock-shell, capture-player, console-mode-probe, service_fixture, cargo build --workspace), logs kept out of observations. then: test-binary prebuild, then the frozen listing with its POSITIVE checks — exactly one subject identity, zero diag_continuation_preserves_original_failure identities. Conditions 1-3 go into RUN.json and B1 starts on them, with no further word from you, per your instruction. The only thing that stops me is a condition that cannot be met, and I will say which. One process-honesty note on my own harness, since it produced a false completion earlier: I launched prep with a trailing '&' inside an already-backgrounded call, so the launcher returned instantly and my tooling reported "completed, exit 0" while the script was still building. I caught it by checking for a live cargo process and a growing log rather than trusting the exit line. Nothing was lost; the claim had already succeeded. A waiter is now armed on the real completion file.