Skip to content

base red: gallery plays wait for what the transcript draws now (gutter gaps, sent rows, reply time) - #32269

Merged
teamleaderleo merged 3 commits into
feat-cmux-nextfrom
gallery-red-plays-waits
Nov 2, 2026
Merged

teamleaderleo merged 3 commits into
feat-cmux-nextfrom
gallery-red-plays-waits

Conversation

@teamleaderleo

@teamleaderleo teamleaderleo commented Nov 2, 2026 •

Copy link
Copy Markdown
Collaborator

Base red fix: the gallery health workflow reports these gallery states as broken on every full base render. Each play waited for, or pressed, something the transcript no longer draws after recent transcript changes. The components behave as their PRs intend, so the plays now follow what they draw. Nothing goes on the allowlist.

State(s) Cause Regressing PR Fix
agent-pane.gutter-select#*-gap (8 pairs except tool-to-tool) — "Gap drag selected no text" #27580 moved transcript gaps out of the rows (padding-block: 0), so the stack places them under each row. The play started its drag at row bottom - padding/2, which is now 1px inside the row's content. The press never reached the gap target, so gutterSelect.ts ignored it. #31579 repaired the gap target and the browser test, but not this play. #27580 The drag starts at the middle of the upper row's [data-transcript-gap="row"] target, or at the nearest point the target itself covers.
agent-pane.sent-message-rows#{sent,with-preview,recorded-file,written-file,look-arrow,look-quote} — waitFor .cv-sent After "Worked for" opens, a turn's run of sends now folds into one "Sent N messages" line. #31398 openTurn opens the button[data-message-run] line, then waits for .cv-sent.
agent-pane.transcript#agent-messages — waitFor .cv-shell__folder The sends and the shell call fold into one message-run line, so the first .cv-tool.is-toggle became that line instead of the shell call. #31398 The play opens the run line, then clicks the first toggle that is not a run line.
agent-pane.transcript#grid-rhythm-hover — waitFor .cv-reply-actions opacity 1 A reply mid-turn draws no action row (hasReplyActions is always false: Copy once per turn). The variant was added after that change and waited for a row that is never drawn. #29740 (variant from #27580) The play hovers the reply and asserts that no action row is drawn.
agent-pane.user-bubble#answer-time-tooltip — waitFor a tooltip with a year A reply's time is now its exact time at the end of the row, shown on hover, and its tooltip shows the turn's time and tokens. No tooltip with a year appears any more. #31609 The play hovers the time and waits until it is shown (opacity 1) and reads as a clock time.

Only gallery play files change. scripts/web-lint.sh --base origin/feat-cmux-next passes.

Base-red-job: cmux-next / gallery health (0)
Base-red-job: cmux-next / gallery health (1)
Base-red-job: cmux-next / gallery health (2)
Base-red-job: cmux-next / gallery health (3)
Base-red-job: cmux-next / gallery health (4)
Base-red-job: cmux-next / gallery health (5)
Base-red-job: cmux-next / gallery health (6)
Base-red-job: cmux-next / gallery health (7)

Agent session: agent session

🤖 Generated with Claude Code


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


Summary by cubic

Fixes the gallery plays that gallery health reports broken on every full base render — each play waited for or pressed something the transcript no longer draws, and now follows what it draws. Nothing goes on the allowlist.

State(s) Cause Fix
agent-pane.gutter-select#*-gap #27580 removed row bottom padding, so the stack places gaps under the row and the old drag start landed on content. The drag starts at the middle of the upper row's [data-transcript-gap="row"] target, or the nearest point the target covers.
agent-pane.sent-message-rows#* and AcpmuxBatchSend.gallery.ts #31398 folds a turn's sends into one "Sent N messages" line. openTurn opens the run line after "Worked for"; batch-raw waits for the call itself and clicks Raw only when drawn (a file-read message opens straight to its call); shift-baseline.json scores the sent, look, recorded-file, and batches rows' measured shifts.
MessageRuns.gallery.ts#open The run's line can sit inside a folded "Worked for" line. openLine opens "Worked for" first when the run's line is inside it.
agent-pane.transcript#agent-messages The sends and shell call fold into one run line, so the first toggle is no longer the shell call. The play opens the run line, then clicks the first toggle that is not a run line.
agent-pane.transcript#grid-rhythm-hover #29740: a reply mid-turn draws no action row. The play hovers the reply and asserts no action row is drawn.
agent-pane.user-bubble#answer-time-tooltip #31609: a reply's time is now its exact end-of-row time on hover; no tooltip with a year appears. The play hovers the time and waits until it reads as a clock time.

Only gallery play files and shift-baseline.json change. scripts/web-lint.sh --base origin/feat-cmux-next passes.

