feat(cmux-next): add priority agent sidebar projection
Summary
Adds a compact priority projection for the CMUX Next sidebar using the existing workspace identity and sidebar motion path. Actionable, failed, working, finished, and idle workspaces are ordered without introducing a second session or agent identity model.
The transcript slice also fixes two related high-signal issues: the virtual transcript now includes its 16px thread top offset in the scrollable height, and settled tool-run condensation keeps coordination message cards visible when they share a run with tools.
Validation
bun test ./src/agent-session/acpmux/conversation/TurnRows.test.tsx ./test/transcript-scroll-restore.test.tsx ./test/tool-row-relative-path.test.tsx ./test/thought-row.test.tsx ./test/transcript-output-copy.test.tsxbun run typecheckgit diff --check
The branch was rebased onto the current origin/feat-cmux-next before push. Native Swift tests were not run here because local Xcode slots were occupied; no native build was performed.
Need help on this PR? Tag @codesmith-bot with what you need.
Summary by cubic
Adds a priority projection for the CMUX Next sidebar that orders workspaces by attention state (needs input, failed, working, finished, idle) using the existing workspace identity — no second session or agent model. It activates through the existing "attention moves to top" design setting, follows agent state transitions from the sidebar snapshot, and keeps manual order for same-state rows while excluding pinned rows and placeholders. Groups are reordered internally and ranked by their most actionable member, and unread or notified rows count as needing input even without an activity state. Generated protocol types now give _acpmux/mail send, read, wait, and ack concrete params, results, and delivery receipts.
Bug Fixes
- The virtual transcript now counts its 16px thread top offset in the scrollable height, so the latest row is no longer cut off.
- Settled tool-run condensation keeps coordination message cards visible when they share a run with tools.