Skip to content

acpmux: ask every chat to batch its first reads and keep working while a bg task runs - #34579

Merged
teamleaderleo merged 1 commit into
feat-cmux-nextfrom
lane/agent-instructions-concurrency
Nov 4, 2026
Merged

teamleaderleo merged 1 commit into
feat-cmux-nextfrom
lane/agent-instructions-concurrency

Conversation

@teamleaderleo

@teamleaderleo teamleaderleo commented Nov 4, 2026 •

Copy link
Copy Markdown
Collaborator

Leo, on why some cmux NEXT sessions do better work than others on the same model:

just being able to read things earlier, like concurrently with the multitasking, I feel like some sessions do it better than others for some reason. Like I feel like it's not just the model. Like there might be some sort of prompting situation [...] see what CMUX Next is missing, and, like, what it can take inspiration from, what it's doing well, what it could do better, what it's doing poorly that we can cut

Leo-ask: ask-c344b7792d

What cmux adds today

A cmux NEXT chat gets the harness's own system prompt (Claude Code's, or Codex's), plus the instructions of the MCP servers cmux attaches:

  • acpmux: the bg_start steer and the github_status steer
  • cmux-subsessions
  • cmux-cloud-repos (Cloud machines only)
  • in code mode, cmux_exec's description, which carries the same bg steer

Compared with Anthropic's published claude.ai prompt and Claude Code's prompt, these additions do the right things. They only cover cmux's own tools and say when to use each one, and they don't restate the model's identity or its safety rules. One thing was missing: nothing tells the agent how to pace its work in cmux. Claude Code's prompt says to batch independent tool calls, but sessions still varied. Codex's prompt doesn't say it as plainly. The bg_start steer also left open whether the agent should wait on the task or keep working.

Change

One sentence goes next to the bg steer, in both places it appears: the acpmux server's instructions and the code-mode cmux_exec description.

Work in parallel: at the start of a task, read the files and run the searches you already know you need as one batch of independent tool calls, not one after another, and while a bg_start task runs, go on with the parts that do not need its result.

It's a default, not a MUST, and it names cmux's own tool (bg_start), so it doesn't just repeat what the base prompt already says. Chief turns don't get it: their allowlist leaves out the bg tools, so the steer isn't attached.

The other half of Leo's ask, a tab that shows what the agent was told and lets the person edit the preset prompt, is a separate PR.

Tests

  • acpmux_mcp_tests::github_status_is_listed_with_its_instruction asserts the new sentence.
  • code_mode::bg_steer_tests asserts the same for cmux_exec.

Observed / Not run

  • Ran on the fleet: cargo test -p acpmux github_status_is_listed and cargo test -p cmux-tui bg_steer. Results are in a comment below.
  • Not run: a measured before/after of tool-call batching. This is a prompt change. Its effect shows up in transcripts over time, not in a unit test.

Changelog

Changed: cmux NEXT agents are asked to batch their first reads and keep working while a background task runs.

Risk: low. Two instruction strings, no code paths.

Agent session: agent session

🤖 Generated with Claude Code


Autofix with [code]smith
Open in [code]smith · Need help on this PR? Tag @codesmith-bot with what you need.


Summary by cubic

Adds a parallel-work instruction to cmux NEXT's MCP prompts so agents batch their first reads and searches and keep working while a bg_start task runs.

  • The instruction is appended to the bg_start steer in the acpmux server's instructions and the code-mode cmux_exec description.
  • Chief turns are unaffected because they don't expose the background tools.
  • Tests in acpmux_mcp_tests and bg_steer_tests assert the new sentence appears.

Written for commit cd57e09. Summary will update on new commits.

View guided diff Turn on auto-fix

…e a bg task runs

Leo: some sessions read early and concurrently, others go one call at a time
on the same model. The harness prompts allow both; cmux's MCP instructions
(acpmux server, and cmux_exec in code mode) now say which it wants.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Agent-Session: https://cmux.com/deeplink/agent?id=aid-85a3e4109076ed5dd0f3
@cursor

cursor Bot commented Nov 4, 2026

Copy link
Copy Markdown

Bugbot needs on-demand usage enabled

Bugbot uses usage-based billing for this team and requires on-demand usage to be enabled.

A team admin can enable on-demand usage in the Cursor dashboard.

@teamleaderleo teamleaderleo added the risk:low Risk tier (docs/ci/risk-tiers.md) label Nov 4, 2026
@github-actions

github-actions Bot commented Nov 4, 2026 •

Copy link
Copy Markdown
Contributor

cmux status (one comment, edited in place; each line is updated by the job that owns it)

Review cd57e09: HQ feed card · gallery before/after runs · checks

App of this head (app.zip, kept 1 day)

gh workflow run reload-build.yml -R manaflow-ai/cmux --ref feat-cmux-next -f tag=pr34579 -f ref=lane/agent-instructions-concurrency -f platform=macos -f backend_mode=local

Shipped in:

@teamleaderleo

Copy link
Copy Markdown
Collaborator Author

Review (subagent claude-opus-5-5 medium): SHIP at cd57e09

Checked: spacing at the string continuations, the scoped github_status-only assert_eq still holds, no other exact-text test, wording fits both Claude Code and Codex, nothing contradicts the bg steer.

Follow-ups:

  • The steer only goes to chats that list the bg tools; it could be split out later.
  • Code mode could mention running independent cmux calls at once with Promise.all.

@github-actions github-actions Bot added risk:normal Risk tier (docs/ci/risk-tiers.md) and removed risk:low Risk tier (docs/ci/risk-tiers.md) labels Nov 4, 2026
@blacksmith-sh

blacksmith-sh Bot commented Nov 4, 2026 •

Copy link
Copy Markdown

Found 2 test failures on Blacksmith runners:

Failures

Test View Logs
test_live_typed_catalog_matches_every_registry (main.ContractRegistryTests.test_liv
e_typed_catalog_matches_every_registry)/
test_live_typed_catalog_matches_every_registry (main.ContractRegistryTests.test_liv
e_typed_catalog_matches_every_registry)
View Logs
test_live_typed_catalog_matches_every_registry (main.ContractRegistryTests.test_liv
e_typed_catalog_matches_every_registry)/
test_live_typed_catalog_matches_every_registry (main.ContractRegistryTests.test_liv
e_typed_catalog_matches_every_registry)
View Logs

Fix with [code]smith
Need help on this PR? Tag @codesmith-bot with what you need.

@teamleaderleo
teamleaderleo merged commit 1ff5b95 into feat-cmux-next Nov 4, 2026
170 of 190 checks passed
@teamleaderleo
teamleaderleo deleted the lane/agent-instructions-concurrency branch November 4, 2026 02:36

This branch was previously deployed

3 inactive deployments
artifacts — cd57e095 Deployed Nov 4, 2026 by teamleaderleo via publish tree-addressed cmux-tui #108681
sentry-dsyms — cd57e095 Deployed Nov 4, 2026 by teamleaderleo via upload cmux-tui dSYMs to Sentry #108681
ci-routing-agent — cd57e095 Deployed Nov 4, 2026 by teamleaderleo via cmux-tui tree preflight #108681
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

risk:normal Risk tier (docs/ci/risk-tiers.md)

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant