Route all Session mutations through _probeLock so OnReconnectComplete, ShutdownAsync, and OnKeepAlive cannot race each other when swapping or clearing the active session. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Route all Session mutations through _probeLock so OnReconnectComplete, ShutdownAsync, and OnKeepAlive cannot race each other when swapping or clearing the active session. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>