feat: add coder/mux built-in adapter#365
Conversation
|
Codex review: found issues before merge. Reviewed June 4, 2026, 9:43 AM ET / 13:43 UTC. Summary Reproducibility: not applicable. as a bug reproduction: this is a feature PR adding a new built-in adapter. The PR body gives a concrete live terminal proof path for the new behavior. Review metrics: 3 noteworthy metrics.
Merge readiness Overall follows the weaker of proof and patch quality, so missing proof can cap an otherwise strong patch. Rank-up moves:
Risk before merge
Maintainer options:
Next step before merge
Security Review findings
Review detailsBest possible solution: Land the adapter only if maintainers explicitly approve Do we have a high-confidence way to reproduce the issue? Not applicable as a bug reproduction: this is a feature PR adding a new built-in adapter. The PR body gives a concrete live terminal proof path for the new behavior. Is this the best way to solve the issue? Unclear until maintainer policy is settled: the registry and docs patch is narrow and live-proofed, but adding a core keyword for this npm execution path is a product and supply-chain decision. Full review comments:
Overall correctness: patch is correct AGENTS.md: found and applied where relevant. Codex review notes: model gpt-5.5, reasoning high; reviewed against 1522159f9fd8. Label changesLabel justifications:
Evidence reviewedSecurity concerns:
What I checked:
Likely related people:
What the crustacean ranks mean
Shiny media proof means a screenshot, video, or linked artifact directly shows the changed behavior. Runtime, network, CSP, and security claims still need visible diagnostics. How this review workflow works
|
Add `mux` to the built-in agent registry, resolving to `npx -y mux acp` (coder/mux's ACP stdio bridge). Follows the existing npx-backed adapter pattern (kilocode/opencode): no global install required and no core changes, since the command resolves through the generic spawn path. Also adds agents/Mux.md, the docs/agents.md + README + skills registry entries, an install note, a CHANGELOG entry, and a registry test. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
0ab05b7 to
82ffbc8
Compare
Summary
Adds
mux(coder/mux) as a built-in ACP agent.acpx muxresolves tonpx -y mux@^0.26.0 acp(version-pinned), launching coder/mux's ACP stdio bridge — no global install required.mux exposes a real ACP agent via
mux acp(built on@agentclientprotocol/sdk, stdio JSON-RPC) and ships as the unscoped npm packagemux, so it slots into the existing npx-backed adapter pattern as a registry entry with no core changes. The version is pinned throughACP_ADAPTER_PACKAGE_RANGES, exactly likepi/codex/claude.Changes
src/agent-registry.ts— addmuxtoACP_ADAPTER_PACKAGE_RANGES(^0.26.0) and the registry (npx -y mux@^0.26.0 acp, alphabetical betweenkiroandopencode)test/agent-registry.test.ts— registry resolution + ordering testagents/Mux.md— agent doc (mirrors thefast-agenttemplate)docs/agents.md— registry table row + per-agent sectionREADME.md,docs/install.md,agents/README.md,skills/acpx/SKILL.md— registry/doc entriesCHANGELOG.md— Unreleased entry(Docs show the unversioned
npx -y mux acpper the existingpi/codex/claudeconvention; the pin lives in code.)Live verification (mux v0.26.1)
Ran end-to-end against a locally-configured mux (
anthropic:claude-opus-4-8); the acpx adapter itself needs no provider key. Verbatim run:Full path confirmed:
acpx mux→ spawnsnpx -y mux@^0.26.0 acp→ ACPinitialize(protocol v1) → mux auto-starts its in-process server →session/new→ real prompt round-trips (model returnedACPX-MUX-OK,end_turn). mux installs cleanly via npx.Notes (addressing the automated review)
mux@^0.26.0viaACP_ADAPTER_PACKAGE_RANGES(same mechanism aspi/codex/claude), so npx resolves a locked range rather than "latest" — the supply-chain mitigation the review asked for. A future bump is a one-line range change.mux api projects set-trust) beforesession/newsucceeds — a mux-side workspace gate, not an acpx concern.AGENTS.md(add entries underCHANGELOG.md, grouped with the PR) and consistent with the priorfast-agentPR (feat: add fast-agent built-in adapter #350).@agentclientprotocol/sdk ^0.14.1vs acpx's^0.22.1; both negotiate ACP protocol v1 atinitialize(verified above).Testing
node --test dist-test/test/agent-registry.test.js→ 16/16 pass (incl. newmuxtest +listBuiltInAgentsordering)oxfmt --check,oxlint --type-awareclean; pre-commit build (tsdown) passes🤖 Generated with Claude Code