0401e08884
An unnamed `session.info` was treated as describing whatever the pane had selected. The gateway stamps `stored_session_id: session_key or ""`, so every not-yet-persisted session emits one, and `broadcast_session_info` / the approvals loop re-emit for every live session at once. An unscoped event applies exactly when no session is active, so with nothing selected each of those repointed `$currentCwd` and claimed it for the null selection — the file tree, coding rail and statusbar painted a folder no selected conversation owned, until the next `releaseWorkspaceCwdOwner` dropped the claim and they un-painted it. Require the event to be bound to the pane's own runtime before an absent id reads as the selection. The case the allowance exists for — a lazy session that is the pane's runtime but is not persisted yet — still adopts and owns its cwd.