Written for commit a894815. Summary will update on new commits.

View guided diff Turn on auto-fix

- gutter-select gap pairs: the drag starts on the upper row's gap target. Since #27580 rows have
  no bottom padding (the stack places the gap under the row), so the old start point
  (row bottom - padding/2) landed on the row's content and selected nothing.
- sent-message-rows: a turn's run of sends folds into one "Sent N messages" line (#31398);
  the plays open it after "Worked for".
- transcript#agent-messages: opens the message-run line (#31398), then the shell call.
- transcript#grid-rhythm-hover: a reply mid-turn draws no action row since #29740 (Copy once
  per turn); the play hovers the reply and checks none is drawn.
- user-bubble#answer-time-tooltip: since #31609 a reply's time is its exact time at the row's
  end, shown on hover, and its tooltip is the turn's time and tokens; the play waits for the
  time to show instead of a tooltip with a year.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Agent-Session: https://cmux.com/deeplink/agent?id=aid-ac5053f7854c8635a4d0
@github-actions

github-actions Bot commented Nov 2, 2026 •

Copy link
Copy Markdown
Contributor

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

Review a894815: 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=pr32269 -f ref=gallery-red-plays-waits -f platform=macos -f backend_mode=local

Gallery before/after for a894815: 16 states rendered, 26 images differ, 2991 more touched states not rendered. Images are in the run's artifact, not on this public PR; the independent review of this head reads them on its own, so the PR needs no hand-made screenshots of these states.

gh run download 41452719987 -R manaflow-ai/cmux -n gallery-advisory-32269-a8948154d46624c6dd95a5909c6d0042f7172865 (then read gallery-review.json)

States
State Theme Status Diff Picked by
agent-pane.acpmux-batch-send/batches Apple System Colors Light changed 5.47% own AcpmuxBatchSend.gallery.ts
agent-pane.acpmux-batch-send/batches Apple System Colors changed 5.41% own AcpmuxBatchSend.gallery.ts
agent-pane.acpmux-batch-send/batch-raw Apple System Colors Light changed 4.22% own AcpmuxBatchSend.gallery.ts
agent-pane.acpmux-batch-send/batch-raw Apple System Colors changed 4.18% own AcpmuxBatchSend.gallery.ts
agent-pane.acpmux-batch-send/batch-sending Apple System Colors Light unchanged 0% own AcpmuxBatchSend.gallery.ts
agent-pane.acpmux-batch-send/batch-sending Apple System Colors unchanged 0% own AcpmuxBatchSend.gallery.ts
agent-pane.gutter-select/tool-to-tool-gap Apple System Colors Light changed 0% own gutterSelect.gallery.ts
agent-pane.gutter-select/tool-to-tool-gap Apple System Colors unchanged 0% own gutterSelect.gallery.ts
agent-pane.gutter-select/tool-to-prompt-gap Apple System Colors changed 3.6% own gutterSelect.gallery.ts
agent-pane.gutter-select/tool-to-prompt-gap Apple System Colors Light changed 3.57% own gutterSelect.gallery.ts
agent-pane.gutter-select/tool-to-agent-gap Apple System Colors changed 3.68% own gutterSelect.gallery.ts
agent-pane.gutter-select/tool-to-agent-gap Apple System Colors Light changed 3.68% own gutterSelect.gallery.ts
agent-pane.gutter-select/prompt-to-tool-gap Apple System Colors changed 3.32% own gutterSelect.gallery.ts
agent-pane.gutter-select/prompt-to-tool-gap Apple System Colors Light changed 3.29% own gutterSelect.gallery.ts
agent-pane.gutter-select/prompt-to-prompt-gap Apple System Colors changed 3.53% own gutterSelect.gallery.ts
agent-pane.gutter-select/prompt-to-prompt-gap Apple System Colors Light changed 3.5% own gutterSelect.gallery.ts
agent-pane.gutter-select/prompt-to-agent-gap Apple System Colors changed 3.61% own gutterSelect.gallery.ts
agent-pane.gutter-select/prompt-to-agent-gap Apple System Colors Light changed 3.6% own gutterSelect.gallery.ts
agent-pane.gutter-select/agent-to-tool-gap Apple System Colors changed 3.32% own gutterSelect.gallery.ts
agent-pane.gutter-select/agent-to-tool-gap Apple System Colors Light changed 3.29% own gutterSelect.gallery.ts
agent-pane.gutter-select/agent-to-prompt-gap Apple System Colors changed 3.53% own gutterSelect.gallery.ts
agent-pane.gutter-select/agent-to-prompt-gap Apple System Colors Light changed 3.5% own gutterSelect.gallery.ts
agent-pane.message-runs/folded Apple System Colors Light unchanged 0% own MessageRuns.gallery.ts
agent-pane.message-runs/folded Apple System Colors unchanged 0% own MessageRuns.gallery.ts
agent-pane.message-runs/open Apple System Colors Light changed 5.41% own MessageRuns.gallery.ts
agent-pane.message-runs/open Apple System Colors changed 5.39% own MessageRuns.gallery.ts
agent-pane.message-runs/running Apple System Colors Light changed 0.0182% own MessageRuns.gallery.ts
agent-pane.message-runs/running Apple System Colors unchanged 0% own MessageRuns.gallery.ts
agent-pane.message-runs/codex Apple System Colors Light changed 0% own MessageRuns.gallery.ts
agent-pane.message-runs/codex Apple System Colors changed 0% own MessageRuns.gallery.ts
agent-pane.sent-message-rows/sent Apple System Colors Light changed 5.09% own SentMessageLine.gallery.ts
agent-pane.sent-message-rows/sent Apple System Colors changed 5.06% own SentMessageLine.gallery.ts

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

