Repository navigation
Chat: halve the gap between the same assistant's turns - #26755
Conversation
|
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: web / Web status; base red: the same failure on the base 7bf46b5; does not block Gallery before/after for
States
Pick other states with a |
|
Owned by an agent session · session |
|
Bead |
|
Review (codex gpt-6-astra high, next-review): SHIP at 4e57dad No blocking findings. |
|
Shipped in:
|
…d gaps (#31946) * base red: transcript continuation and fold tests read the stack's grid gaps (#27580) Both browser tests predate #27580, which moved every outer gap between transcript rows into the virtual stack (design/grid.md 5.5). The continuation test still asked for #26755's half gap and #29860's footer drop inside the row; the fold test counted every placed gap, and the row's own gap target, as blank space. Both now take their values from the grid tokens (gridLength). Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Agent-Session: https://cmux.com/deeplink/agent?id=aid-ac5053f7854c8635a4d0 * test(chat): the fold check allows only the gaps transcriptGap places (no inner gap) 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>
![Fix with [code]smith](https://pr-comments-assets.blacksmith.sh/codesmith/fix-with-codesmith-light-3x.png)
Consecutive turns from the chat's assistant use an 8px footer-to-next-turn gap, half the existing 16px turn gap. Human prompts, incoming messages from another agent, and the end of the transcript keep the full gap. The assistant identity comes from the chat's own assistant/activity rows; incoming peers remain user rows.
Leo: "I feel like you could probably halve the padding, the whole gap in between here, because it's just your messages, right?"
This follows foundations §3/4 (merged in #1352): the existing shared spacing tokens own the geometry. Section 3 says "New padding and gaps use the scale"; section 4 says "No O(rows) work per streamed token". The visible-row renderer computes its existing next-drawn neighbor once and shares it across all three footer flags, with no new traversal, timer, observer or frame loop. Estimated heights and the row-height cache use the same continuation boundary as the rendered footer.
The gallery
agent-pane.continuation-spacingcompares half gap, two-thirds gap, and half gap with the footer tucked. Selected: half gap with the existing footer inset, keeping its controls clear of the text. References inspected at cmux-design-referencesa8578a4: Claudetranscript-markdown-rendering.pngandtranscript-tool-rows-and-task-list.png, and Codextranscript-expanded-command-activity.png.Public fixture before / after
Same public fixture, viewport and real footer hover. Captured at
3a60a033433959c5034b2e0404281464878dd5a5. The current reconciliation head05f5e73381cc5eb81564d33ab76282917b3c415bretains the implementation’s DOM and geometry; the same public fixture captures apply.Validation
05f5e73381cc5eb81564d33ab76282917b3c415b, with 27 tests / 152 assertions, including actual browser spacing, continuation classification, retained row estimates and row-layout linearity. Web lint/check, scoped pre-push gate and whitespace check pass.7bf46b579c0435d6cd103fca79190bfdad9f799f. The cold row-layout measurement is 26.70ms; per-update p50 1.61ms / p95 2.62ms / max 2.71ms in the existing linearity harness.Review (independent Codex gpt-6-astra high, review_spacing_final_26755): SHIP at 05f5e73
The different-model read-only reviewer inspected the whole final diff from the bare mirror, including boundary classification, row-edge cache invalidation, measurement dependencies, CSS and estimates. No concrete lifecycle, cache, scroll or per-token complexity blocker was found. Primary inspection agrees. This is a subagent review, not a fleet review-box run.
Observed / Not run
Final check reconciliation: the original inspector run timed out before its sixth case, so that case supplied no verdict. The desktop WebKit diff-selection case reported
value_versus an empty selection; the retained base assertion was insufficient to classify that failure as a base red. Clean exact-tree recovery run 40802169837 passed all 14 tests (8 desktop and 6 inspector), with tree0219470fcf5e0e245579216277d2ad15e79eae75identical to the frozen source head. No source change was needed.Measured footer-to-next-row gaps are 8px for the same assistant and 16px for incoming-agent and human boundaries; computed padding is
[8, 16, 16, 16]. Changing the shared spacing tokens ondocumentElementchanges those computed paddings to[10, 20, 20, 20]. Retained row-height estimates update across continuation and speaker changes, and empty footer controls keep their 24px floor.The two runs above have red workflow conclusions from snapshot-wrapper issues: the first history-sensitive gate examined the parentless snapshot as a new repository; the second command passed, but the wrapper rejected the deliberate checkout from the snapshot to the real source head. Both report the same tested source tree
e3235ef1b09af53626a29d2503cf45bfa95f18c4. Narrow recovery run 40648260773 succeeds with snapshot HEAD fixed and the published source SHA passed to the gate. Native app build and macOS dogfood were not run.Overlap checked before edits and after implementation. Coordinated with the owner of #26373; this change leaves its received-message and queued-delivery implementation to that PR. The coordinating agent owns final independent review, required-check reconciliation and landing.
Changelog
Fixed: Consecutive turns from the same assistant use half the vertical gap while speaker changes retain their spacing.
Agent session: agent session