mirror of
https://github.com/NousResearch/hermes-agent.git
synced 2026-11-06 05:17:15 +00:00
A turn that ends with work still going (a background process, a background subagent) keeps its sidebar row lit. The light comes from per-session stores fed by events and by a per-pane poll, and the poll pauses as soon as that session's pane is hidden. A background process that exits without notify_on_complete sends no event either, so the stored "running" entry never changed and the row kept spinning until the user clicked back into the session. The app-wide live-work roster already reads every backend every 10 s, but it could only ADD rows, never end one. Each roster bucket now records which sidebar rows its source answers for. A read from that source that is newer than the event-fed entry and reports no work for the row now ends the highlight. A row no source covers keeps its event-fed state, and a closed source covering a lit row is re-read on the existing one-minute busy cadence.