Repository navigation
fix(agent-chat): a sub-session card shows its prompt's opening once - #27240
Conversation
A freshly started sub-session's card showed its doing line, which acpmux derives from the prompt's opening words, and then the prompt preview right under it, starting with the same words. The doing line is left out when it only repeats the prompt shown under it (compared on words, ignoring case, whitespace, a trailing ellipsis and a last word cut mid-word). Any other line (a real step, a wait, an error) still shows. Leo, 2026-10-29: "this doubling up is kinda weird? first line then whatever goes next" Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Agent-Session: https://cmux.com/deeplink/agent?id=aid-64a0909b0412bbd5174b
|
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: cmux-next checks (god files, concurrency, crash safety, l10n); no finished base run on 52c918f to compare; do not merge until green; see lane-rules Gallery before/after for
States
Pick other states with a |
|
Found 9 test failures on Blacksmith runners: Failures
|
|
Bead |
|
Review (codex-review-box/gpt-6-astra high, lane-place): BLOCK at 2c1d8dc BLOCK
|
review-27240-2c1e found repeatsPrompt let any line end on a prefix of the prompt's word, so a real step like "Fix bug" under the prompt "Fix bugs in parser" was hidden. A line may stop mid-word only when it ends in an ellipsis (the cut title acpmux derives from the prompt); otherwise every word must match exactly. Regression test added. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Agent-Session: https://cmux.com/deeplink/agent?id=aid-64a0909b0412bbd5174b
|
Review (codex-review-box/gpt-6-astra high, lane-place): BLOCK at 3c6acae BLOCK
|
…pening review-27240-3c6a: a session that has not reported a step yet gets acpmux's doing line "Working on: <prompt, cut>" (hub/subsession_send.rs), so the card still showed the prompt's opening twice behind that prefix. repeatsPrompt strips the prefix before comparing; tests cover it, and that another session's or a real step's "Working on:" line is still shown. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Agent-Session: https://cmux.com/deeplink/agent?id=aid-64a0909b0412bbd5174b
|
Review (codex-review-box/gpt-6-astra high, lane-place): BLOCK at 0ccbee6 BLOCK
|
review-27240-0ccb: stripping acpmux's "Working on:" prefix every time meant a session-list line that is the raw prompt, when that prompt itself starts with "Working on:", was no longer seen as a repeat. repeatsPrompt now compares the line as it came first, and the line without the prefix only when it had one. Tests cover a prompt that starts with "Working on:", with and without acpmux's prefix on top. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Agent-Session: https://cmux.com/deeplink/agent?id=aid-64a0909b0412bbd5174b
|
Review (codex-review-box/gpt-6-astra high, lane-place): BLOCK at 1acab67 BLOCK
|
…prompt Codex review of #27240 at 1acab67: the prompt dedupe also ran on a failed session's error, so an error that starts like the prompt left only the bare failed state. Only a doing line is compared now; an error always shows. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Agent-Session: https://cmux.com/deeplink/agent?id=aid-64a0909b0412bbd5174b
|
Review (codex-review-box/gpt-6-astra high, lane-place): SHIP at cbed145 SHIP No blocking findings. All seven helper tests passed in isolated Node execution. Full Bun tests were unavailable because Bun and dependencies aren’t installed. |
|
Base-red evidence for
The other annotated files pass on both: agent-pane-running-layout, agent-pane-short-pane-composer, chat-environment-scroll-stability, thread-minimap-left-rail-stays and transcript-parked-stream (15 pass). This PR changes only |
|
Shipped in:
|
* fix(agent-chat): a sub-session card shows its prompt's opening once A freshly started sub-session's card showed its doing line, which acpmux derives from the prompt's opening words, and then the prompt preview right under it, starting with the same words. The doing line is left out when it only repeats the prompt shown under it (compared on words, ignoring case, whitespace, a trailing ellipsis and a last word cut mid-word). Any other line (a real step, a wait, an error) still shows. Leo, 2026-10-29: "this doubling up is kinda weird? first line then whatever goes next" Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Agent-Session: https://cmux.com/deeplink/agent?id=aid-64a0909b0412bbd5174b * fix(agent-chat): only an ellipsized line may repeat its prompt mid-word review-27240-2c1e found repeatsPrompt let any line end on a prefix of the prompt's word, so a real step like "Fix bug" under the prompt "Fix bugs in parser" was hidden. A line may stop mid-word only when it ends in an ellipsis (the cut title acpmux derives from the prompt); otherwise every word must match exactly. Regression test added. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Agent-Session: https://cmux.com/deeplink/agent?id=aid-64a0909b0412bbd5174b * fix(agent-chat): acpmux's "Working on:" line counts as the prompt's opening review-27240-3c6a: a session that has not reported a step yet gets acpmux's doing line "Working on: <prompt, cut>" (hub/subsession_send.rs), so the card still showed the prompt's opening twice behind that prefix. repeatsPrompt strips the prefix before comparing; tests cover it, and that another session's or a real step's "Working on:" line is still shown. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Agent-Session: https://cmux.com/deeplink/agent?id=aid-64a0909b0412bbd5174b * fix(agent-chat): a prompt that starts with "Working on:" still dedupes review-27240-0ccb: stripping acpmux's "Working on:" prefix every time meant a session-list line that is the raw prompt, when that prompt itself starts with "Working on:", was no longer seen as a repeat. repeatsPrompt now compares the line as it came first, and the line without the prefix only when it had one. Tests cover a prompt that starts with "Working on:", with and without acpmux's prefix on top. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Agent-Session: https://cmux.com/deeplink/agent?id=aid-64a0909b0412bbd5174b * fix(agent-chat): a failed sub-session's error is never taken for its prompt Codex review of #27240 at 1acab67: the prompt dedupe also ran on a failed session's error, so an error that starts like the prompt left only the bare failed state. Only a doing line is compared now; an error always shows. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Agent-Session: https://cmux.com/deeplink/agent?id=aid-64a0909b0412bbd5174b * feat(agent-pane): make sub-session cards disclosure rows Agent-Session: https://cmux.com/deeplink/agent?id=aid-289f5b14ddf157d9472f * fix(agent-pane): preserve disclosures and summarize live child sessions Agent-Session: https://cmux.com/deeplink/agent?id=aid-289f5b14ddf157d9472f * fix(agent-pane): keep session groups visible and translate full labels Agent-Session: https://cmux.com/deeplink/agent?id=aid-289f5b14ddf157d9472f * fix(agent-pane): reveal nested session disclosures for chat search Agent-Session: https://cmux.com/deeplink/agent?id=aid-289f5b14ddf157d9472f * fix(agent-pane): highlight each session prompt once in chat search Agent-Session: https://cmux.com/deeplink/agent?id=aid-289f5b14ddf157d9472f * fix(agent-pane): retain raw search matches hidden by Markdown Agent-Session: https://cmux.com/deeplink/agent?id=aid-289f5b14ddf157d9472f * fix(gallery): open grouped sessions before checking uploaded avatars Agent-Session: https://cmux.com/deeplink/agent?id=aid-289f5b14ddf157d9472f * fix(agent-pane): translate grouped session starts as one sentence Agent-Session: https://cmux.com/deeplink/agent?id=aid-289f5b14ddf157d9472f --------- 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)
Leo, 2026-10-29, word for word:
What was doubled
A sub-session's card in the transcript (the card for an
acpmux new --parentchild: name, model, Working, Open chat) showed:doingline, which for a fresh session is acpmux's title taken from the prompt's opening words, cut with an ellipsis;The fix
SubsessionCallCard.tsx: a start's card now passes the prompt it shows toSessionCard, which leaves out thedoingline when it only repeats that prompt's start. The comparison (repeatsPrompt) works on words, ignoring case, whitespace, a trailing ellipsis and a last word cut mid-word. Any other line still shows: a real step ("Read src/net/RetryBanner.tsx"), a wait, an error, or a line that only shares a few words. The header row, Open chat, "Show prompt" and "Raw" are unchanged.Tests
webviews/test/subsession-card-prompt-once.test.ts: the cut, ellipsized opening line counts as a repeat; step lines, "Working on: …", a different session's opening and an empty line don't.agent-pane.subsession-cards#prompt-not-twicereproduces Leo's case: a fresh ios-remote session whose only line is its prompt's opening. Gallery health on the entry renders all 9 states with an empty verdict.bun run checkand prepush-gate pass.Before / after
Gallery
agent-pane.subsession-cards#prompt-not-twice, rendered by the gallery health runner. This entry's stage is dark-themed, so both stills are dark.risk:normal.
Changelog
Agent session: agent session
🤖 Generated with Claude Code