Skip to content

cmux-next: retire tabs.newTabWidgets.modeSwitch (the New Tab Search | Ask switch is gone) - #22883

Merged
teamleaderleo merged 3 commits into
feat-cmux-nextfrom
cmux/omnibox-auto-modeswitch
Oct 26, 2026
Merged

teamleaderleo merged 3 commits into
feat-cmux-nextfrom
cmux/omnibox-auto-modeswitch

Conversation

@teamleaderleo

@teamleaderleo teamleaderleo commented Oct 21, 2026 •

Copy link
Copy Markdown
Collaborator

New Tab's Search | Ask switch and its widget were already removed by #22674 and #22816. This PR finishes the config migration by retiring tabs.newTabWidgets.modeSwitch: an old file loads quietly, reports the retired key, and cannot expose it through Settings or agent writes.

The branch is current on feat-cmux-next base 3ad1a6bb71993c13e4ff9bd776d4fabd73ca41f3. Its complete base-to-head diff at 302a7cd279864cc2c2c87d70c138b6596c31cd2b is four settings files: retired-key source, generated Swift map, focused regression, and regenerated source stamp. Existing New Tab behavior and unrelated base changes are preserved.

Observed / Not run

  • python3 scripts/cmux-next/gen-settings-sources.py --check: passed.
  • python3 scripts/cmux-next/prepush-gate.py: passed for the own commits.
  • python3 scripts/ci/defaults_guard.py check-stamp --base 3ad1a6bb71993c13e4ff9bd776d4fabd73ca41f3: passed.
  • git diff --check: passed.
  • Script tests (pin-cmux-tui, embed-cef, ensure-cef store) is base-red: bash scripts/cmux-next/tests/release-compile-derived-data.test.sh reproduces the bench OTHER_SWIFT_FLAGS failure on the untouched base worktree.
  • Package dependency lists sorted is base-red: python3 scripts/cmux-next/check-package-dependency-lists.py reproduces the missing CmuxNextChiefMemory dependency on the untouched base worktree.
  • Independent Codex xhigh re-review is running on the exact final head.
  • The one exact-head PR wait is running at 302a7cd279864cc2c2c87d70c138b6596c31cd2b.
  • Native builds/tests are not run locally; CI/fleet verification is authoritative.

No capture: this changes retired config-key handling only, with no layout or styling change.

Agent session: big-red

@teamleaderleo teamleaderleo added the risk:normal Risk tier (docs/ci/risk-tiers.md) label Oct 21, 2026
@teamleaderleo
teamleaderleo marked this pull request as ready for review October 21, 2026 03:40
@teamleaderleo

Copy link
Copy Markdown
Collaborator Author

owner: 01a15c41-0d06-7430-b24d-a6d55b9be1d4

@teamleaderleo

Copy link
Copy Markdown
Collaborator Author

Human approval: Leo (teamleaderleo) approved this PR in the coordinator chat on 2026-10-20 ("i approve all 22612 22874 22883 22777"), at head 563072cf0956b764e18a595a19d0b5f29bb263ab. GitHub does not let the author account approve its own PR, so the approval is recorded here. A new push needs a new approval.

Agent session: cosmic-gray

@teamleaderleo

Copy link
Copy Markdown
Collaborator Author

Not merging at 563072c, the head Leo approved: it can't land as it is.

Plan: once #22674 and #22816 merge, I'll merge the base in once, review the result, wait for a green Swift compile on that head, and post the new head here for a new approval.

@teamleaderleo

teamleaderleo commented Oct 21, 2026 •

Copy link
Copy Markdown
Collaborator Author

Owned by nx-settings on big-red

Base automatically changed from cmux/newtab-minimal to feat-cmux-next October 21, 2026 23:56
@github-actions

github-actions Bot commented Oct 22, 2026 •

Copy link
Copy Markdown
Contributor

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

Review 302a7cd: 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=pr22883 -f ref=cmux/omnibox-auto-modeswitch -f platform=macos -f backend_mode=local

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

