fix(chat): the live line under a run is one more 22px line of it (#29965)
The live line under a run is one more 22px line of it, and the waiting group ("2 messages from 2 sessions") under the live line sits 22 under it (#29965). On base the live line sat in the footer's 32px slot even when it came right after a step row, so agent-pane.transcript-spacing-table measured step-to-live at 27 and live-to-step at 51, in both light and dark.
Leo: "well now there's sometimes too much spacing between tool calls"
The spacing was regressed by #27580 (squash 044769ae). #31497 restored the 22 pitch between steps, and #31690 put the live line in the footer slot.
model.tsisLiveStep: when the running turn's line is the last row (below) and sits right after a step row, it getsMARK_STEPand the height of one tool row (22). That keeps the transcript gap flush on both sides of it. Under a reply or a prompt it keeps the 32px footer slot, so the turn ending still moves nothing there.App.tsxmarks that rowacpmux-row--after-step.conversation.csssizes it at--cv-tool-row-height, for both the working/thinking line and the activity line.transcriptSpacing.ts: deleted thependinglines on step-to-live and live-to-step. Both now measure 22.0 in light and dark.
One trade-off: under a run, the line is now 22px tall, not 32. When the turn ends and the 32px footer takes its place, the footer grows by 10px. Under a reply or a prompt nothing changes.
Tests: transcript-spacing-table step-to-live and live-to-step went from red (pending) to green. These failures are the same on base: the transcript-spacing-table rows prose-to-footer, footer-to-next and footer buttons; rowEstimates "a steer the agent has not read"; working-counts "a count moves nothing"; and transcript-rhythm "a message above the composer" (4 variants). These stayed green: continuationSpacing, rowLayoutLinearity, running-live-line, codex-live-line, running-layout, ctrl-b-background, activity-line, peer-chat, chat-column, collapsed-tool-runs and followGlide. fmt and tsc are clean.
Agent session: agent session
š¤ Generated with Claude Code
![View with [code]smith](https://pr-comments-assets.blacksmith.sh/codesmith/view-with-codesmith-dark-v3-3x.png)
![Autofix with [code]smith](https://pr-comments-assets.blacksmith.sh/codesmith/autofix-with-codesmith-dark-3x.png)
Need help on this PR? Tag @codesmith-bot with what you need.
Summary by cubic
Fixes the live line spacing under a run so the step-to-live and live-to-step gaps both measure 22px.
When the running turn's line sat right after a step row, it took the footer's 32px slot, measuring 27px under the run and 51px under the waiting group. It's now treated as one more 22px tool row in that position, keeping the transcript gap flush on both sides.
- The line only changes under a run; under a reply or prompt it keeps the footer's 32px slot.
- Trade-off: when the turn ends, the footer grows by 10px to reclaim its 32px slot.