a5f0fbb262
Cherry-picked from PR #94595 (author: Futahua) onto current main, with the maintainer-review revision points folded in during the rebase: - the lease engages UNCONDITIONALLY: try_acquire_active_session no longer returns a disabled no-op lease when max_concurrent_sessions is unset; the concurrency cap stays an orthogonal, optional policy checked second - ownership uncertainty fails CLOSED (SESSION_COORDINATION_UNAVAILABLE) instead of degrading to an untracked go-ahead: a corrupt/unreadable registry must not be collapsed into 'no owner exists' (review blocker 2) - the ownership admission sits at the _run_prompt_submit chokepoint that EVERY fresh turn source crosses, and crash auto-continue acquires (or bails) BEFORE emitting message.start — closing the #94778 bypass where backend B's auto-continue ran a duplicate turn while backend A was live (review blocker 1) - the TUI gateway claim helper fails closed on claim exceptions for every surface, not just desktop - CLI and messaging-gateway call sites pass live_session_id metadata so the (pid, live id) re-entrancy identity protects them from self-fencing on a leaked lease Co-authored-by: teknium1 <teknium1@users.noreply.github.com>