cmux NEXT: the running tray counts only what runs, calls every child a subagent, and names commands by what they do
Merged
TE
15d ago+585+585+012345678901234567890123456789-124-124-012345678901234567890123456789
Leo-ask: ask-e8f4d71db1 (also covers part of ask-83816d57e0 and ask-dde0a17982)
Leo, on the running tray above the composer: "Isn't this a lot more sessions? What is this depicting? Is stuff actually running? THIS IS LYING." and "SHOULDN'T THIS SAY SUBAGENTS?"
What changes:
- The header's counts equal the rows. Only live items are counted and listed: running, or waiting on the person. Chats the agent started that ended no longer count; they sit behind one folded "N subagents done" line, next to the subagents that ended.
- A subagent whose end arrived stays done. A trailing
subagent_progress(Claude's last task_progress) no longer brings it back to running. - One word for the chat's children: harness subagents and chats started with
acpmux neware both "subagents" ("4 subagents running · 1 command"; between turns "Running in background · 3 subagents · 1 command"). The same word appears on the running line (WorkingFor/Thinking) and in the summary card's header. Uses the existing translated keyssubagents.allRunning,subagents.countandsubagents.allDone. - A command shows the Bash call's
descriptionwhen the harness gives one. Otherwise it shows the command with its leadingcd … &&,export X=… &&and env prefixes stripped. The full command stays in the tooltip. - Each row shows what it is doing now. A subagent's action follows its newest tool call, so a late update to an older call can't take the action back. A started chat shows acpmux's doing line.
- The first row under the header divider gets the tray's 2px gap.
Linux gallery before/after (scripts/gallery-compare.sh, states between-turns, several-running, and the new counts-equal-rows): https://cmux-lawrences-mac-mini.tail137216.ts.net:18796/compare/sp-tray-truth/?entry=agent-pane.subagent-tray
Fleet compile-check at a9921cab: passed. Review: SHIP at a9921cab (after a BLOCK on regex backtracking, now fixed with a linear scanner).
No capture: webview-only
Agent session: cosmic-gray