Skip to content

feat: add experimental Muse Code MSP provider - #8425

Draft
mouseos wants to merge 2 commits into
lidge-jun:devfrom
mouseos:feat/muse-msp
Draft

mouseos wants to merge 2 commits into
lidge-jun:devfrom
mouseos:feat/muse-msp

Conversation

@mouseos

@mouseos mouseos commented Nov 9, 2026 •

Copy link
Copy Markdown

Summary

  • Add an experimental Muse Code provider using the installed, signed-in Muse CLI over MSP, mapping Responses messages and client-owned tools to isolated CLI sessions.
  • Bind sessions to the authenticated OpenCodex client and conversation. Developer-instruction projection requires explicit opt-in.
  • Refuse requests with an enforced token spend limit before starting Muse: individual physical model sends within a CLI segment are not observable by the adapter.
  • Related: meta-muse requests fail with 403: subscription covers Muse Code client only #8352 (the existing direct subscription-key route receives a 403). This adds a separate CLI route.

Verification

  • On Windows with Muse Code 1.4.14, the isolated registered provider completed a real text turn and resumed a Codex CLI conversation.
  • An actual Codex CLI invoked a read-only fixture MCP tool via the real Muse-backed provider. The returned value reached Muse and appeared in Codex's final answer, including after the spend-limit guard. The CLI emitted a model metadata warning.
  • A write-capable fixture MCP tool was rejected by Codex's approval policy, and shell execution was blocked by local policy; successful Codex file editing remains unverified.
  • An isolated real-Muse test with a local mock model observed two physical sends while a one-send budget counted one segment. The guard now rejects enforced token-spend limits before the CLI starts; a registered-server regression test covers this path. Physical-send and workflow count caps remain approximate for this route.
  • Focused backend tests: 200 passed, including 129 Muse and lifecycle tests. GUI tests: 16 passed. Typecheck, GUI production builds, structure check and privacy scan passed. The documentation site built 649 pages after the upstream rebase.
  • Changed-test run was stopped due to shared-machine resource use; no result is claimed. Full-suite validation, cross-platform coverage and maintainer security review remain open.
  • File-backed Muse login and an OpenCodex client API key are required. Meta's permission for third-party subscription integrations remains unverified.

Provider setup preview using fixture data:

Muse provider setup

Checklist

  • Scope stays focused and avoids unrelated cleanup.
  • Docs or release notes were updated when needed.
  • Security-sensitive changes were reviewed for secrets, auth, and unsafe defaults.

Review readiness checklist

This PR stays in draft until every box below is ticked. Tick all four boxes once the requirements are met:

  • Required local validation passed; commands, results, and any full-suite exception are documented.
  • I pushed my PR to a recent dev commit (at most 10 behind; a maintainer may still ask for the exact tip before merge).
  • I resolved all correct Codex and CodeRabbit findings.
  • My PR is ready for review.

@coderabbitai

coderabbitai Bot commented Nov 9, 2026

Copy link
Copy Markdown
Contributor

Important

Draft PR not reviewed

Draft PRs are not automatically reviewed by default.

  • Trigger a manual review

To automatically review draft PRs, update your CodeRabbit configuration:

reviews:
  auto_review:
    drafts: true
  • Autofix · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

Share

@github-actions

github-actions Bot commented Nov 9, 2026

Copy link
Copy Markdown
Contributor

⚠️ Deterministic hygiene checks failed.

  • unsponsored_surface — This changes an authentication, workflow, release-automation, or dependency surface. MAINTAINERS.md requires security review for these; ask a maintainer to apply maintainer-sponsored once they have reviewed it. Paths: src/server/auth-cors.ts.

@github-actions github-actions Bot added intake: hygiene-blocked Deterministic PR hygiene checks failed enhancement New feature or request labels Nov 9, 2026
@github-actions

github-actions Bot commented Nov 9, 2026 •

Copy link
Copy Markdown
Contributor

⏳ DRAFT

  • hygiene: unsponsored_surface.

What to do

  • Fix unsponsored_surface — This changes an authentication, workflow, release-automation, or dependency surface. MAINTAINERS.md requires security review for these; ask a maintainer to apply maintainer-sponsored once they have reviewed it. Paths: src/server/auth-cors.ts.
  • Tick all four boxes in the PR description once you're done (currently 0/4).

Review readiness checklist

  • ⬜ Required local validation passed; commands, results, and any full-suite exception are documented.
  • ⬜ I pushed my PR to a recent dev commit (at most 10 behind; a maintainer may still ask for the exact tip before merge).
  • ⬜ I resolved all correct Codex and CodeRabbit findings.
  • ⬜ My PR is ready for review.

0/4 boxes ticked.

This pull request was already a draft. Its draft status will be preserved after every issue above is resolved.
@mouseos Tick the boxes once required local validation has passed with commands, results, and any full-suite exception documented, your branch is on the latest dev commit, and every correct Codex and CodeRabbit finding is resolved.

Hygiene

⚠️ Deterministic hygiene checks failed.

  • unsponsored_surface — This changes an authentication, workflow, release-automation, or dependency surface. MAINTAINERS.md requires security review for these; ask a maintainer to apply maintainer-sponsored once they have reviewed it. Paths: src/server/auth-cors.ts.

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request intake: hygiene-blocked Deterministic PR hygiene checks failed

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant