cmux-test-bisectlisted
Install: claude install-skill manaflow-ai/cmux
# cmux test bisect
PR CI runs selected tests, so a package suite can stay red on main for weeks
with nobody noticing. This skill finds the commit behind each failure on CI,
never on the Mac (no full cmux builds on laptops).
App-host (`cmuxTests`) failures on main have their own automatic bisect
(#14510). Use this skill for the SwiftPM package suites under `Packages/iOS` and `Packages/Shared` that `test-ios.yml` can run
(`CMUXMobileCore`, `CmuxSyncStore`, `CmuxMobilePairedMac`, `CmuxMobileChanges`,
`CmuxMobileShell`, `CmuxMobileShellModel`).
## Before you start
1. Get today's failing set from the red run:
`gh run view <run> --repo manaflow-ai/cmux --log-failed`, then grep `✘ Test .* failed after`.
Run the full suite twice if you have not already. A test that appears in
only one run is a flake candidate, not a regression.
2. Search for an existing fix: `gh search prs --repo manaflow-ai/cmux --state open '<test name>'`.
3. Work in your own worktree from `upstream/main`. If `git log` stops at a
recent commit, the checkout is shallow: `git fetch --shallow-since=<date> upstream main`.
## Run the bisect
```bash
T=scripts/ci/package_bisect.py
python3 $T --package CmuxMobileShell start --points 6 <old-sha>..upstream/main
python3 $T --package CmuxMobileShell status --wait # up to 45 min
python3 $T --package CmuxMobileShell next --dispatch # split each break window
python3 $T --package CmuxMobileShell cleanup # delete probe branches
```
- Each probe pu