2dc90bd277
A release transaction that never reached anchor_pushed has no artifact: tx.Ref is empty and no successor can pick anything up. The event handler still kept its session mapping alive on TaskReleased/TaskBlocked/TaskFailed, so once the pane was gone the mapping was immortal. health() reports ActiveTask straight out of w.sessions, so the coordinator saw the harness as permanently busy and never leased to it again. It produced no log line at all. Found live on workpc-claude, stuck at phase "prepared" behind a rejected handoff artifact. Freeing it needed hand surgery on the worker's state file. Keep the mapping only while an anchor actually exists. Drop the transaction with it, since nothing can advance it. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_011xsXyr5J1RACo71YeKG3Pu