Repository navigation
feat(native-chat): add Muse live-terminal effort picker - #23089
Draft
clichedmoog wants to merge 3 commits into
Draft
clichedmoog wants to merge 3 commits into
clichedmoog wants to merge 3 commits into
Conversation
This branch has not been deployed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
ELI5
Muse chat sessions grow an effort pill: pick Minimal–Ultra in the composer and the live terminal session switches reasoning effort via
/effort, the same way Claude's/modelswitch works.What Changed
MUSE_EFFORTgainsmidSession: { kind: 'command', build: (value) => '/effort <value>' }, reusing the 7-level vocabulary feat(orchestration): accept Muse model and effort for supervised workers #22383 defined for worker launches. Same shape as the antigravity and claude-codex effort options.readMuseSessionOptionsFromTerminalScreen: scrapes the TUI status line (<model> · <effort> · <cwd> · <mode>, bottom-up after ANSI strip) and reports{ model, effort }so the pill shows what the session actually runs. The model id is reported raw — ids are account-scoped with no listing command, so there is still no model picker by design.use-native-chat-session-optionsreports those values formuseterminal tabs, mirroring the Claude hookup.Why
#22998 renders the conversation but leaves the composer pill-less; effort is the one Muse session option with a fixed, switchable vocabulary. Alternatives: worker-launch-only (already exists, does not help live sessions); a model picker (impossible — no listing command); polling
session.jsonlfor effort (the log has no effort field; the status line does).Linked Issue
Fixes #23088
Visual Proof
Desktop dev build on macOS, live Muse session whose TUI status line reads
muse-spark-1.3-contributor · max · …:Picking from the pill dispatches into the live PTY and the pill tracks the result:
This also confirms the
/effort <level>slash syntax against Muse 1.4.0.Testing
/effort <level>into the PTY)Reader (5 tests) and catalog dispatch (3 tests).
pnpm tc,oxlint/oxfmton touched files, and the changed-lines quality gate pass locally.AI Disclosure
Written with AI assistance (Muse Code, Meta Muse Spark); verified with the repo's own test suites.
Agent skill upstream boundary
Checklist
N/Awith reasonpnpm lint,pnpm typecheck,pnpm test, andpnpm buildpass (or CI will cover; local preferred)