Skip to content

cmux NEXT Chief Settings: this Mac's Chief stays local beside a hosted cloud Chief (tests) - #23689

Merged
teamleaderleo merged 4 commits into
feat-cmux-nextfrom
leo/chief-local-stays-local
Oct 22, 2026
Merged

teamleaderleo merged 4 commits into
feat-cmux-nextfrom
leo/chief-local-stays-local

Conversation

@teamleaderleo

@teamleaderleo teamleaderleo commented Oct 21, 2026 •

Copy link
Copy Markdown
Collaborator

Summary

Leo reported that the Chief name-pill card on this Mac's Chief said "Runs in the cloud" and "The server with this Chief is not connected." and left the Harness, Model and Effort pickers empty. The only test for this Mac's Chief (thisMacsChiefStaysLocal) ran with no cloud Chiefs listed, so it could not catch a local Chief being treated as a cloud one.

These are guard tests, not a red-then-green repro. The base already passes them, and no product code changes. The text Leo saw matches what the card did before #22602 (merged 2026-10-21 03:19 UTC, 69b018a): it sent every cloud Chief, including the hosted one, through HomeChiefRemoteEngine, and that engine says "The server with this Chief is not connected." when it has no server. When signed in, the Chief tab shows the hosted cloud Chief, which is also named "Chief" (HomeCloudChiefs.chiefTab), so the card Leo opened was probably that Chief's, on a build from before #22602. These tests lock in the local side, and #22602's tests cover the hosted side.

Each new test in HomeChiefHostedSettingsTests lists a hosted cloud Chief and a Chief placed on a server, both named "Chief". It also puts this Mac's Chief conversation (with agent_mux) and a named local Chief's conversation into the Home store the way the local owner reports them: owned locally and also titled "Chief". So a change that classified Chiefs by name would turn these tests red. The store runs on a temporary Chief home (CMUX_NEXT_CHIEF_HOME), so its cache never touches a real Chief's.

  • thisMacsChiefStaysLocalBesideAHostedCloudChief: this Mac's Chief is not a cloud conversation and gets HomeChiefLocalEngine and the default brain home. chiefHost(of:) gives it no place line and no switch. The two cloud Chiefs still get the hosted and remote engines.
  • aNamedLocalChiefStaysLocalBesideTheCloudChiefs: a named local Chief (chief-brains-v1) also stays local, on its own c/<id> brain home.
  • thisMacsChiefsCardRunsHereWithItsPickers: the card is built the way HomeHostView builds it (host line, then use(engineSource())). It shows "Runs on this Mac" with no switch and no error, the Harness row is visible, and the pickers are enabled and show this Mac's engine.json (codex / gpt-5.5 / high).

Testing

  • cmux-ci run --class light --script scripts/ci/package-test-lane.sh --ref 2e764209837695e5a2e455c62ebfabb1dfeefc77 --arg=suite --arg=Packages/macOS/CmuxNext --arg=HomeChiefHostedSettingsTests --key chief-local-stays-local-tests-2e7642098376: step f4d36e5d0a877e438085e9e6 on aws-m4pro-5 passed, 12 of 12 tests including the 3 new ones.
  • cmux-ci compile-check --ref 2e764209837695e5a2e455c62ebfabb1dfeefc77 --app: job 0d077af3b89555e030fb9ca3 passed.
  • python3 scripts/cmux-next/prepush-gate.py: no new violations.

Observed / Not run

Observed: the fleet suite run and the app compile above, both on the head. The first commit (9042aa1) also passed the suite, in step b3e7b6959704720251dd2ae1.

Not run:

  • No red run: the base already passes, so there is no failing behavior to show.
  • HomeChiefName.select reads HomeService.conversations (the daemon list, private(set)). The tests can't put a conversation there, but nothing on the card's classification path reads it.
  • I didn't open the popover in a tagged build.

Changelog

none

Proof

No capture: this PR only adds tests.

Agent session: cosmic-gray

🤖 Generated with Claude Code

…ief (tests)

Covers Leo's 2026-10-21 report that this Mac's Chief's card said "Runs in the
cloud" and "The server with this Chief is not connected." with empty pickers:
with a hosted and a placed cloud Chief in the cloud list, this Mac's Chief (and
a named local Chief) keeps the local engine, the "Runs on this Mac" line and
pickers filled from its engine.json.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Agent-Session: https://cmux.com/deeplink/agent?harness=claude&session=01a15ba3-d09a-7940-9fd6-158e10477c0e&host=cosmic-gray
@teamleaderleo teamleaderleo added the risk:low Risk tier (docs/ci/risk-tiers.md) label Oct 21, 2026
@cursor

cursor Bot commented Oct 21, 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.

@github-actions

github-actions Bot commented Oct 21, 2026 •

Copy link
Copy Markdown
Contributor

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

Review 68b6355: 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=pr23689 -f ref=leo/chief-local-stays-local -f platform=macos -f backend_mode=local

Passes: CI passes on 68b63551de.

CI passes on 68b63551de (run 39705801544 attempt 1).

Written by scripts/ci/classify_failures.py (ci-failure-attribution.yml); signatures are its SIGNATURES table. A machine verdict is the runner's fault, not this PR's; yours means the failing file is one this PR changes, also red on main that main's latest full suite fails the same way, seen on other PRs that it failed on another pull request's run lately.

red: cmux-next checks (god files, concurrency, crash safety, l10n); no finished base run on 90037fe to compare; do not merge until green; see lane-rules

@teamleaderleo

Copy link
Copy Markdown
Collaborator Author

