Skip to content

cmux NEXT: keep Bash agent commands in shell rows - #26368

Closed
teamleaderleo wants to merge 5 commits into
feat-cmux-nextfrom
nx-shell-card-identity-1027
Closed

teamleaderleo wants to merge 5 commits into
feat-cmux-nextfrom
nx-shell-card-identity-1027

Conversation

@teamleaderleo

@teamleaderleo teamleaderleo commented Oct 27, 2026 •

Copy link
Copy Markdown
Collaborator

Running reach review-router 'codex exec …' in Bash currently replaces the command row with a Codex card and infers its model and host from the command. Bash now keeps its normal command row, including its raw command and output. Only an explicit acpmux child-session record can supply a session card's identity; structured subagent tools retain their existing behavior.

Leo, 2026-10-27: "we don't want to have that sort of thing going on"

Takes back #25043: command syntax and stdout must not establish harness or session identity. The explicit child-session path from #25062 remains supported, with identity metadata taken only from the session record.

Validation: cd webviews && bun test test/shell-agent-identity.test.ts fails all six cases at regression commit c65b829f88eddf7f98df737258404a58b102de36 and passes all six at 4d7bb4943641e44792ba5f0460369c6de1144345. The focused fold, parser and transcript replay suite passes 40 tests. Web checks (including lint, formatting and type checking), the pre-push gate and changed-file gallery coverage pass.

Observed / Not run

Observed the production transcript replay retain the execute tool and its output for direct commands, reach and command arrays, with Codex-looking output unable to create a session. Structured subagent metadata and recorded acpmux child sessions still create cards. The unscoped gallery coverage test reports existing coverage gaps; the six checks scoped to this PR pass.

Hosted Chromium capture 40590006683 passed: eight real gallery PNGs cover running/completed states in light/dark at regression commit c65b829f88eddf7f98df737258404a58b102de36 and fixed head 4d7bb4943641e44792ba5f0460369c6de1144345. All frames mounted, reported the exact commit, passed SHA256 transfer verification, and were visually inspected. Originals passed the publication helper's OCR privacy check. Native builds, native app dogfood and a live review-router session were not run.

Reference: cmux-design-references/apps/claude/live/transcript-tool-rows-and-task-list.png and apps/codex/live/transcript-expanded-command-activity.png for shell rows; apps/claude/live/transcript-linked-session-card.png for a tracked session card. The new gallery story places an ordinary Bash call beside a real recorded child session.

Gallery: agent-pane.shell-agent-identity/running, agent-pane.shell-agent-identity/completed

Changelog

Fixed: Bash commands that run another agent keep their normal command rows instead of gaining inferred agent cards.

State Before After
Running · dark Before After
Completed · dark Before After
Running · light Before After
Completed · light Before After

Agent session: agent session

@teamleaderleo teamleaderleo added the risk:normal Risk tier (docs/ci/risk-tiers.md) label Oct 27, 2026
@github-actions

github-actions Bot commented Oct 27, 2026 •

Copy link
Copy Markdown
Contributor

cmux status (one comment, edited in place; each line is updated by the job that owns it)

Review 4d7bb49: HQ feed card · gallery before/after runs · checks

App of this head (app.zip, kept 1 day)

gh workflow run reload-build.yml -R manaflow-ai/cmux --ref feat-cmux-next -f tag=pr26368 -f ref=nx-shell-card-identity-1027 -f platform=macos -f backend_mode=local

Unclear: web / react-apps-check failed: no known signature; failed step: Check webview test shards.

CI failed on 98b4910d3f (run 40720525243 attempt 1): 3 code, 1 unknown.

Job Verdict Why
web / react-apps-base-check (1) code a web test failed
web / react-apps-base-check (4) code a web test failed
web / react-apps-base-check (2) code a web test failed
web / react-apps-check unknown no known signature; failed step: Check webview test shards

Failures:

  • seen on other PRs thread-minimap-left-rail-stays.test.ts webkit: an open card follows its rail on every painted inspector and resize frame at 1200px: failed (job)
  • seen on other PRs transcript-jump-latest.test.tsx scrolled up, a static button above the composer jumps to the latest message while a reply streams: failed (job)
  • seen on other PRs layout.test.ts only page.css imports the page's sheets: failed (job)
  • seen on other PRs pane-english.test.ts agent pane strings > no user-visible English is written in the pane's sources: failed (job)
  • seen on other PRs transcript-hidden-follow.test.tsx a chat at the latest message still follows it after a stretch hidden: failed (job)
  • seen on other PRs transcript-viewport-resize.test.tsx a resized chat at its latest message stays there in the same frame, without a glide: failed (job)
  • seen on other PRs transcript-find-follow.test.tsx a Find jump stays on its match when the transcript measures again before the scroll event: failed (job)
  • seen on other PRs transcript-scroll-restore.test.tsx a scrolled-up chat reports where it rests and reopens there, not at the latest message: failed (job)
  • seen on other PRs transcript-scroll-restore.test.tsx a place whose row is gone opens at the latest message: failed (job)
  • seen on other PRs transcript-scroll-restore.test.tsx switching chats opens the new chat at latest instead of the old chat's scroll offset: failed (job)
