fix(next): keep composer controls and persistent Codex goals visible

Merged
TE
14d ago
+458-33

Codex’s advertised speed tiers and slash commands were unavailable in the New Tab before the first prompt. A deferred session could publish its commands after creation, but the page had no safe read path for them.

This PR keeps the model’s actual service tiers visible as Standard/Fast/Ultrafast choices, preserving the real tier ids through the Codex bridge. Typing / in a Codex New Tab prepares a deferred session, reads its published command list without attaching it, and keeps stale reads from replacing a newer session’s commands. The Codex bridge pin is updated to 6e476aa8220e18aad1eaeaabd59659b53f7eca31 from cmux-codex-acp#9.

Persistent Codex goals are split into the stacked goals branch so this PR stays focused and below the requested size threshold. Composer-look ownership remains in #24519.

Verification

  • Exact rebased head: d441bfcd0ffb2d666aef179e146b45b878322f12 on feat-cmux-next base b9adbebe32ff955e0ddc2d811462b98045aff249.
  • Focused tests: 5 New Tab layout/slash-command tests, 9 speed-toggle tests, and 1 pending-speed test passed.
  • python3 scripts/cmux-next/prepush-gate.py passed with no new violations.
  • The full bun run check/web-lint lane remains red on pre-existing base failures in the thread-minimap files (formatting and readonly/type errors); those files are unchanged here. check-system-blue also reports its existing SidebarListView baseline finding.
  • Canonical gallery speed fixture builds from the real components; no native AppKit changes are included in this PR.
  • Native Rust and hosted CI are pending on this new exact head. The bridge dependency PR has hosted Linux/macOS checks green at its pinned head.

Scope boundary

This PR does not change composer-look dot placement, New Tab access presentation, inactive-glass tint, or persistent goals. Those changes stay in their owner PRs.

Primary review will inspect this exact rebased head before the normal squash merge.

Agent session: cosmic-gray