@teamleaderleo teamleaderleo changed the title cmux-next: remove the New Tab Search | Ask switch widget (stacked on #22674, #22816) cmux-next: retire tabs.newTabWidgets.modeSwitch (the New Tab Search | Ask switch is gone) Oct 22, 2026
@teamleaderleo

Copy link
Copy Markdown
Collaborator Author

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

@blacksmith-sh

blacksmith-sh Bot commented Oct 22, 2026 •

Copy link
Copy Markdown

Found 11 test failures on Blacksmith runners:

Failures

Test View Logs
/tmp/tmpi_mqbmzf/summary-missing.json (live):/summary-missing.json (live): View Logs
/tmp/tmpiygc64p4/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
bench OTHER_SWIFT_FLAGS is 'OTHER_SWIFT_FLAGS=$(inherited) -DCMUX_BENCH_HOOKS -DCMUX_BL
OCKING_CHECKS'/
bench OTHER_SWIFT_FLAGS is 'OTHER_SWIFT_FLAGS=$(inherited) -DCMUX_BENCH_HOOKS -DCMUX_BL
OCKING_CHECKS'
View Logs
bench OTHER_SWIFT_FLAGS is 'OTHER_SWIFT_FLAGS=$(inherited) -DCMUX_BENCH_HOOKS -DCMUX_BL
OCKING_CHECKS'/
bench OTHER_SWIFT_FLAGS is 'OTHER_SWIFT_FLAGS=$(inherited) -DCMUX_BENCH_HOOKS -DCMUX_BL
OCKING_CHECKS'
View Logs
nightly cmux-tui resolve/nightly cmux-tui resolve View Logs
test_the_nightly_is_covered (main.NightlyStepCoverageTests.test_the_nightly_is_cove
red)/
test_the_nightly_is_covered (main.NightlyStepCoverageTests.test_the_nightly_is_cove
red)
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.

@teamleaderleo

Copy link
Copy Markdown
Collaborator Author

Review (subagent, correctness first): SHIP at cb7ada1

  • The generated SettingsSchema+RetiredKeys.generated.swift matches the generator (gen-settings-sources.py --check exits 0). No other copy of the retired-key list needs regenerating; cmux-tui reads the JSON directly.
  • theRetiredModeSwitchKeyIsIgnored holds: the parse is unchanged, there is no diagnostic, retiredKeys reports the key, and there is no descriptor or agent-settable entry.
  • Writes to the key are now refused as retired, which is what retiring means. No source code reads modeSwitch any more.
  • Nit, not blocking: the AppServices comment lists only the agent and the model.

@teamleaderleo

Copy link
Copy Markdown
Collaborator Author

cmux-next crash-class rules / cmux-next crash-class rules is red on 9 of 9 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

cmux-next guards / nightly-guards / workflow-guard-tests / release-notary is red on 10 of 14 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

Review (subagent, correctness first): SHIP at 1fd5baa

  • The new commit is the pr-autofix-patch artifact from run 39697000764 applied unchanged (its push job was skipped). It only rewrites settings-schema.sources.sha256.
  • defaults_guard.py check-stamp exits 0 at this head. Every new digest matches the file's bytes.
  • The full delta is still just the retired-key change plus the stamp.

@teamleaderleo

Copy link
Copy Markdown
Collaborator Author

Review (subagent, correctness first): SHIP at 59cf72e

  • The second base merge's only conflict was the settings stamp. I took the base's stamp and updated only this PR's two sources to their source-stamp hashes. The lines the base leaves stale stay for the base autofix, so they keep reporting as base warnings instead of being marked fresh.
  • check-stamp --base 390c286b exits 0 (only the base warning). gen-settings-sources.py --check exits 0.
  • The delta from the base is identical to the earlier SHIP head 1fd5baa apart from the stamp. No base change was dropped.

@cursor

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

Orphaned: no activity for 73 h, and no lane holds a lease on it. The orphan sweep could not merge feat-cmux-next in: conflicts in Packages/macOS/CmuxNext/Tests/CmuxNextSettingsTests/NewTabWidgetSettingsTests.swift, schemas/settings-export/settings-schema.sources.sha256. Listed for a lane to resolve.

@teamleaderleo
teamleaderleo force-pushed the cmux/omnibox-auto-modeswitch branch from 724b5ea to 6c0d887 Compare October 26, 2026 03:07
@cursor

cursor Bot commented Oct 26, 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 fast gates / post cmux-next/fast-gates is red on 18 of 23 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

high-signal review link / link is red on 17 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

Base-red attribution at source head 6c0d8870da97ec5b2662e6171ce3beefdcf6052c against base 7bd097da98a1a1d19277f43aea95ec032dce85e4:

The release-notary guard job fails on the release-note try-it requirement and existing nightly background-step/step-coverage/resolve guards. I reproduced those four Python test failures locally. Their workflows, scripts, release notes and test inputs are byte-identical to the base (git diff --exit-code over those paths passed), so these are inherited failures; Guard status inherits that job.

The settings source-stamp failure is this branch's and is being repaired through managed Mac autofix run 40262535390, with one condition wait active. I will apply its generated artifact and obtain a fresh exact-head review before landing.

@teamleaderleo teamleaderleo left a comment

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Review (independent Codex /root/review_22883_final, xhigh): SHIP at db508d9

Independent final-head review found no blocking findings. The full delta is four files: the retired-key JSON, generated Swift map, focused NewTabWidgetSettingsTests regression, and the official one-line source-stamp artifact from managed Mac autofix run 40262535390. Source-stamp verification, generated-source verification, generated-output drift, JSON parsing and diff checks passed independently. The final repair changes only the generated stamp relative to the previously reviewed source head.

Validation limit: this was a read-only/static review; native Swift builds/tests were not run locally. I also inspected the final diff and clean worktree as the primary owner. Final-head PR checks remain in one condition wait.

@cursor

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

Base-red attribution for live head 302a7cd279864cc2c2c87d70c138b6596c31cd2b against its base 3ad1a6bb71993c13e4ff9bd776d4fabd73ca41f3:

  • Script tests (pin-cmux-tui, embed-cef, ensure-cef store) fails only because scripts/cmux-next/tests/release-compile-derived-data.test.sh expects bench OTHER_SWIFT_FLAGS without -DCMUX_BLOCKING_CHECKS; I reproduced the identical failure on the base worktree.
  • Package dependency lists sorted fails because Packages/macOS/CmuxNext/Package.swift lacks CmuxNextChiefMemory in CmuxNextAppTests dependencies; python3 scripts/cmux-next/check-package-dependency-lists.py reproduces the same failure on the base worktree.

The PR's complete base-to-head diff remains four settings files only (retired-key source, generated Swift, focused regression, and source stamp), so neither red is caused by this PR. I made no unrelated fix.

@teamleaderleo teamleaderleo left a comment

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Review (independent Codex /root/review_22883_final, xhigh): SHIP at 302a7cd

The final base-to-head diff is exactly the four intended settings files (19 insertions, 1 deletion). defaults_guard.py check-stamp --base 3ad1a6bb71993c13e4ff9bd776d4fabd73ca41f3, source-stamp parity, gen-settings-sources.py --check, generated-output drift, JSON parsing, and git diff --check all pass. No new findings.

The reported Script and Package dependency reds touch no changed path and reproduce unchanged on base, so they are inherited/base-owned. Validation was read-only/static; no native Swift builds or tests were run locally.

@teamleaderleo

Copy link
Copy Markdown
Collaborator Author

Final exact-head merge evidence for 302a7cd279864cc2c2c87d70c138b6596c31cd2b:

  • Independent Codex xhigh review: SHIP at this exact head.
  • cmux-next app compile (build fleet): SUCCESS (run 40268768402, job 121397015174).
  • defaults guard, risk evidence, and merge freeze: SUCCESS.
  • requiredMissing: empty; PR is MERGEABLE.
  • cmux-next checks reds are inherited: Script tests and Package dependency lists reproduce unchanged on base 3ad1a6bb71993c13e4ff9bd776d4fabd73ca41f3.
  • Defaults rerun failed only because GitHub installation API rate limit (HTTP 403), not a source failure.

@teamleaderleo
teamleaderleo merged commit 860a3aa into feat-cmux-next Oct 26, 2026
157 of 164 checks passed
@teamleaderleo
teamleaderleo deleted the cmux/omnibox-auto-modeswitch branch October 26, 2026 05:21
@github-actions

Copy link
Copy Markdown
Contributor

Shipped in:

This branch had an error being deployed

1 failed and 2 inactive deployments
sentry-dsyms — 302a7cd2 Deployed Oct 26, 2026 by teamleaderleo via upload cmux-tui dSYMs to Sentry #54761
artifacts — 302a7cd2 Deployed Oct 26, 2026 by teamleaderleo via publish to R2 #54761
ci-routing-agent — 302a7cd2 Deployed Oct 26, 2026 by teamleaderleo via namespace autofix #3009
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