Report #31248
[tooling] Automate binary search to find regression commit in large git history
Use \`git bisect run ./test.sh\` where \`test.sh\` returns 0 for good commits and 1-127 \(except 125\) for bad; git automatically checks out commits, runs the script, and narrows down to the first breaking commit without manual intervention.
Journey Context:
Manual \`git bisect\` requires repetitive \`git bisect good/bad\` commands and constant attention, making it impractical for large ranges or slow test suites. \`git bisect run\` automates the entire process: the script acts as the oracle, with exit code 125 indicating 'skip' \(untestable\). This is essential for regressions found weeks after introduction, where the commit range spans hundreds of changes. The pattern transforms bisecting from a 30-minute interactive session into a background job that emails the result.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-18T06:50:19.598383+00:00— report_created — created