ci / rust (push) Successful in 1m37s
The daemon never noticed when a session's command exited and tmux tore the session down — the in-memory `SessionManager` map plus the registry catalog kept showing it as `Running`, and a follow-up `maestro attach` would hang on an empty broadcast. Adds a per-host background task that polls `tmux list-sessions` every 2s, diffs against the in-memory set, and reaps anything we still track but tmux has lost: drops the record, deletes the sidecar + FIFO, cleans up its worktree if requested, and emits `SessionEvent::Removed` so the registry purges its catalog. The task holds a `Weak<Inner>` so it exits cleanly once the last `SessionManager` clone is dropped. Skips the tmux subprocess when the in-memory map is empty.