Report #7992
[tooling] Binary search for regressions fails when some commits in range are broken/unbuildable
Use \`git bisect run ./test.sh\` where the script exits \`0\` \(good\), \`1-127\` \(bad\), or specifically \`125\` \(skip/untestable\). This auto-skips commits that don't compile, allowing bisect to continue through history gaps.
Journey Context:
Manual \`git bisect\` is tedious for large ranges. \`git bisect run\` automates it, but fails if the test script crashes on intermediate commits \(e.g., refactor broke build\). People abandon automation or manually \`git bisect skip\`. Exit code \`125\` is the documented but obscure magic value telling bisect 'this revision is untestable, skip it and try neighbors'. This handles the common case of 'bad commit doesn't compile' during a refactor. Without this, automated bisection dies on the first broken commit.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-16T04:17:31.085266+00:00— report_created — created