Skip to content

fix(cmux-next): let sessions.promptSuggestions turn suggested tasks off - #23284

Merged
teamleaderleo merged 11 commits into
feat-cmux-nextfrom
cmux/prompt-suggestions-setting-decides
Oct 22, 2026
Merged

teamleaderleo merged 11 commits into
feat-cmux-nextfrom
cmux/prompt-suggestions-setting-decides

Conversation

@teamleaderleo

@teamleaderleo teamleaderleo commented Oct 21, 2026 •

Copy link
Copy Markdown
Collaborator

Fix forward for #21897, whose merge-audit revert is #23173.

Takes back #23173: #21897 was reverted because its setting could not turn suggestions off (the Debug toggle, on by default, was ORed in). This PR makes the setting decide, so the reason for the revert is gone.

Takes back #22089: it made the Debug toggle agent.suggestedTasks on by default, and that toggle was ORed in, so the setting could not turn suggestions off. The default now lives in the setting sessions.promptSuggestions (still on), and the toggle only forces suggestions on, so default behaviour is unchanged.

#21897 added sessions.promptSuggestions, but ORed it with the agent.suggestedTasks Debug toggle in two places: AgentPaneSuggestedTasks.isOn and AcpmuxHost's default offersSessionTools. #22089 had made that toggle default to on, so turning the setting off did nothing. #21897's test compared isOn with the toggle's value, which hid the bug.

What changes:

  • sessions.promptSuggestions now defaults to true, so the default behavior is the same as today. I regenerated SettingsSchema+Sessions.generated.swift with scripts/cmux-next/gen-settings-sources.py.
  • agent.suggestedTasks now defaults to false and is renamed "Force suggested tasks on": the setting decides, and the toggle only forces suggestions on.
  • AcpmuxHost's default closure now reads AgentPaneSuggestedTasks.forNextDaemon alone. That flag already holds isOn, so the second OR is gone.
  • Until the App wires the setting, forNextDaemon and setting start at the setting's default instead of false.
  • Tests: a new test turns the setting off and expects suggestions off. It fails on the base branch and replaces the isOn == debugOn check. AcpmuxOfferToolsTests now builds its host the way the app does (setting OR toggle).

