cmux-next: delete leftover legacy resources, CI, CLI verbs and package code (B3-B5)
Continues the cmux-next deletion (plans/cmux-next/deletion.md B3, B4, B5). Net: 178,333 lines deleted, 577 added, over 1,288 files. Nothing here is linked or run by cmux-next, the bundled CLI, iOS, web or cmux-tui.
Changelog
none
Batches
| Commit | Lines deleted | What |
|---|---|---|
| B4 resources + unlinked packages | 43,038 | CmuxGit, CmuxSidebarGit, CmuxNotifications, CmuxComputerUse, CmuxFeedback, CmuxUpdaterUI (no target links them; CmuxUpdater stays). Resources the bundle never ships: agent-session bundles and their build script, cmux.sdef, ConfigPackErrors, the cloud-agent-skill lproj copies. Info.plist drops the scripting definition, Services, the Dock tile plugin and the legacy drag UTTypes. |
| Docs, dogfood, tests_v2 | 16,672 | Docs for canvas, custom sidebars, the interpreter surface and the remote-tmux mirror; the cmux-custom-sidebar skill; dogfood/scenarios and dogfood/fuzz (need bonsplit's debug.layout); 47 tests_v2 files whose oracles are old-app debug.* methods. |
| B5 CLI verbs | 27,023 | canvas, simulator/ios, custom sidebar, right-sidebar, window display(s)/default-display, project, set-app-focus, simulate-app-active, simulate-sidebar-drag, debug-terminals, iroh-diag, refresh-surfaces. cmux-next already answered all their methods with a typed unsupported error. Each public name keeps a typed error (unsupported in cmux-next: <reason>, exit 1) so scripts learn why. sidebar and window now go straight to the cmux-next action verbs. The CLI no longer links CmuxSimulator. The CLI string table drops 157 unreferenced keys (1,977 to 1,820). |
| Dead scripts | 5,761 | wireguard-go, bundled-resources and paste-worker builds, event-log and window benchmarks, run-tests-v2.sh, the remote-tmux fuzz tools and their lint, reload.sh's cmuxd build. |
| B5 package shrink | 69,053 | CmuxControlSocket (47.6k to 1.3k), CmuxTerminalCore (18.3k to 0.6k) and CmuxSurfaceCatalogModel (5.5k to 0.1k) keep only the client types the CLI uses. The legacy dispatch table is replaced by the one set the CLI reads (SocketPollingMethods). |
| Unreferenced files | 6,271 | Fixed-point scan of the CLI's shared packages: files whose types no Swift file in the repo references, plus the tests that only covered them. |
| B3 CI | 10,614 | App-host shards, lag job, layered product publish, E2E accounting, v1 socket tests, perf-activation. pr_runner_pool and late_placement now plan only compile admission and the CLI product tests, so owned capacity is no longer reserved for 7 phantom shards. Stale review-bot globs. |
Also: Native/DiffSidecar/Cargo.toml no longer strips proc-macro dylibs. With the Xcode 27 SDK the stripped thiserror_impl made every local cmux-next build fail in Build Diff Sidecar. The release binary is still stripped.
Verification
./scripts/reload.sh --tag nxdel2 --no-global-cli-linkssucceeds after each batch and on the final merged head (cmux-tui pin f5d45a8).cmux-cliDebug builds on its own.scripts/cmux-next/smoke-bundled-cli.sh --tag nxdel2passes: version, help, help in 21 languages, 432 actions.scripts/cmux-next/cli-compat-e2e.pypasses 41/41, including teardown, on batches 1-2, after B5 and on the final head. The app was launched with a clean env plus TMPDIR,CMUX_NEXT_NO_ACTIVATE=1andCMUX_NEXT_SOCKET_MODE=automation. PTYs stayed at 125.swift build --build-testspasses in Packages/macOS/CmuxNext.swift testpasses in CmuxControlSocket, CmuxTerminalCore, CmuxCore, CmuxAgentJournal, CmuxSettings and CMUXAgentLaunch.check-no-godfiles.sh,check-concurrency.shandcheck-l10n.shpass (16 tables, 2,760 keys, 0 errors).tests/test_cli_contract_help.pypasses against the bundled CLI (211 probes).tests/test_cloud_vm_skill_coverage.pypasses again; it was red since B1.- CI tool tests: 1,928 passed. The 9 failures also fail on the base.
- actionlint: no new findings.
- Not run:
cmux-cli-tests(host-free, runs on CI; no test references a removed symbol), the iOS build (no iOS input changed), the full tests_v2 compat suite.
Decisions to check
- The X1 reuse candidates without a link (Git, sidebar Git, Notifications, Computer Use, Feedback, UpdaterUI) are deleted per goal 9 (rewrite, do not port). They can be recovered from git history.
- Kept, and each needs a decision: CmuxSimulator (cloud-ios.md Q3),
import+ CmuxTerminalImport andsudo+ CmuxSudoBroker (cmux-next reads neither output),themes, the Dock docs andcmux docs dock,webviews/src/agent-session, CmuxSyncStore,daemon/and thetest_ssh_remote_*files (B6).
🤖 Generated with Claude Code
Need help on this PR? Tag @codesmith-bot with what you need. Autofix is disabled.
Summary by cubic
Continues the cmux-next deletion plan (B3–B5): removes 178,333 lines of legacy resources, CLI verbs, docs, tests, and CI jobs, adding 577 lines over 1,288 files. Nothing removed is linked or run by cmux-next, the bundled CLI, iOS, web, or cmux-tui.
Refactors
- Deletes unlinked packages (CmuxGit, CmuxSidebarGit, CmuxNotifications, CmuxComputerUse, CmuxFeedback, CmuxUpdaterUI), agent-session bundles,
cmux.sdef, and unused Info.plist entries. - Removed CLI verbs (canvas, simulator/ios, custom/right sidebar, window display, project, app-focus and debugging verbs, iroh-diag, refresh-surfaces) keep a typed
unsupported in cmux-nexterror (exit 1) so scripts learn why. sidebarandwindownow route straight to cmux-next action verbs; the CLI no longer links CmuxSimulator and drops 157 unreferenced string keys.CmuxControlSocket,CmuxTerminalCore, andCmuxSurfaceCatalogModelshrink to only the client types the CLI uses.- CI drops app-host shards, the lag job, layered product publish, E2E accounting, v1 socket tests, and perf-activation; owned capacity is now reserved only for compile admission and the CLI product tests.
- Deletes dead docs, dogfood tours, fuzzer, 47 tests_v2 files, and build scripts (wireguard-go, bundled-resources, paste-worker, run-tests-v2.sh).
- Kept but needing decisions: CmuxSimulator,
import/sudo,themes, dock docs, agent-session webviews, CmuxSyncStore,daemon/, andtest_ssh_remote_*(B6).
Bug Fixes
Native/DiffSidecar/Cargo.tomlno longer strips proc-macro dylibs; the Xcode 27 SDK's strip broke every local cmux-next build.