d350dd8f84
A live-session hub kill did not stick: release(tombstone) awaited the wrapped session dispose first, and createAgentSession's unregisterUnlessParked removed any non-parked ref, so the subsequent detach/setStatus no-oped and the ref was gone — leaving the reopen resurrection for idle/running agents. - release(tombstone) now marks the ref `aborted` BEFORE disposing, so the dispose guard preserves it; the session is detached afterward. - unregisterUnlessParked now also spares terminal `aborted` refs (matching the documented "hard-killed, terminal" retention and finalizeSubagentLifecycle). - Regression test now uses a session stub that mirrors the real wrapped dispose (unregister unless parked/aborted), so it fails if the tombstone is set after dispose. Fixes #7250