Exports and the defaults guard:

  • schemas/settings/settings-schema.json, schemas/defaults/cmux-next.json and the docs/mdm exports come from a Swift test. The last commit applies the PR autofix's patch artifact at the final base merge (run 39705775066), so they list promptSuggestions with default: true.
  • The effective default does not change. Suggestions were already on for everyone through the agent.suggestedTasks Debug tunable (on by default since cmux NEXT: suggested tasks on by default #22089), which overrode the setting's old false. They stay on by default; the setting now just decides.
  • The defaults guard lists setting.sessions.promptSuggestions as a changed default; since defaults guard: a SHIP review receipt on the head passes; a new setting that defaults off is free #23761 a SHIP receipt at the head clears it.
  • The webview comments now say the setting decides and the Debug toggle forces suggestions on. The page still gets one suggestedTasks bool.

No capture: no layout or styling changes. The suggested-tasks card is the same card; the only visible changes are that turning Settings > Suggest Follow-Up Tasks off now hides it, and the Debug Settings row's label and help text.

Note: a nightly user who had explicitly turned the Debug toggle off will see suggestions come back on, because that override no longer forces anything off. To turn them off, use Settings > Suggest Follow-Up Tasks.

Note: turning the setting off hides the card at once, but a daemon that is already running keeps offering the session tools (ACPMUX_OFFER_TOOLS=1) until it restarts.

No local build or tests (Leo's Macs never build); CI and cmux-ci compile-check --app compile and run the suites.

Agent session: Air-Blue

🤖 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

Fixes the forward for the reverted #21897 so sessions.promptSuggestions can actually turn suggested tasks off. The setting was ORed with the agent.suggestedTasks Debug toggle, which #22089 had made default on, so turning the setting off did nothing.

  • sessions.promptSuggestions now defaults to true and decides alone; agent.suggestedTasks defaults to false and only forces suggestions on. Default behavior is unchanged, and AcpmuxHost reads AgentPaneSuggestedTasks.forNextDaemon alone. Until the App wires the setting, forNextDaemon and setting start at the setting's default.
  • The regenerated exports pick up base's stale agents.subsessions.answerQuestions row.
  • The old test compared isOn to the toggle's value, hiding the bug; the new test turns the setting off and expects suggestions off.

Note: a nightly user who had explicitly turned the Debug toggle off will see suggestions come back on, since that override no longer forces anything off. To turn them off, use Settings > Suggest Follow-Up Tasks.

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

View guided diff Turn on auto-fix

#21897 added the setting but ORed it with the agent.suggestedTasks Debug
toggle, which #22089 had made default on, so turning the setting off did
nothing. The setting now decides and defaults on (today's behavior); the
Debug toggle defaults off and only forces suggestions on. The host's
default closure reads forNextDaemon alone, which already carries both.

The old test compared isOn to the Debug toggle's value, which hid the
bug; the new one turns the setting off and expects suggestions off.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Agent-Session: https://cmux.com/deeplink/agent?harness=claude&session=01a15cfc-5eec-7700-94d7-9a3a1f7d889a&host=cosmic-gray
@teamleaderleo teamleaderleo added the risk:normal Risk tier (docs/ci/risk-tiers.md) label Oct 21, 2026
@teamleaderleo

Copy link
Copy Markdown
Collaborator Author

Owned by composer-scroll-2 on cosmic-gray · session

@teamleaderleo

Copy link
Copy Markdown
Collaborator Author

codex-review: SHIP at 4ae319d

  • Reviewed the current diff, its focused tests, and the affected call paths; no correctness bug found.

@blacksmith-sh

blacksmith-sh Bot commented Oct 21, 2026 •

Copy link
Copy Markdown

Found 17 test failures on Blacksmith runners:

Failures

Test View Logs
---/--- View Logs
/tmp/tmp8_059vgg/summary-missing.json (live):/summary-missing.json (live): View Logs
/tmp/tmpfbai13pa/summary-fail.json (live):/summary-fail.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/agent-pane-jump-latest-motion.test.ts/agent-pane-jump-latest-motion.test View Logs

...and 7 more test failures. View all on Blacksmith: run 39708706791, run 39708706801, run 39708706868

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

@teamleaderleo

Copy link
Copy Markdown
Collaborator Author

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

@teamleaderleo

Copy link
Copy Markdown
Collaborator Author

high-signal review link / link is red on 12 of 20 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.

The comments still called the Debug toggle on by default; it is now a
force-on, and Settings > Suggest Follow-Up Tasks decides.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Agent-Session: https://cmux.com/deeplink/agent?harness=claude&session=01a15cfc-5eec-7700-94d7-9a3a1f7d889a&host=cosmic-gray
@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 c3c5390: 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=pr23284 -f ref=cmux/prompt-suggestions-setting-decides -f platform=macos -f backend_mode=local

Gallery before/after for c3c5390: 16 states rendered, 3 images differ, 1514 more touched states not rendered. Images are in the run's artifact, not on this public PR.

gh run download 39708706676 -R manaflow-ai/cmux -n gallery-advisory-23284-c3c5390ca7c5837192627176d00a872233d07438 (then read gallery-review.json)

States
State Theme Status Diff Picked by
agent-pane.chat-width/standard Apple System Colors Light unchanged 0% own App.tsx
agent-pane.chat-width/standard Apple System Colors unchanged 0% own App.tsx
agent-pane.chat-width/wide Apple System Colors Light unchanged 0% own App.tsx
agent-pane.chat-width/wide Apple System Colors unchanged 0% own App.tsx
agent-pane.chat-width/wide-blocks Apple System Colors Light unchanged 0% own App.tsx
agent-pane.chat-width/wide-blocks Apple System Colors unchanged 0% own App.tsx
agent-pane.composer-floats/scrolled-to-end Apple System Colors Light unchanged 0% own App.tsx
agent-pane.composer-floats/scrolled-to-end Apple System Colors unchanged 0% own App.tsx
agent-pane.composer-floats/composer-grown Apple System Colors Light unchanged 0% own App.tsx
agent-pane.composer-floats/composer-grown Apple System Colors unchanged 0% own App.tsx
agent-pane.docked-chat/new-chat Apple System Colors Light unchanged 0% own App.tsx
agent-pane.docked-chat/new-chat Apple System Colors unchanged 0% own App.tsx
agent-pane.docked-chat/after-turn Apple System Colors Light unchanged 0% own App.tsx
agent-pane.docked-chat/after-turn Apple System Colors unchanged 0% own App.tsx
agent-pane.docked-chat/working Apple System Colors Light unchanged 0% own App.tsx
agent-pane.docked-chat/working Apple System Colors unchanged 0% own App.tsx
agent-pane.docked-chat/typing-in-dock Apple System Colors Light unchanged 0% own App.tsx
agent-pane.docked-chat/typing-in-dock Apple System Colors unchanged 0% own App.tsx
agent-pane.docked-chat/long-title Apple System Colors Light unchanged 0% own App.tsx
agent-pane.docked-chat/long-title Apple System Colors unchanged 0% own App.tsx
agent-pane.orchestration-lab/local-queue Apple System Colors Light unchanged 0% own App.tsx
agent-pane.orchestration-lab/local-queue Apple System Colors unchanged 0% own App.tsx
agent-pane.orchestration-lab/huge-blue Apple System Colors Light unchanged 0% own App.tsx
agent-pane.orchestration-lab/huge-blue Apple System Colors unchanged 0% own App.tsx
agent-pane.orchestration-lab/cloud-fair-share Apple System Colors Light unchanged 0% own App.tsx
agent-pane.orchestration-lab/cloud-fair-share Apple System Colors unchanged 0% own App.tsx
agent-pane.streaming-follow-motion/stream Apple System Colors Light unchanged 0% own App.tsx
agent-pane.streaming-follow-motion/stream Apple System Colors unchanged 0% own App.tsx
agent-pane.streaming-text/claude Apple System Colors changed 0.0006% own App.tsx
agent-pane.streaming-text/claude Apple System Colors Light changed 0% own App.tsx
agent-pane.streaming-text/codex Apple System Colors Light changed 0.0017% own App.tsx
agent-pane.streaming-text/codex Apple System Colors unchanged 0% own App.tsx

Pick other states with a Gallery: entry.id, entry.id/variant line in the PR body.

Unclear: web / react-apps-check failed: no known signature; failed step: Check webview test shards. This PR merged before its CI finished: fix forward on main.

CI failed on c3c5390ca7 (run 39708706791 attempt 1): 1 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 unknown no known signature; failed step: Check webview test shards

Failures:

  • seen on other PRs agent-pane-jump-latest-motion.test.ts webkit: a reply streaming in during Jump to latest's glide is followed to its latest row: failed (job)
Matched log lines
web / react-apps-check (1): (fail) webkit: a reply streaming in during Jump to latest's glide is followed to its latest row [4204.49ms]

Not re-run automatically: web / react-apps-check (1), 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: cmux-next checks (god files, concurrency, crash safety, l10n); no finished base run on 6dc664a to compare; do not merge until green; see lane-rules
red: web / Web status; no finished base run on 6dc664a to compare; do not merge until green; see lane-rules
red: web / react-apps-check; no finished base run on 6dc664a to compare; do not merge until green; see lane-rules
red: web / react-apps-check (1); no finished base run on 6dc664a to compare; do not merge until green; see lane-rules

CI fast guards passes on 0a301ca67c (run). This covers only the fast guards, not CI: CI's result is ci-status.

Tour of c3c5390ca7 (run)

Path-selected interactions

Interaction Changed paths
agent-pane Packages/macOS/CmuxNext/Sources/CmuxNextAgentPane/AcpmuxEnvironment.swift
Packages/macOS/CmuxNext/Sources/CmuxNextAgentPane/AgentPageEvent.swift
Packages/macOS/CmuxNext/Sources/CmuxNextAgentPane/AgentPaneHost.swift
Packages/macOS/CmuxNext/Sources/CmuxNextAgentPane/AgentPaneSuggestedTasks.swift
Packages/macOS/CmuxNext/Sources/CmuxNextAgentPane/AgentPaneTunables\+SuggestedTasks.swift
Packages/macOS/CmuxNext/Sources/CmuxNextApp/AgentPanePageSettings.swift
Packages/macOS/CmuxNext/Tests/CmuxNextAgentPaneTests/AcpmuxOfferToolsTests.swift
Packages/macOS/CmuxNext/Tests/CmuxNextAgentPaneTests/AgentPaneSuggestedTasksSettingTests.swift
core Packages/macOS/CmuxNext/Sources/CmuxNextSettings/Schema/SettingsSchema\+Sessions.generated.swift

agent-pane-before: the media could not be published (refused 3 file(s) that show private names: 23284/c3c5390c/next-agent-pane-before/shots/02-open-agent-chat.png (mini-name: an agent's pull request); 23284/c3c5390c/next-agent-pane-before/shots/03-queue)

agent-pane-after: the media could not be published (refused 3 file(s) that show private names: 23284/c3c5390c/next-agent-pane-after/shots/02-open-agent-chat.png (mini-name: an agent's pull request); 23284/c3c5390c/next-agent-pane-after/shots/03-queue-a)

core-before: the media could not be published (refused 12 file(s) that show private names: 23284/c3c5390c/next-core-before/shots/05-split-right.png (mini-name, private-term, shell-prompt: an agent's pull request); 23284/c3c5390c/next-core-before/s)

core-after: the media could not be published (refused 12 file(s) that show private names: 23284/c3c5390c/next-core-after/shots/05-split-right.png (mini-name, private-term, shell-prompt: an agent's pull request); 23284/c3c5390c/next-core-after/sho)

Tours are data in scripts/cmux-next/media/tours: add a step or a tour file to show your feature.

teamleaderleo and others added 2 commits October 21, 2026 08:13
From the cmux-next PR autofix artifact (run 39623858039): the exports now
list sessions.promptSuggestions with default true, plus base's stale
agents.subsessions.answerQuestions row.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Agent-Session: https://cmux.com/deeplink/agent?harness=claude&session=01a15cfc-5eec-7700-94d7-9a3a1f7d889a&host=cosmic-gray
@github-actions

github-actions Bot commented Oct 21, 2026 •

Copy link
Copy Markdown
Contributor

Default changes

This pull request changes 1 default at c3c5390ca7c5 (what everyone gets without configuring anything):

  • setting.sessions.promptSuggestions: false -> true

Signed off on this commit by review (subagent, correctness first).

Merge receipt: merged as 9fe0c23896e1 with these defaults changed, signed off by review (subagent, correctness first).

Regenerate the snapshot with python3 scripts/ci/defaults_guard.py snapshot.

@teamleaderleo

Copy link
Copy Markdown
Collaborator Author

Review (subagent, correctness first): SHIP at 0a301ca

  • The base merge changed only this PR's 13 files. Nothing else ORs the Debug tunable with the setting.
  • The generated settings code matches its source, and the settings exports match theirs.
  • The regenerated exports contain only two changes: promptSuggestions now defaults to true, and base's stale agents.subsessions.answerQuestions row.
  • No Swift compile risks found.

…-suggestions-setting-decides

# Conflicts:
#	schemas/settings-export/settings-schema.sources.sha256
#	schemas/settings/settings-schema.json
@teamleaderleo

Copy link
Copy Markdown
Collaborator Author

Review (subagent, correctness first): SHIP at c3c5390

  • The gate is right in all three cases. With the setting and the tunable both off, nothing draws. With the setting on (its default is true everywhere), suggestions show. Turning the tunable on (its default is false) forces them on. AcpmuxHost now reads only forNextDaemon.isOn, so the second OR that caused the Revert "cmux-next: suggested follow-up tasks become a setting" #23173 revert is gone.
  • All 6 settings exports say default: true. All 275 entries in settings-schema.sources.sha256 match HEAD.
  • cmux-ci compile-check --app at this head passed (job 3c3205b41cda0a73b213ba95, 60 s).
  • There are 4 Low notes and none block. One: the offer-tools test builds its own closure. Another: before settings load, a prewarmed daemon can see the starting value, true. That isn't a regression, and the body mentions it.

@github-actions

github-actions Bot commented Oct 22, 2026 •

Copy link
Copy Markdown
Contributor

This branch was previously deployed

4 inactive deployments
artifacts — c3c5390c Deployed Oct 22, 2026 by teamleaderleo
sentry-dsyms — c3c5390c Deployed Oct 22, 2026 by teamleaderleo
cmux-tui-merge-tree — c3c5390c Deployed Oct 22, 2026 by teamleaderleo
ci-routing-agent — c3c5390c 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

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

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant