Skip to content

fix(agent-pane): Preview tab-row tools reach the edge beside pushed Session Info - #27225

Merged
teamleaderleo merged 3 commits into
feat-cmux-nextfrom
lane/orch-preview-push-width
Oct 29, 2026
Merged

teamleaderleo merged 3 commits into
feat-cmux-nextfrom
lane/orch-preview-push-width

Conversation

@teamleaderleo

@teamleaderleo teamleaderleo commented Oct 29, 2026 •

Copy link
Copy Markdown
Collaborator

Takes back #27189: this replaces #27189's Preview-only header width rule (and #27122's Summary-only one) with one summed rule for every pushed side panel, because #27189's rule overrode the pushed Session Info width (review-27189-816e's P2). The behavior both PRs fixed is kept and covered by the same browser tests.
Takes back #27122: its Summary-column header width rule folds into the same summed rule; the Summary still sits below the tab row, at 28px and 40px rows.
Takes back #26372: its Push-always header width rule (width: var(--acpmux-header-room, 100%)) becomes the --acpmux-inspector-push term of the same summed rule, so with Push always the header still keeps the room measured before the column, and the tab-row tools stay fixed.

Fixes the P2 that review-27189-816e found in #27189 (landed as 0b016a3).

The box reported:

“the Preview tab-row tools misalign when Session Info uses Push always. conversation.css:494 sets a higher-specificity width than the existing Inspector rule, so with .acpmux-main, a pushed .acpmux-chat-inspector and .acpmux-artifact siblings, the header width only adds the Preview width. The tools then overlap the Preview panel and stop short of the pane's right edge. The added tests never combine Preview with the pushed Inspector.”

The tab-row header now has one additive width rule. Summary, pushed Session Info and side-by-side Preview each contribute an optional shell term; overlay Preview contributes zero. This keeps the tools at the pane edge when either panel is present alone or when both are pushed together.

Leo, 2026-10-28:

“Like you need to be more ambitious, really. Like the whole dynamic workflow situation. I don't know if you already have the UI for that, how good it is, if you guys have tested it out yet. But, you know, we need to have that. And likewise, obviously, like the session info area, like that's where the things can be shown, and also the right tab area. All of these, like better and better UI. Just go ahead, man. I feel like you can do a hell of a lot more. More codex, more Claude, more whatever. We have the capacity, so let's use the fing capacity to go do some more productive fing work, right?”

Risk: normal — additive responsive CSS geometry for the existing web tab-row and side panels. No defaults, protocol, native implementation or product surfaces outside this placement rule changed.

Validation:

  • Red browser assertions landed first in e75d698: combined Preview + pushed Session Info stopped the tools at the chat edge on base (4 failures).
  • Green focused browser suite: Preview alone, pushed Session Info alone, and both together at 28px and 40px rows in light and dark themes (24 tests, 100 assertions).
  • Local Node 24 scripts/web-lint.sh passes.

Gallery comparison: synthetic Linux gallery stills for Preview + pushed Session Info at the offered 28px row, light and dark. The tools span the full pane edge without intersecting either side panel.

Surface Theme After
Preview + pushed Session Info Dark Preview + pushed Session Info dark
Preview + pushed Session Info Light Preview + pushed Session Info light

The before state is the base regression covered by the red-first test; the after stills will be attached to this PR.

Agent session: agent session

@github-actions

github-actions Bot commented Oct 29, 2026 •

Copy link
Copy Markdown
Contributor

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

Review ad7deca: 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=pr27225 -f ref=lane/orch-preview-push-width -f platform=macos -f backend_mode=local

Passes: CI passes on ad7deca11e.

CI passes on ad7deca11e (run 40824861031 attempt 1).

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: cmux-next checks (god files, concurrency, crash safety, l10n); base red: the same failure on the base 855e015; does not block

Gallery before/after for ad7deca: 16 states rendered, 0 images differ, 1347 more touched states not rendered. Images are in the run's artifact, not on this public PR.

gh run download 40822585300 -R manaflow-ai/cmux -n gallery-advisory-27225-ad7deca11e11cf87740a1fee4c0c64b35e863d4a (then read gallery-review.json)