Matched log lines
web / react-apps-base-check (1): (fail) webkit: an open card follows its rail on every painted inspector and resize frame at 1200px [2842.71ms]
web / react-apps-base-check (4): (fail) only page.css imports the page's sheets [26.14ms]
web / react-apps-base-check (2): (fail) a Find jump stays on its match when the transcript measures again before the scroll event [158.48ms]

Not re-run automatically: web / react-apps-base-check (1), web / react-apps-base-check (4), web / react-apps-base-check (2), web / react-apps-check are not machine failures.

Written by scripts/ci/classify_failures.py (ci-failure-attribution.yml); signatures are its SIGNATURES table. A machine verdict is the runner's fault, not this PR's; yours means the failing file is one this PR changes, also red on main that main's latest full suite fails the same way, seen on other PRs that it failed on another pull request's run lately.

red: web / Web status; base red: the same failure on the base 9b23615; does not block
red: web / react-apps-base-check (1); no finished base run on 9b23615 to compare; do not merge until green; see lane-rules
red: web / react-apps-base-check (2); no finished base run on 9b23615 to compare; do not merge until green; see lane-rules
red: web / react-apps-base-check (4); no finished base run on 9b23615 to compare; do not merge until green; see lane-rules
red: web / react-apps-check; base red: the same failure on the base 9b23615; does not block

Gallery before/after for 98b4910: the capture produced no images (run).

@blacksmith-sh

blacksmith-sh Bot commented Oct 27, 2026 •

Copy link
Copy Markdown

Found 17 test failures on Blacksmith runners:

Failures

Test View Logs
src/pages/settings/layout.test.ts/layout.test View Logs
src/pages/settings/layout.test.ts/layout.test View Logs
test/pane-english.test.ts/pane-english.test View Logs
test/pane-english.test.ts/pane-english.test View Logs
test/thread-minimap-left-rail-stays.test.ts/thread-minimap-left-rail-stays.test View Logs
test/thread-minimap-left-rail-stays.test.ts/thread-minimap-left-rail-stays.test View Logs
test/transcript-find-follow.test.tsx/transcript-find-follow.test.tsx View Logs
test/transcript-find-follow.test.tsx/transcript-find-follow.test.tsx View Logs
test/transcript-hidden-follow.test.tsx/transcript-hidden-follow.test.tsx View Logs
test/transcript-hidden-follow.test.tsx/transcript-hidden-follow.test.tsx View Logs

...and 7 more test failures. View all on Blacksmith: run 40720525243, run 40720525089

Fix with [code]smith
Need help on this PR? Tag @codesmith-bot with what you need.

@teamleaderleo

Copy link
Copy Markdown
Collaborator Author

Bead cx-w4we22 created for this PR by the cmux coordinator.

@teamleaderleo

Copy link
Copy Markdown
Collaborator Author

Review (codex gpt-6-astra xhigh, next-review): SHIP at 4d7bb49

No blocking findings.

@teamleaderleo

teamleaderleo commented Oct 28, 2026 •

Copy link
Copy Markdown
Collaborator Author

Owned by an agent session · session

@teamleaderleo

Copy link
Copy Markdown
Collaborator Author

Repair for the independent review BLOCK is in #26627 at 39a5b896b6d1a6d8365e516a61c5959b8a4423e1, based on current feat-cmux-next and only this PR's own three commits. This branch and merge head remain preserved.

Concurrent same-name parent shell/MCP starts now remain plain when child records lack call correlation. The committed regression reproduced 8 failures before repair; the same command now passes 23 tests. The broader focused suite passes 58 tests, web lint and the prepush gate pass. The replacement PR preserves these captures with their original SHAs and documents the conservative queued-MCP behavior. Final independent re-review and merge remain with the root owner; no merge performed.

@teamleaderleo

Copy link
Copy Markdown
Collaborator Author

Orphaned: no activity for 12 h, and no lane holds a lease on it. Adopted by the orphan sweep: merged feat-cmux-next in at 98b4910. A later pass queues it for the merge hub if it is reviewed, small and red only on base reds.

@teamleaderleo

Copy link
Copy Markdown
Collaborator Author

Review (codex gpt-6-astra high, next-review): SHIP at 98b4910

No blocking findings.

@cmux-bot cmux-bot Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

cmux-bot approves 98b4910: an independent review passed this exact head (next-review receipt by teamleaderleo). A push needs a new review; a later BLOCK at this head dismisses this approval.

@teamleaderleo

Copy link
Copy Markdown
Collaborator Author

Superseded by #26627, which landed as 567dcaf with this change. Closing.

This branch was previously deployed

1 inactive deployment
ci-routing-agent — 98b4910d Deployed Oct 28, 2026 by teamleaderleo via wait for same-key tree publisher #72210
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

risk:normal Risk tier (docs/ci/risk-tiers.md)

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant