23c1c9815f
The Bots roster highlight and the Routines (Cronjobs) tile were keyed off host.state.profile — the gateway socket's home. Tab/tile focus moves without swapping the socket, so opening one bot's chat while the socket was homed on another highlighted the wrong bot and showed the wrong bot's cronjobs (community report: Newsanalyst chat open, Hermes highlighted). - sdk: new host.state.focusedSessionProfile — owner profile of the focused chat, resolved from the focused stored session's row stamp via rememberedSessionProfile() (same ladder as remembered navigation and the HUD), with the gateway profile as the draft/uncached fallback. - hermes-bots: $focusedBotProfile = focusedSessionProfile || profile (feature-detected; older desktops keep prior behavior). BotRow highlight, RoutinesPane scope, and the $selectedBot tracker use it. Turn-busy 'work' mood stays keyed to the socket-home profile (only it can be mid-turn). - tests: SDK atom behavior (vitest) + plugin source-shape suite; prewarm harness stubs gain the new atom. - docs: SDK page + hermes-agent skill reference list the new atom.