2d511f55aa
nextSessionTileForWorkspace() only walked tabs stacked WITH the workspace tab. In a side-by-side layout (session tiles in their own zones — db's three-pane report), the walk found nothing, closeWorkspaceTab() skipped promotion, and requestFreshSession() dropped main to a new draft: closing a pane read as 'it gave me a new session'. A tile in any zone now promotes (its zone collapses via the tile close), so Close is also the path from N panes back to 1. Ghost panes whose tile is gone still never promote.