Shipped in:

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

Copy link
Copy Markdown
Collaborator Author

Owned by an agent session · session

@blacksmith-sh

blacksmith-sh Bot commented Nov 2, 2026 •

Copy link
Copy Markdown

Found 1 test failure on Blacksmith runners:

Failure

Test View Logs
parent-signal: bound did not handle the child's SIGINT/
parent-signal: bound did not handle the child's SIGINT
View Logs

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

…it in now; sent rows' shift rows count the run they open

- acpmux-batch-send: openTurn opens the "Sent N messages" line (#31398) after Worked for.
- message-runs#open: opens a finished turn's Worked for first when the run's line is inside it.
- shift-baseline: sent-message-rows sent, look-arrow, look-quote and recorded-file now open one
  more fold (the run line), which moves the reply and footer below it down 154px, as every fold
  opening does; their rows take the measured score (PR run 41446958864).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Agent-Session: https://cmux.com/deeplink/agent?id=aid-ac5053f7854c8635a4d0
@teamleaderleo

Copy link
Copy Markdown
Collaborator Author

Review (subagent claude-opus-5-5, correctness): SHIP at f5466bd

Visual verdict: unchanged by this diff (gallery plays and baseline rows only).

Each play now targets what its component draws.

  • The sent-message folds open button.cv-tool.is-toggle.is-run[data-message-run] and cover all three starting states.
  • The shell play's :not([data-message-run]) guard is needed, because the run line comes first in the DOM.
  • The gutter-gap search is bounded and falls back to a loud throw if nothing hits.
  • The reply-time hover waits out the opacity transition on .cv-turn-time.
  • grid-rhythm-hover matches hasReplyActions always returning false.
    Every waitFor callback fits the play.ts type. The four raised baseline rows all run openTurn, which gained the fold-open step; rows that don't use it are unchanged.

Follow-ups:

  • [follow-up] MessageRuns.gallery.ts openLine should click .cv-worked.is-toggle, like the other plays.
  • [follow-up] grid-rhythm-hover could also check that the block gap's height is the same before and after the hover.

…ches' shift row counts its run

A batch message whose text the transcript never held opens straight to its call (SentMessageLine.tsx),
so batch-raw waits for the call itself and clicks Raw only when one is drawn. batches now opens the
run line (#31398), which moves the reply below it, so its row takes the measured 0.04078
(PR run 41449180896).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Agent-Session: https://cmux.com/deeplink/agent?id=aid-ac5053f7854c8635a4d0
@cursor

cursor Bot commented Nov 2, 2026

Copy link
Copy Markdown

Bugbot needs on-demand usage enabled

Bugbot 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.

@teamleaderleo

Copy link
Copy Markdown
Collaborator Author

Review (subagent opus-5.5 medium): SHIP at a894815

Checked: each play now waits for or clicks what its component draws: the run line, the shell call (behind Raw when the message has words), the row gap target, the reply time revealed on hover, and no action row on a reply mid-turn. The waitFor types match play.ts, and the raised shift rows cover only the extra fold-open step (the rows below move about 154px, as every fold opening does).
Follow-ups: MessageRuns openLine clicks .cv-worked where .cv-worked.is-toggle would be more exact; grid-rhythm-hover could also check that the block gap is the same height before and after the hover.

@teamleaderleo
teamleaderleo merged commit 0b9dc27 into feat-cmux-next Nov 2, 2026
178 of 180 checks passed
@teamleaderleo
teamleaderleo deleted the gallery-red-plays-waits branch November 2, 2026 13:46

This branch was previously deployed

1 inactive deployment
ci-routing-agent — a8948154 Deployed Nov 2, 2026 by teamleaderleo via cmux-tui tree preflight #101430
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