Files
orca/src
Brennan Benson f9acfffa03 fix(unread): bold an agent row only while looking at it can clear it (#28830)
* fix(unread): one rule decides when an agent row is unread; title-only rows never are

The workspace card bolded a row Orca knows only from its terminal title or
process ("Claude Code - Idle") because that row restamps its state time on
every rebuild, so no acknowledgement ever covered it: opening the workspace
left it bold, clicking the row cleared it, and the next rebuild re-bolded it.
The dashboard already skipped such rows.

isAgentRowUnseen is now the single rule for the card, the dashboard snapshot
and counts, and the pop-out patch. It is built on the acknowledgement
module's own turn test, so a row is bold only when viewing it can clear it.

Fixes #28306

* fix(unread): bold an agent row only while auto-acknowledge can clear it

The row unread rule now reads the store's live and retained turn records, the
same records auto-acknowledgement clears, instead of a startedAt === 0 marker
on the row. Rows with no record of their own (title/process-derived, running
subagent children, migration-blocked panes) are never bold, so none can stay
bold with nothing able to clear it. Running subagent rows previously stayed
bold for their whole run.

* chore: drop accidental pnpm-lock.yaml churn

* perf(unread): build the row turn records once per pass, not once per row

* docs(unread): name the rule in the dashboard snapshot comment
2026-10-16 15:25:03 -07:00
..