Transcript spacing: enforce received, status and expanded-run rows over one gallery scene
Enforces the new rows of the transcript spacing table as pitch tests over one gallery scene. Each row kind of Leo's 2026-11-02 capture (a received line, "Scheduled check", an expanded "Ran 2 commands", "Compacting the conversation…") now has a measured row with a target.
Leo, 2026-11-02 23:59Z, on that stretch of the transcript: "these are all so stupid looking", then "as in" / "the spacing" / "y'all need to just go study". Earlier that day: "we need to like enforce the good versions when we find them later in the specs/comments/tests or something".
transcriptSpacing.ts:TRANSCRIPT_SPACING_KINDSadds 11 rows:body-line,footer-to-received,received-to-status,status-to-run,run-to-child,child-pitch,child-to-prose,footer-to-prompt,prompt-to-status,status-to-proseandstep-to-status.RUN_CHILDsets an opened run's child indent, 0 from the head's text.TranscriptSpacingTable.gallery.ts: variantall-kindsis one Claude Code chat (summary.family = "claude") with these rows in order:- a prompt, a two-paragraph reply and its footer;
- a received message, then "Scheduled check";
- "Ran 2 commands" (the test opens it), a reply and its footer;
- the next prompt, a finished compaction and a two-line reply;
- a command, then "Compacting the conversation…".
test/transcript-spacing-kinds.test.ts: opens the run and measures each row between visible marks (glyph-box centres, bubble edges, footer glyph centres), in Chromium, light and dark.- All rows are on value: the three status-line rows (
received-to-status,status-to-run,step-to-status) measured 45.5 to 46 before #32726 ("status and tool rows sit flush") and are 22 now, so none ispending.
The targets, and the ChatGPT and Claude references behind each, are in leo-workspace design/transcript-spacing.md, section "Row kinds" (teamleaderleo/leo-workspace#2586). The composer rest gap stays with agent-pane-composer-rest-gap.test.ts.
Changelog
none
Observed / Not run
- Observed:
cmux-ci test --setup playwright -- bash -c 'cd webviews && CMUX_TRANSCRIPT_SPACING_LOG=1 bun test test/transcript-spacing-kinds.test.ts test/transcript-spacing-table.test.ts'passed on the fleet at this head's tree: 98 pass, 0 fail, across 2 files. Before #32726 the gaps were identical in light and dark: body-line 22.75, footer-to-received 51, received-to-status 45.5, status-to-run 46, run-to-child 22, child-pitch 22, indent 0, child-to-prose 38, footer-to-prompt 48, prompt-to-status 42.5, status-to-prose 38, step-to-status 46. After #32726 the three status rows measure 22. - Observed:
bun run checkandpython3 scripts/cmux-next/prepush-gate.pypassed. - Not run: no app build. The change is a test, a gallery fixture and test constants, with no product code.
Agent session: agent session
🤖 Generated with Claude Code