feat(cmux-next): make transcript disclosures deterministic
Completed command groups in CMUX Next now keep their expansion state across virtualization and remounts. Native Codex-style live grouping defaults on; browser hosts keep the fallback unless they explicitly enable it. Search reveal and keyboard disclosure behavior remain intact, and edited-file fallback rows are keyed to the current session.
The answer footer gains a live Left / Right choice in Debug Settings (Turn footer actions, default Right). The composer keeps the protected prompt, location strip, queue, and control geometry while the footer placement remains independently tunable. The left/right gallery variants measure the real theme bridge and preserve the default right alignment.
Changelog
Changed: Preserve transcript expansion choices, offer left/right answer footer actions, and compact composer spacing.
Validation
- Focused disclosure, grouping, placement and gallery coverage tests: 10 passed, 18 assertions.
bun run typecheck: no type errors in 1486 files.- Exact-head geometry checks and gallery coverage run on the current PR head
d27a9060bebc8060bfe073bc3d6649aba70ac060; the PR autofix restored the protected composer rail after the pixel suites ran. - cmux16 compiled and published that exact head successfully. Immutable object:
d27a9060bebc8060bfe073bc3d6649aba70ac060-35088da4d24209617dbafea0b8b60c92d5f998118befaa3f4f915dba96f7c284; archive SHA-256:9a88219a42c4301400a5b2be370b3828e58ea01b9ac6afa239b219d94c313850. - No generated screenshot/log evidence is committed to this PR. Gallery evidence and exact-head validation stay with the PR/CI.
Need help on this PR? Tag @codesmith-bot with what you need.
Summary by cubic
Makes CMUX Next transcript disclosure state deterministic: command, group, and settled-run expansion now survives virtualization and remounts, keyed per session with stable tool/run IDs and persisted to localStorage. Codex-style live tool grouping becomes the default in native hosts; the Debug toggle still disables it, and browser/older hosts keep the fallback until they opt in. Edited-file fallback rows are scoped to the session.
New Features
- Adds the
agentPane.debug.turnActionsPlacementtunable: the host pushes footer action placement (left or right, default right) with the theme and it applies live; the gallery covers both placements. - Adds the
transcriptDisclosureprovider to the gallery and compacts the composer while preserving the multi-line edit cap, the protected prompt, and the stable vertical geometry. - The appearance gallery now covers background loading and empty states in the picker.
Validation: bun test test/transcript-disclosure.test.tsx test/codex-tool-runs.test.tsx test/turn-actions-placement.test.tsx and bun run typecheck pass, with Swift focused tests for the new tunable defaults.