Repository navigation
fix(chat): one-line activity rows sit 22 apart again (#27580 regression) - #31497
Conversation
#27580 drew every tool, notice, inbox and message line on the 28 list row and put the 24 block gap between each one (between transcript rows and inside a run's .cv-tools, .cv-tool-run and .cv-tool-group), so consecutive one-line rows sat about 50 apart top to top. Leo, 2026-11-02: "well now there's sometimes too much spacing between tool calls". design/chat-transcript.md "One-line row pitch" (#29965) has them flush, 22 apart. - --cv-tool-row-height is 22 again; received lines and disclosure lines use it. - Run stacks list their lines flush (gap 0); a note keeps the block gap around it (--cv-note-gap). - transcriptGrid: a step row (a tool run or an isLineRow line, MARK_STEP) after another step row takes no gap; the block gap is only around a run of them. The estimator matches (22 lines, no in-run gaps, the note gap). Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Agent-Session: https://cmux.com/deeplink/agent?id=aid-ac5053f7854c8635a4d0
|
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)
Gallery before/after for
States
Pick other states with a Probably yours: 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 Shipped in:
|
|
Owned by an agent session · session |
… its tokens rowEstimates: another agent's message, a sent message and a task notice are one 22px line (design/chat-transcript.md "One-line row pitch"). agent-pane-working-counts read --cv-meta-row with parseFloat, which is NaN since the token is a var() chain; it resolves each token through a probe's height. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Agent-Session: https://cmux.com/deeplink/agent?id=aid-ac5053f7854c8635a4d0
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Agent-Session: https://cmux.com/deeplink/agent?id=aid-ac5053f7854c8635a4d0
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. |
|
Found 24 test failures on Blacksmith runners: Failures
...and 14 more test failures. View all on Blacksmith: run 41377585317, run 41377585247
|
…apart (#29965) The running turn's live line (thinking/working, and the live run line) took the 24 block gap under a run of step rows; it is one more line of the run, so it joins flush. Under its own prompt it still waits a block gap (grid.md 5.5). continuationSpacing tests both. The reply-room comment no longer says a note adds no room (review follow-up). Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Agent-Session: https://cmux.com/deeplink/agent?id=aid-ac5053f7854c8635a4d0
…l run (#29965) Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Agent-Session: https://cmux.com/deeplink/agent?id=aid-ac5053f7854c8635a4d0
…tter Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Agent-Session: https://cmux.com/deeplink/agent?id=aid-ac5053f7854c8635a4d0
#31497 brought step-pitch, run-to-step and step-to-prompt to their values, so their test.failing rows (cmux#31614) turned red on base. Drop pending on those three. The live line (25) and the waiting group (49) are not on the 22 pitch yet; their rows stay pending, now naming grid-system. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Agent-Session: https://cmux.com/deeplink/agent?id=aid-81baa1463f6190d4c5dc
…31686) #31497 brought step-pitch, run-to-step and step-to-prompt to their values, so their test.failing rows (cmux#31614) turned red on base. Drop pending on those three. The live line (25) and the waiting group (49) are not on the 22 pitch yet; their rows stay pending, now naming grid-system. Agent-Session: https://cmux.com/deeplink/agent?id=aid-81baa1463f6190d4c5dc Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
… and line tokens (#31905) The .cv-disclosure row lost its 2px outer margin in #27580 (a gap belongs to its container) and its line height became var(--cv-tool-row-height) in #31497; the test still expected 2px 0 and 26px. Assert the tokens instead. Agent-Session: https://cmux.com/deeplink/agent?id=aid-ac5053f7854c8635a4d0 Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
transcript-spacing, composer-rest-gap, queued-user-footer and the live-line plays in transcript.gallery.ts asserted the pre-grid rhythm: --cv-turn-gap overrides, a 16px turn gap kept in each row's box, a waiting steer row flush with the bubble's right edge, and a live line 14px clear of the run over it. The grid (#27580), the reply footer row (#31690), the waiting steer row (#31683) and the flush live line (#31497) changed those by design; the plays now read the same grid tokens. Agent-Session: https://cmux.com/deeplink/agent?id=aid-ac5053f7854c8635a4d0 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-11-02, on a transcript where consecutive one-line tool rows ("Ran 3 commands, read a file", "Ran 3 commands", "Read HQ#5724 token design", the live row) sat about 48-52px apart top to top:
Regressed by #27580 (squash 044769a): it drew every tool, notice, inbox and message line on the grid's 28 list row and put the 24 block gap between each one, both between transcript rows (
transcriptGap) and inside a run (.cv-tools,.cv-tool-run,.cv-tool-groupgap). The settled design is leo-workspacedesign/chat-transcript.md"One-line row pitch" (#29965; Leo, 2026-11-01: "doesn't make sense for these to be spaced differently"): every one-line row is the tool rows' 22px line, and consecutive ones are 22 apart top to top.What changes:
--cv-tool-row-heightis 22 again; received lines and disclosure lines use it.--cv-note-gap), so Transcript: more room around notes between tool calls #30400's room around a note holds.transcriptGrid.ts: a step row (a tool run or anisLineRowline,MARK_STEP) after another step row takes no gap. The 24 block gap applies only between prose or a card and a run of one-line rows. Gaps never add.model.tsestimates match: 22 lines, no in-run gaps, the note gap.rowEstimates.test.tsexpects 22.Tests (cmux-ci at this head, base reds from react-apps-check run 41362440478):
agent-pane-step-rows,transcript-thought,incoming-message-disclosure-browser,agent-pane-suggested-tasks,agent-pane-working-countsred at base; results at head in a comment.transcript-row-pitch-browser,transcript-rhythm,transcript-interim-prose-gap,continuationSpacingstay green.Not in this PR: #29124's centred status rows (
STATUS_GAP, zeroed by #27580). They go in a follow-up so this one lands first.Risk: transcript spacing only (CSS tokens, the layout's gap rule, the estimator).
Agent session: agent session
🤖 Generated with Claude Code
Need help on this PR? Tag
@codesmith-botwith what you need.Summary by cubic
Restores one-line activity rows (tool calls, notices, inbox, and message lines) to 22px apart top to top. PR #27580 regressed this by drawing each row on the 28px grid row with a 24px block gap between them, so consecutive rows sat about 50px apart.
transcriptGrid.tsand the height estimator match the new spacing;rowEstimatestests expect the 22px line, andtranscript-rhythmasserts the live line sits flush under its run.agent-pane-working-countsresolvesvar()token heights through a probe instead ofparseFloat, which wasNaNon the token chain.Regression context
Leo, 2026-11-02, on a transcript where consecutive one-line tool rows sat about 48–52px apart top to top: "well now there's sometimes too much spacing between tool calls". The settled design (design/chat-transcript.md "One-line row pitch", #29965) is every one-line row on the tool rows' 22px line, consecutive ones 22px apart. Status rows (#29124) go in a follow-up; risk is transcript spacing only — CSS tokens, the layout's gap rule, and the estimator.
Written for commit 1d30d9a. Summary will update on new commits.