Repository navigation
fix(agent-pane): show workflow progress in tray and inspector - #27886
teamleaderleo wants to merge 41 commits into
Conversation
|
cmux status (one comment, edited in place; each line is updated by the job that owns it) Review App of this head (app.zip, kept 1 day)
Unclear: CI failed on
Failures:
Matched log linesNot re-run automatically: Written by red: web / Web status; a job it gathers is red on this change (its line here); do not merge until green; see lane-rules Gallery before/after for
States
Pick other states with a |
|
Owned by an agent session · session |
Bugbot needs on-demand usage enabledBugbot uses usage-based billing for this team and requires on-demand usage to be enabled. A team admin can enable on-demand usage in the Cursor dashboard. |
Bugbot needs on-demand usage enabledBugbot uses usage-based billing for this team and requires on-demand usage to be enabled. A team admin can enable on-demand usage in the Cursor dashboard. |
Bugbot needs on-demand usage enabledBugbot uses usage-based billing for this team and requires on-demand usage to be enabled. A team admin can enable on-demand usage in the Cursor dashboard. |
|
Review (codex-review-box/gpt-6-astra high, lane-place): BLOCK at 465128e BLOCK at 465128e Visual verdict: Both supplied after screenshots look clean beside ChatGPT/Claude, but depict an older head.
The keyed hover-card subscription and phantom identity/pending-delta cleanup are present, with mounted regression coverage. Tests could not be executed here because Bun and dependencies are absent. |
|
Review (codex-review-box/gpt-6-astra high, lane-place): SHIP at a3c95da SHIP at a3c95da
Follow-ups:
|
|
Review (codex-review-box/gpt-6-astra high, lane-place): BLOCK at a258a0c BLOCK at a258a0c Visual verdict: Supplied after images are from 9deda6a; no exact-head gallery artifact is available [follow-up].
|
|
Fix-forward at |
…sion-info-workflow-progress-fix # Conflicts: # webviews/src/agent-session/acpmux/subagents/AgentLine.tsx # webviews/src/agent-session/acpmux/subagents/SubagentTray.tsx # webviews/src/agent-session/acpmux/subagents/subagents.css # webviews/test/subagent-tray-columns.test.ts
|
Review (codex gpt-6-astra high, next-review): BLOCK at 11bb7cb BLOCK at 11bb7cb Visual verdict: supplied light/dark after renders are clean, though they depict 9deda6a rather than this exact head.
Follow-ups: [P2][follow-up] Refresh gallery after images at the exact review head. |
|
Awareness note from an agent lane that does not own this PR; it is not a review or a request to take the PR over. Carried in #29777: the same commits and authorship, merged with the current base and adapted to #29608 (no tokens on the tray rows) and #29264 (the tray's trailing tracks). It also wires the Inspector row to the live progress. This PR stays open for its owner to close. |
#27886) (#29777) * fix(agent-pane): show workflow progress in tray and inspector Agent-Session: https://cmux.com/deeplink/agent?id=aid-f518dd20e1523aa0398c * fix(agent-pane): refresh workflow progress rows Agent-Session: https://cmux.com/deeplink/agent?id=aid-f518dd20e1523aa0398c * fix(agent-pane): refine workflow progress row layout Agent-Session: https://cmux.com/deeplink/agent?id=aid-f518dd20e1523aa0398c * fix(agent-pane): order agent row trailing columns Agent-Session: https://cmux.com/deeplink/agent?id=aid-f518dd20e1523aa0398c * fix(agent-pane): restore fixed agent status track Agent-Session: https://cmux.com/deeplink/agent?id=aid-f518dd20e1523aa0398c * fix(agent-pane): refresh only changed progress rows Agent-Session: https://cmux.com/deeplink/agent?id=aid-f518dd20e1523aa0398c * fix(agent-pane): update only changed progress rows Agent-Session: https://cmux.com/deeplink/agent?id=aid-f518dd20e1523aa0398c * fix(agent-pane): keep inspector rows memoized Agent-Session: https://cmux.com/deeplink/agent?id=aid-f518dd20e1523aa0398c * fix(agent-pane): subscribe each workflow row to live progress Agent-Session: https://cmux.com/deeplink/agent?id=aid-f518dd20e1523aa0398c * fix(agent-pane): update only changed workflow progress Agent-Session: https://cmux.com/deeplink/agent?id=aid-f518dd20e1523aa0398c * fix(agent-pane): scope progress updates to changed rows Agent-Session: https://cmux.com/deeplink/agent?id=aid-f518dd20e1523aa0398c * fix(agent-pane): use row progress context Agent-Session: https://cmux.com/deeplink/agent?id=aid-f518dd20e1523aa0398c * fix(agent-pane): publish keyed progress from the event fold Agent-Session: https://cmux.com/deeplink/agent?id=aid-f518dd20e1523aa0398c * fix(agent-pane): key bridge progress by agent versions Agent-Session: https://cmux.com/deeplink/agent?id=aid-f518dd20e1523aa0398c * fix(agent-pane): preserve unversioned bridge progress updates Agent-Session: https://cmux.com/deeplink/agent?id=aid-f518dd20e1523aa0398c * fix(agent-pane): key bridge progress by versions Agent-Session: https://cmux.com/deeplink/agent?id=aid-f518dd20e1523aa0398c * fix(agent-pane): retain full snapshot compatibility without scanning direct events Agent-Session: https://cmux.com/deeplink/agent?id=aid-f518dd20e1523aa0398c * Revert "fix(agent-pane): retain full snapshot compatibility without scanning direct events" This reverts commit 420a013. Agent-Session: https://cmux.com/deeplink/agent?id=aid-f518dd20e1523aa0398c * fix(agent-pane): preserve bridge updates without versions Agent-Session: https://cmux.com/deeplink/agent?id=aid-f518dd20e1523aa0398c * fix(agent-pane): restore workflow progress after base merge Agent-Session: https://cmux.com/deeplink/agent?id=aid-f518dd20e1523aa0398c * fix(agent-pane): publish only changed progress values Agent-Session: https://cmux.com/deeplink/agent?id=aid-f518dd20e1523aa0398c * test(agent-pane): model keyed bridge progress updates Agent-Session: https://cmux.com/deeplink/agent?id=aid-f518dd20e1523aa0398c * fix(agent-pane): reset bridge progress per session Agent-Session: https://cmux.com/deeplink/agent?id=aid-f518dd20e1523aa0398c * fix(agent-pane): keep compatibility progress snapshots live Agent-Session: https://cmux.com/deeplink/agent?id=aid-f518dd20e1523aa0398c * fix(agent-pane): preserve producer generations and narrow controls Agent-Session: https://cmux.com/deeplink/agent?id=aid-f518dd20e1523aa0398c * fix(agent-pane): retain versioned bridge progress and satisfy web checks Agent-Session: https://cmux.com/deeplink/agent?id=aid-bb9506d641d2e48855d5 * test(agent-pane): cover late root retirement in keyed UI lists Agent-Session: https://cmux.com/deeplink/agent?id=aid-bb9506d641d2e48855d5 * fix(agent-pane): retire phantom root progress with its worker identity Agent-Session: https://cmux.com/deeplink/agent?id=aid-bb9506d641d2e48855d5 * test(agent-pane): require inspector card to follow keyed progress Agent-Session: https://cmux.com/deeplink/agent?id=aid-bb9506d641d2e48855d5 * fix(agent-pane): keep inspector hover progress subscribed Agent-Session: https://cmux.com/deeplink/agent?id=aid-bb9506d641d2e48855d5 * fix(agent-pane): align tray header with status and duration columns Agent-Session: https://cmux.com/deeplink/agent?id=aid-bb9506d641d2e48855d5 * fix(agent-pane): wrap workflow counts within narrow rows Agent-Session: https://cmux.com/deeplink/agent?id=aid-bb9506d641d2e48855d5 * fix(agent-pane): keep tray fill under stop hover Agent-Session: https://cmux.com/deeplink/agent?id=aid-8944087bebabdd95b89c * fix(agent-pane): reconcile progress row props after base merge Agent-Session: https://cmux.com/deeplink/agent?id=aid-8944087bebabdd95b89c * fix(agent-pane): subscribe tray rows to live progress Agent-Session: https://cmux.com/deeplink/agent?id=aid-8944087bebabdd95b89c * test(agent-pane): workflow progress tests follow base's tray and Session Info Base turned workflows on by default (#30192), so a running workflow leaves the tray; stopped building rows in a folded tray (#29250); and renamed the Session Info aside (#29921). The App tests turn workflows off as the workflowLabs push would, open the tray for their chats, and read aside.acpmux-session-info. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Agent-Session: https://cmux.com/deeplink/agent?id=aid-63b9964940c20354b639 --------- Co-authored-by: cmux-bot[bot] <348531757+cmux-bot[bot]@users.noreply.github.com> Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
![Fix with [code]smith](https://pr-comments-assets.blacksmith.sh/codesmith/fix-with-codesmith-light-3x.png)
Takes back #28164: replaces its whole-list progress dependency in App.tsx with keyed AgentProgressStore subscriptions so usage-only updates notify the changed agent instead of rebuilding every row. Workflow counts and token usage remain visible in both the tray and inspector; compatibility snapshots and session changes retain their progress behavior.
Running workflows now show completed/started agent counts, failed and queued agents, and token usage in the default running tray and Session Info. Previously those values appeared only in the alternate transcript card. Existing action text remains, with reported progress beneath it so long names cannot crowd out the counts.
Leo, 2026-10-29: “i also want all those ui fixes/improvements in and stuff too along with more think tanks to improve stuff too after learning all those ui dev things”.
Validation at
a3c95dac0576ef49f85de6f7c4c77a2b47bfc522: fleet run 41226576477 passedbun run check, 108 focused tests (533 assertions), and all 10 real Chromium tray geometry tests (414 assertions). Browser cases cover both themes, 1×/1.25× interface scales, narrow progress wrapping, short docks, and header/row alignment. The receipt'stested_shamatches this head. Regression proof 41226482614 demonstrated that reverting the phantom cleanup fails both mounted UI tests and reverting the card subscription fails the stale-progress assertion; restoring each fix passes the same tests.Reconciliation: merged base
65a13cf67b1b092c57898a498e6c7795d0c5afa0. SW-04 is fixed: identifying the owning root late removes its progress identity and pending delta, invalidates the retained list, and keeps real workers/grandchildren intact. Mounted tray and inspector regressions cover that transition without any later agent event. The inspector hover card now subscribes to the same keyed progress as its row; a mounted regression updates both without replacing the structural agent snapshot. Header columns now match the rows. Existing localization is reused; no timer or observer is added.Earlier review receipts are superseded by these fixes; final exact-head review is required. Attached screenshots below depict
9deda6af, not the current head; refreshed images are a nonblocking follow-up.Design: running tray. Keep its fixed duration tracks and narrow-row controls.
Gallery: agent-pane.subagent-tray/workflow-progress
Gallery
agent-pane.subagent-tray/workflow-progress, Chromium, 2x. Before is base 9e78591 (run 41135682530); after is head 9deda6a (run 41134463485). Both logs report TESTED_SHA equal to that commit.Before, the running workflow row showed only its action; its trailing controls read duration, then status, then chevron. After, a second line shows "37/101 agents · 2 failed · 4 queued · 1.2M tokens" under the action. The trailing controls now read status, then duration, then chevron, the row grammar the other rows use; the spinner and Stop keep their places.
Viewed after image: yes
Visual verdict: Yes, the progress line reads cleanly under the action in both themes with the row's trailing controls in standard order and nothing clipped or crowded, so Leo would accept it next to ChatGPT/Claude.
Risk: row height increases only when progress exists. Counts wrap within the text column; action, open, Stop and spinner behavior remain intact.
Agent session: agent session
Need help on this PR? Tag
@codesmith-botwith what you need.Summary by cubic
Running workflows now show completed/started agent counts, failed and queued agents, and token usage in the default running tray and the Session Info inspector; previously those values appeared only in the alternate transcript card. Progress renders beneath the action text, ellipsized so long names can't crowd out the counts, and rows grow only when progress exists.
Tray rows and the inspector hover card subscribe to a keyed per-agent store fed by direct streams and bridge snapshots, so usage-only updates notify just the changed agent row instead of rebuilding every row. Each session gets a fresh store so switching sessions repopulates progress. Status, duration, and the disclosure chevron sit as fixed sibling columns across all row families, and tray hover no longer activates over the Stop control. Reconciles row props after merging the latest
feat-cmux-nextbase.Compatibility snapshots without a structure version stay live off their latest agent values, and rebuilt producer sources refresh rows even when structural counters restart. When a late root identification retires a phantom agent, its progress is retired with it and the surviving workers keep their values. Both surfaces use the existing localized formatter, with tests covering absent/zero progress, successive updates, keyed bridge deltas, and phantom retirement in the tray and inspector.
Written for commit 11bb7cb. Summary will update on new commits.