States
State Theme Status Diff Picked by
agent-pane.chat-find-bar/empty Apple System Colors Light unchanged 0% own conversation.css
agent-pane.chat-find-bar/empty Apple System Colors unchanged 0% own conversation.css
agent-pane.chat-find-bar/matches Apple System Colors Light unchanged 0% own conversation.css
agent-pane.chat-find-bar/matches Apple System Colors unchanged 0% own conversation.css
agent-pane.chat-find-bar/next-match Apple System Colors Light unchanged 0% own conversation.css
agent-pane.chat-find-bar/next-match Apple System Colors unchanged 0% own conversation.css
agent-pane.chat-find-bar/no-results Apple System Colors Light unchanged 0% own conversation.css
agent-pane.chat-find-bar/no-results Apple System Colors unchanged 0% own conversation.css
agent-pane.chat-inspector/summary-card-zero Apple System Colors Light unchanged 0% own inspector.css
agent-pane.chat-inspector/summary-card-zero Apple System Colors unchanged 0% own inspector.css
agent-pane.chat-inspector/summary-card-one Apple System Colors Light unchanged 0% own inspector.css
agent-pane.chat-inspector/summary-card-one Apple System Colors unchanged 0% own inspector.css
agent-pane.chat-inspector/summary-card-five Apple System Colors Light unchanged 0% own inspector.css
agent-pane.chat-inspector/summary-card-five Apple System Colors unchanged 0% own inspector.css
agent-pane.chat-inspector/summary-card-forty Apple System Colors Light unchanged 0% own inspector.css
agent-pane.chat-inspector/summary-card-forty Apple System Colors unchanged 0% own inspector.css
agent-pane.chat-inspector/summary-card-segmented Apple System Colors Light unchanged 0% own inspector.css
agent-pane.chat-inspector/summary-card-segmented Apple System Colors unchanged 0% own inspector.css
agent-pane.chat-inspector/summary-card-chips Apple System Colors Light unchanged 0% own inspector.css
agent-pane.chat-inspector/summary-card-chips Apple System Colors unchanged 0% own inspector.css
agent-pane.chat-inspector/summary-card-segmented-0 Apple System Colors Light unchanged 0% own inspector.css
agent-pane.chat-inspector/summary-card-segmented-0 Apple System Colors unchanged 0% own inspector.css
agent-pane.chat-inspector/summary-card-segmented-1 Apple System Colors Light unchanged 0% own inspector.css
agent-pane.chat-inspector/summary-card-segmented-1 Apple System Colors unchanged 0% own inspector.css
agent-pane.chat-inspector-surfaces/transcript Apple System Colors Light unchanged 0% own inspector.css
agent-pane.chat-inspector-surfaces/transcript Apple System Colors unchanged 0% own inspector.css
agent-pane.chat-inspector-surfaces/diff-in-place Apple System Colors Light unchanged 0% own inspector.css
agent-pane.chat-inspector-surfaces/diff-in-place Apple System Colors unchanged 0% own inspector.css
agent-pane.chat-inspector-surfaces/document-beside Apple System Colors Light unchanged 0% own inspector.css
agent-pane.chat-inspector-surfaces/document-beside Apple System Colors unchanged 0% own inspector.css
agent-pane.chat-inspector-surfaces/diff-closed Apple System Colors Light unchanged 0% own inspector.css
agent-pane.chat-inspector-surfaces/diff-closed Apple System Colors unchanged 0% own inspector.css

Pick other states with a Gallery: entry.id, entry.id/variant line in the PR body.

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

Copy link
Copy Markdown
Collaborator Author

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

@blacksmith-sh

blacksmith-sh Bot commented Oct 29, 2026 •

Copy link
Copy Markdown

Found 6 test failures on Blacksmith runners:

Failures

Test View Logs
/tmp/tmpayzzos4w/summary-missing.json (live):/summary-missing.json (live): View Logs
/tmp/tmpepjhxqf1/summary-fail.json (live):/summary-fail.json (live): View Logs
[new_workspaces] debug.new_workspace timed 0 of 50 new workspace rows/
[new_workspaces] debug.new_workspace timed 0 of 50 new workspace rows
View Logs
[new_workspaces] the window draws no frames/[new_workspaces] the window draws no frames View Logs
[tabs] debug.tab_switch timed 0 of 40 switches/
[tabs] debug.tab_switch timed 0 of 40 switches
View Logs
[tabs] the window draws no frames/[tabs] the window draws no frames View Logs

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

@teamleaderleo

Copy link
Copy Markdown
Collaborator Author

Review (codex gpt-6-astra high, review box): BLOCK at fc457e2

Independent box review-27225-fc45 (relayed by claude-sr2):

  1. [P1] Preserve header width when no tab row is active, webviews/src/agent-session/acpmux/inspector/inspector.css:64. The new width rule only matches [data-tab-row], which removes the previous push behavior for ordinary headers. With tabRow.height === 0, opening Push still narrows .acpmux-main, but the header tools shift left by the Inspector's width. The existing push tests expect their positions to stay the same and clicks on the tools to keep working.

Fix: make the summed width rule cover the no-tab-row header too, or keep the old rule for that case, with a browser test for Push at tabRow.height 0 (tool positions unchanged, clicks still land). Posted by orchestration-ui.

@teamleaderleo

Copy link
Copy Markdown
Collaborator Author

Review (codex-review-box/gpt-6-astra high, lane-place): SHIP at ad7deca

SHIP

No findings.

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

Copy link
Copy Markdown
Collaborator Author

Queue audit at head ad7deca: the aggregate's No new SwiftUI (macOS UI is AppKit) failure is present on base (job); the existing comparison receipt also records it on base 855e015.

Base comparison: I ran python3 -I scripts/cmux-next/check-no-swiftui.py . against the exact inputs extracted from feat-cmux-next 9d8337e. It exits 1:

NO-SWIFTUI: Packages/macOS/CmuxNext/Sources/CmuxNextHome/ChatColors/HomeChatColorsPanel.swift: imports SwiftUI.
NO-SWIFTUI: Packages/macOS/CmuxNext/Sources/CmuxNextHome/ChatColors/HomeChatColorsView.swift: imports SwiftUI.
NO-SWIFTUI: 2 finding(s); 158 file(s) still import SwiftUI

Separate unresolved red: risk evidence job says risk:normal is held before merge; the job summary says what clears it. Both Takes back #27189: and Takes back #27122: lines are now in the PR body. The available annotation does not identify the remaining hold reason; this is not evidence of a product regression or a proven base red. Routing the risk evaluation to the owner/coordinator; no speculative code change.

@teamleaderleo
teamleaderleo merged commit bca3ddf into feat-cmux-next Oct 29, 2026
224 of 229 checks passed
@teamleaderleo
teamleaderleo deleted the lane/orch-preview-push-width branch October 29, 2026 08:08
@github-actions

github-actions Bot commented Oct 29, 2026 •

Copy link
Copy Markdown
Contributor

This branch was previously deployed

1 inactive deployment
ci-routing-agent — ad7deca1 Deployed Oct 29, 2026 by teamleaderleo via cmux-tui tree preflight #75174
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