Owned by claude-sr2/transcript-density on cosmic-gray · session

@blacksmith-sh

blacksmith-sh Bot commented Oct 21, 2026 •

Copy link
Copy Markdown

Found 11 test failures on Blacksmith runners:

Failures

Test View Logs
/tmp/tmpbra_resl/summary-fail.json (live):/summary-fail.json (live): View Logs
/tmp/tmpptucewxn/summary-missing.json (live):/summary-missing.json (live): View Logs
[new_workspaces] debug.new_workspace timed 0 of 50 new workspace rows/
[new_workspaces] debug.new_workspace timed 0 of 50 new workspace rows
View Logs
[new_workspaces] the window draws no frames/[new_workspaces] the window draws no frames View Logs
[tabs] debug.tab_switch timed 0 of 40 switches/
[tabs] debug.tab_switch timed 0 of 40 switches
View Logs
[tabs] the window draws no frames/[tabs] the window draws no frames View Logs
convention violations found (ERROR lines above)./
convention violations found (ERROR lines above).
View Logs
nightly cmux-tui resolve/nightly cmux-tui resolve View Logs
test_every_submodule_free_checkout_on_an_owned_runner_resets_submodules (main.Reuse
dWorkspaceSubmodules.test_every_submodule_free_checkout_on_an_owned_runner_resets_submo
dules)/
test_every_submodule_free_checkout_on_an_owned_runner_resets_submodules (main.Reuse
dWorkspaceSubmodules.test_every_submodule_free_checkout_on_an_owned_runner_resets_submo
dules)
View Logs
test_every_submodule_free_checkout_on_an_owned_runner_resets_submodules (main.Reuse
dWorkspaceSubmodules.test_every_submodule_free_checkout_on_an_owned_runner_resets_submo
dules) (job='web-bundles')/
test_every_submodule_free_checkout_on_an_owned_runner_resets_submodules (main.Reuse
dWorkspaceSubmodules.test_every_submodule_free_checkout_on_an_owned_runner_resets_submo
dules) (job='web-bundles')
View Logs

...and 1 more test failures. View all on Blacksmith

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

The guard tests now list this Mac's Chief conversation (with agent_mux) and a
named local Chief in the Home store as the local owner reports them, owned here
and titled "Chief" like the hosted and placed cloud Chiefs, so a classification
by name would turn them red. The store runs on its own temporary Chief home.
Drops two checks the equality checks already cover.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Agent-Session: https://cmux.com/deeplink/agent?harness=claude&session=01a15ba3-d09a-7940-9fd6-158e10477c0e&host=cosmic-gray
@teamleaderleo

Copy link
Copy Markdown
Collaborator Author

Bead cx-p57tp created for this PR by the cmux coordinator.

@teamleaderleo

Copy link
Copy Markdown
Collaborator Author

Review (independent review subagent, transcript-density lane): SHIP at 2e76420

  • Tests go through the production classification path: HomeChiefControl.isCloud, then HomeService.isCloudConversation, which reads cloudChiefs and the homeStore owner.
  • The seeded conv_local and conv_named are locally owned and titled "Chief", like the hosted and placed cloud Chiefs, so name-based classification would go red.
  • The temporary CMUX_NEXT_CHIEF_HOME is set and restored inside one main-actor block in a .serialized suite, the same pattern as the Ghostty storage tests.
  • Fleet: suite 12/12 passed (key chief-local-stays-local-tests-2e7642098376); compile-check --app passed (job 0d077af3b89555e030fb9ca3).
  • Minor, not blocking: the store is not stopped, and each run leaves a cache dir under ~/Library/Caches/cmux-home.

@teamleaderleo teamleaderleo added the ready-to-land Reviewed at this head; next-autoland merges it into feat-cmux-next when its only reds are base reds label Oct 21, 2026
@teamleaderleo teamleaderleo added risk:low Risk tier (docs/ci/risk-tiers.md) and removed risk:low Risk tier (docs/ci/risk-tiers.md) labels Oct 22, 2026
@teamleaderleo

Copy link
Copy Markdown
Collaborator Author

Review (subagent, correctness first): SHIP at 68b6355

Independent re-review after the autolander's base merge: the merge (parents ef054f8, 90037fe) is clean with no hand-resolved hunks, the PR still changes only HomeChiefHostedSettingsTests.swift (+124), and none of the 63 base commits it brought in change an API the test uses.

@teamleaderleo
teamleaderleo merged commit b95be28 into feat-cmux-next Oct 22, 2026
@teamleaderleo
teamleaderleo deleted the leo/chief-local-stays-local branch October 22, 2026 05:16
@github-actions

github-actions Bot commented Oct 22, 2026 •

Copy link
Copy Markdown
Contributor

@teamleaderleo

Copy link
Copy Markdown
Collaborator Author

Review (codex gpt-6.1-sol): SHIP at 68b6355

Blocking findings: none.

Non-blocking findings: none. These are guard tests, as the body states; they do not reproduce the original popover failure or exercise conversation selection through HomeChiefName.select.

Checked: all 124 added lines, fixture event replay and Chief-home resolution, local/hosted/remote engine selection, host-line construction, and settings-card reads against the production implementations; git diff --check passed. No builds or test suites run. Re-read the PR head before posting; it is unchanged.

This branch was previously deployed

1 inactive deployment
ci-routing-agent — 68b63551 Deployed Oct 22, 2026 by teamleaderleo
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

ready-to-land Reviewed at this head; next-autoland merges it into feat-cmux-next when its only reds are base reds risk:low Risk tier (docs/ci/risk-tiers.md)

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant