cmux-next: a new chat's effort chip names the level acpmux starts it on (Lawrence: "we lost effort")
Problem
Lawrence (10-14): "we lost effort". With Claude Opus 5.5, the New Tab composer showed only the model chip, with no Reasoning chip.
Before a chat's session reports its options, the effort chip draws a placeholder (PendingChip). Since #20335, that placeholder only shows a level a previous chat on the same harness remembered (chipMemory.ts). On a fresh profile, or a harness id no chat has reported on (e.g. claude-sr), it draws nothing.
Change
Before the session reports, the chip falls back to the level acpmux will start the harness on: _acpmux/harnesses start.effort (start_defaults.rs; Opus 5.5 starts at Medium). A remembered chip still wins.
Not in this PR (cx-ervhd, separate PR, waiting on SHOW LEO): the Reasoning menu itself, where a chat on the agent's own level shows "Low" with nothing checked, and Ultracode/Ultrathink sit among the levels.
Verification
- Red at 175a267 (test only): the
new-chat-reasoningplay in local Chromium shows onlyClaude Opus 5.5among the chips, and the waitFor for "Medium" does not hold. - Green at 9a3e39b: the same play renders
Claude Opus 5.5 | Medium, and the play passes. - CI runs
test/new-chat-effort-chip.test.tsin the browser lane. Not run locally under bun test: big-red's inotify limit starves Vite's watcher, and the memory freeze bars heavy local runs. - Chat-composer half of the report: a hosted acpmux probe is checking whether a new Claude chat attaches with its effort and fast-mode options. Results will follow on this PR.
Changelog
- Fixed: a new agent chat shows its Reasoning level before the agent starts, instead of the model chip alone.
š¤ Generated with Claude Code
Need help on this PR? Tag @codesmith-bot with what you need.
Summary by cubic
Fixes a new chat's effort chip naming the level acpmux starts the harness on, so the Reasoning chip no longer goes missing on a fresh profile or a harness no chat has reported on yet.
- Before the session reports its options, the chip falls back to
_acpmux/harnessesstart.effort(Opus 5.5 starts at Medium); a level remembered from a prior chat still wins. - Adds a Chromium gallery play and test covering the fallback.
- Not in this PR: the Reasoning menu itself, where a chat on the agent's own level shows unchecked and Ultracode/Ultrathink sit among the levels.
Showcase
In a fresh profile, open a New Tab with Claude Opus 5.5 picked. Before, from tagged DEV builds on macOS 27 at base 2834e65: no effort chip. After, at head 6305c75: a "Medium" chip next to the model. I checked that the head app's bundled pane.js contains the fix. The host chip is masked.


Full quality:

Full quality: