Skip to content

cmux NEXT Settings: a Chief page with every Chief setting; the Chief popover links to it - #22848

Merged
teamleaderleo merged 8 commits into
feat-cmux-nextfrom
leo/chief-settings-page
Oct 21, 2026
Merged

teamleaderleo merged 8 commits into
feat-cmux-nextfrom
leo/chief-settings-page

Conversation

@teamleaderleo

@teamleaderleo teamleaderleo commented Oct 21, 2026 •

Copy link
Copy Markdown
Collaborator

Summary

Leo couldn't find Chief settings in the nightly. The Settings sidebar had no Chief entry, and the Chief's name-pill popover was the only place he looked. Its own words: "only having it as a popover is kind of crappy; there's a lot of settings you may or may not want for the chief".

  • Settings > Chief is a new category, right after Agents. It holds every Chief setting the app has:

    • the Chiefs list (each Chief's name, picture and backend, which opens its editor);
    • Chief Chat (the bubble style);
    • Chief Pet (Show Chief Pet and the pet's character).

    These three used to sit at the bottom of Agents.

  • All Chief Settings… in the name-pill popover opens Settings > Chief and closes the popover. The popover stays the quick version.

  • The pet's own Chief Pet Settings… already opened Settings at the pet row, so it now lands on the Chief page.

  • The bottom-left profile menu already has Show/Hide Chief Pet in base (profileMenu.chiefPet), so this PR doesn't change it.

  • HomeChiefHostLine moves from CmuxNextApp to CmuxNextHomeEngine, so CmuxNextApp's source lines stay level (+0 against the base).

  • New strings: the category title "Chief" and "All Chief Settings…", in all 21 locales. Chief is kept untranslated as a product name.

  • The web page gets a crown icon for the category. The generated settings export (settings-schema.json, its page) is left for the PR autofix to regenerate.

The cloud half of this item, where a cloud Chief's popover said "The server with this Chief is not connected." and showed empty pickers, is #22602. It is reviewed and lands separately.

Not in this PR: the brief also listed notices, voice, approvals and history import for the Chief page. None of them is a setting today, so there was nothing to move. Each would be a new setting with its own PR.

Coordination: #21822 (the Chief Pet card, from another lane) adds a separate Chief Pet category for the same two pet rows. I've asked its owner to draw that card inside this Chief category instead.

Changelog

Changed: Settings has a Chief page with every Chief setting, and the Chief's settings popover links to it.

Tests

Red commit 77d7bdf618, then the fix in 91716854cd:

  • ChiefSettingsPageTests (CmuxNextSettingsTests):
    • the Chief category exists right after Agents;
    • it leads with the Chiefs list and holds the three Chief rows;
    • Agents no longer holds them.
  • ChiefBubbleStyleSettingTests.theSettingsPageDrawsItInChief: replaces the test that expected the bubble style row in Agents.
  • HomeChiefSettingsViewTests.allChiefSettingsOpensTheSettingsPage: the popover's link is visible, is named for VoiceOver, and runs onAllSettings.
  • webviews/src/pages/settings/categories.test.ts: the approved category order now includes chief.

Observed / Not run

  • Observed on this head: prepush-gate.py (no new violations), scripts/web-lint.sh (passed), count-swift-code-lines.py (CmuxNextApp 95441 source lines, the same as the base).
  • Not run: Swift and web tests. Agents don't build or test on Leo's Mac, so they run in CI on this PR, which will show the red run on 77d7bdf618 and the green run on the head.
  • Not run: a capture of the page. The generated schema export must regenerate first. A gallery render follows once autofix has run.

Risk: normal (Settings layout and one popover link; no policy or data change).

Agent session: cosmic-gray

🤖 Generated with Claude Code


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


Summary by cubic

Settings gains a Chief page holding every Chief setting, and the Chief name-pill popover links to it. The Chiefs list, Chief Chat, and Chief Pet rows move from the bottom of Agents into a new Settings > Chief category, right after Agents, with the pet card leading after the Chiefs list. The popover keeps its quick settings and adds an "All Chief Settings…" link that opens the page; the release note's action opens Settings.

  • HomeChiefHostLine moves from CmuxNextApp to CmuxNextHomeEngine so the app's source lines stay level.
  • New strings ("Chief" and "All Chief Settings…") land in all 21 locales; the web page gets a crown icon and settings exports are regenerated, including the schema conflict resolution from the latest merge.
  • The formerly separate Chief Pet category from [CMUX Next] Chief pet: a Chief Pet settings page like ChatGPT's Mini & Pets #21822 is folded into the Chief page.
  • Tests, gallery states, and code comments now target Settings > Chief; the popover-link test finds its button by accessibility id.

Not in this PR: the cloud Chief popover issue (#22602) and new settings like notices, voice, approvals, and history import, none of which are settings today.

Written for commit 1f63a5c. Summary will update on new commits.

View guided diff Turn on auto-fix

teamleaderleo and others added 2 commits October 20, 2026 20:08
… Chat and Chief Pet; the Chief popover links to it (red)

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Agent-Session: https://cmux.com/deeplink/agent?harness=claude&session=01a15c01-a495-7013-b37d-abe71de99881&host=cosmic-gray
…over's All Chief Settings… opens it

The Chiefs list (name, picture, backend), Chief Chat and Chief Pet move from the bottom of Agents to
their own Chief category, right after Agents. The name pill's popover stays the quick version and
links to the page. HomeChiefHostLine moves to CmuxNextHomeEngine so CmuxNextApp does not grow.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Agent-Session: https://cmux.com/deeplink/agent?harness=claude&session=01a15c01-a495-7013-b37d-abe71de99881&host=cosmic-gray
@teamleaderleo teamleaderleo added the risk:normal Risk tier (docs/ci/risk-tiers.md) label Oct 21, 2026
@teamleaderleo

This comment has been minimized.

@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 1f63a5c: 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=pr22848 -f ref=leo/chief-settings-page -f platform=macos -f backend_mode=local

Probably yours: editors.test.tsx fails here but not on main's latest full suite. Seen on other PRs too (likely flaky): agent-pane-ctrl-b-background.test.ts, agent-pane-ctrl-b-background.test.ts, composer-location-strip.test.ts and 23 more.

CI failed on 1f63a5cfa2 (run 39560195377 attempt 1): 4 code, 1 unknown.
macOS jobs did not run: compile and app tests were skipped: Fast static checks skipped.

Job Verdict Why
web / react-apps-check (1) code a web test failed
web / react-apps-check (2) code a web test failed
web / react-apps-check (4) code a web test failed
web / react-apps-check (3) code a web test failed
web / react-apps-check unknown no known signature; failed step: Check webview test shards

Failures:

  • seen on other PRs agent-pane-ctrl-b-background.test.ts with no running call, Ctrl-B stays the composer's and asks nothing: failed (job)
  • seen on other PRs agent-pane-ctrl-b-background.test.ts a Codex chat shows no hint and keeps Ctrl-B: failed (job)
  • seen on other PRs composer-location-strip.test.ts the chat composer at 420 px: the strip's marks line up with the prompt's edges: failed (job)
  • seen on other PRs composer-location-strip.test.ts the chat composer at 760 px: the strip's marks line up with the prompt's edges: failed (job)
  • seen on other PRs agent-pane-queue-steer.test.ts queued and steering prompts > the queue takes its own place in the stack: nothing is cut off or draw...: failed (job)
  • seen on other PRs composer-mention.test.ts @ then letters lists the chat's matching files and Return writes the path: failed (job)
  • seen on other PRs composer-mention.test.ts after picking a path markdown escapes, typing on leaves the picker closed: failed (job)
  • seen on other PRs composer-mention.test.ts @proje lists other chats, then folders, then the chat folder's files: failed (job)
  • seen on other PRs composer-mention.test.ts a chat named for a long prompt does not take @app from the file: failed (job)
  • seen on other PRs composer-mention.test.ts a bare @ lists the most recent other chats: failed (job)
  • ... 17 more in the job logs
Matched log lines
web / react-apps-check (1): (fail) with no running call, Ctrl-B stays the composer's and asks nothing [1032.74ms]
web / react-apps-check (2): (fail) queued and steering prompts > the queue takes its own place in the stack: nothing is cut off or drawn over [1329.19ms]
web / react-apps-check (4): (fail) editors > every schema row renders the editor for its kind [5000.11ms]
web / react-apps-check (3): (fail) nothing is suggested from another folder, another worktree, a merged PR, an old chat or a busy one [89.62ms]

Not re-run automatically: web / react-apps-check (1), web / react-apps-check (2), web / react-apps-check (4), web / react-apps-check (3), web / react-apps-check are not machine failures.

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: web / Web status; base red: the same failure on the base 3b1e3bb; does not block
red: web / react-apps-check; base red: the same failure on the base 3b1e3bb; does not block
red: web / react-apps-check (1); base red: the same failure on the base 3b1e3bb; does not block
red: web / react-apps-check (2); base red: the same failure on the base 3b1e3bb; does not block
red: web / react-apps-check (3); base red: the same failure on the base 3b1e3bb; does not block
red: web / react-apps-check (4); NEW: - [] + [ + "phone.allowConnections (toggle): row not rendered", + "phone.startSessions (toggle): row not rendered", + "phone.keepAwake (choice): row not rendere is not red on the base 3b1e3bb; do not merge until green; see lane-rules

CI fast guards failed on 1f63a5cfa2 (https://github.com/manaflow-ai/cmux/actions/runs/39560195377). It does not block the merge; a red guard merged into main breaks it for every open PR.
The log named no failed step; see the run.

Agents: python3 scripts/ci/guard_attribution.py fix applies the mechanical fixes locally.

@blacksmith-sh

blacksmith-sh Bot commented Oct 21, 2026 •

Copy link
Copy Markdown

Found 18 test failures on Blacksmith runners:

Failures

Test View Logs
src/pages/settings/editors.test.tsx/editors.test.tsx View Logs
src/pages/settings/editors.test.tsx/editors.test.tsx View Logs
test/agent-pane-ctrl-b-background.test.ts/agent-pane-ctrl-b-background.test View Logs
test/agent-pane-ctrl-b-background.test.ts/agent-pane-ctrl-b-background.test View Logs
test/agent-pane-queue-steer.test.ts/agent-pane-queue-steer.test View Logs
test/agent-pane-queue-steer.test.ts/agent-pane-queue-steer.test View Logs
test/agent-pane-wheel-pass-through.test.ts/agent-pane-wheel-pass-through.test View Logs
test/agent-pane-wheel-pass-through.test.ts/agent-pane-wheel-pass-through.test View Logs
test/composer-history.test.ts/composer-history.test View Logs
test/composer-history.test.ts/composer-history.test View Logs

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

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

…; the link test finds its button by accessibility id

Also: the highlight gets its Open Settings action, and comments that said Settings > Agents > Chief… name the Chief page.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Agent-Session: https://cmux.com/deeplink/agent?harness=claude&session=01a15c01-a495-7013-b37d-abe71de99881&host=cosmic-gray
@teamleaderleo

Copy link
Copy Markdown
Collaborator Author

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

teamleaderleo and others added 2 commits October 21, 2026 04:04
… joins Settings > Chief

#21822 added a Chief Pet category for the pet card; its owner and this PR agreed on one Chief page.
The card leads the Chief category after the Chiefs list, and the chief-pet category goes.

Agent-Session: https://cmux.com/deeplink/agent?harness=claude&session=01a15c01-a495-7013-b37d-abe71de99881&host=cosmic-gray
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@teamleaderleo

Copy link
Copy Markdown
Collaborator Author

cmux-next guards / defaults-snapshot is red on 22 of 22 fresh feat-cmux-next PR heads in the last 2:00:00, so it is most likely a base red, not this PR's. The base-reds lane has it; a base merge picks up the fix once it lands.

@teamleaderleo

Copy link
Copy Markdown
Collaborator Author

Owned by paired-approvals-b9 on cosmic-gray · session

teamleaderleo and others added 2 commits October 21, 2026 06:03
# Conflicts:
#	Packages/macOS/CmuxNext/Sources/CmuxNextApp/Home/HomeHostView.swift
…39553280427)

The PR autofix leaves its repairs as an artifact on pull_request runs;
this is that patch, applied unchanged. Settings > Chief replaces the
chief-pet category; the rest (notifications, trust, sidebar defaults) is
base source the committed exports had not caught up with.

Autofix-Run: https://github.com/manaflow-ai/cmux/actions/runs/39553280427
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@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.

# Conflicts:
#	schemas/settings-export/settings-schema.sources.sha256
@teamleaderleo
teamleaderleo temporarily deployed to cmux-tui-merge-tree October 21, 2026 07:10 — with GitHub Actions Inactive
@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.

@teamleaderleo

Copy link
Copy Markdown
Collaborator Author

cmux-next crash-class rules / cmux-next crash-class rules is red on 14 of 15 fresh feat-cmux-next PR heads in the last 2:00:00, so it is most likely a base red, not this PR's. The base-reds lane has it; a base merge picks up the fix once it lands.

@teamleaderleo
teamleaderleo merged commit 3ac5252 into feat-cmux-next Oct 21, 2026
@teamleaderleo
teamleaderleo deleted the leo/chief-settings-page branch October 21, 2026 09:11
@github-actions

Copy link
Copy Markdown
Contributor

Shipped in:

This branch was previously deployed

4 inactive (2 outdated) deployments
ci-routing-agent — 1f63a5cf Deployed Oct 21, 2026 by github-actions[bot]
cmux-tui-merge-tree — 1f63a5cf Deployed Oct 21, 2026 by teamleaderleo
artifacts — bab8dd61 Deployed Oct 21, 2026 by teamleaderleo
sentry-dsyms — bab8dd61 Deployed Oct 21, 2026 by teamleaderleo
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