fix(agent-pane): remember expanded sub-session result text
Expanding a long sub-session report with Show more used to be forgotten as soon as its card closed, or its transcript row scrolled out of the virtualized range. Reopening the card showed only three lines again. Result text now uses the same session-scoped disclosure storage as its outer row, keyed by the tool call and child session (or agent-run ID).
The regression test expands one of two reports, closes/reopens its card, unmounts/remounts the transcript, and switches parent chats. It failed before the fix and passes afterward. It also verifies a sibling stays collapsed. The existing Markdown, Copy, Raw and Show less controls remain.
Leo's standing hunt, 2026-10-31:
i think we can accelerate faster. we have the vms, we have the work to do, we have the inference. i think let's get everybody up to speed and start chewing away at our backlogs and coming up and identifying the new things to do
Design: leo-workspace design/chat-transcript.md, expansion persists across virtualization. Prior art read: #27262 (outer disclosure persistence), #27240 (prompt dedupe), #28057 (Copy), #28128/#28113 (current row layout), plus open #28291 (row grammar) and #28324 (full-text reachability/scroll anchoring). This fixes the nested Show more state; it changes none of those layout or anchoring rules.
Validation: 12 disclosure tests pass (87 assertions), full typecheck passes, changed-file lint and formatting pass on Node 24. Full bun run check reports settings design-token/layer violations, nine settings formatting files and ContextMenusCard accessibility warnings; those files and the token baseline are byte-identical to base 1d014c9af0442f39ae87b08cd3a919bdd31dcff5. Remote combined check follows once this draft exists. No Swift changes; no native suite needed.
Screenshots: agent-pane.subsession-cards#result-reopened, synthetic content, Chromium at 2x in light and dark, cropped with context. Same sequence before/after: open report, Show more, close card, reopen. I viewed both after images: the full report remains open, the final checkpoint is visible, and no extra control or layout was added. Gallery interactions completed, but the general gallery performance checks flag layout shifts on both before and after; this is not a gallery-health pass.
Before/after images will be attached immediately after this draft opens.
Risk: normal. Reuses bounded disclosure storage and its parent-chat scope. No new timers or observers; the existing preview ResizeObserver still disconnects on expansion/unmount.
Agent session: agent session
![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.