Some breakages have no single author. Commit A rewrites a module & drops a code path, and every test still passes because nothing uses that path. Commit B enables the feature that needs it. Now the suite is red. Bisect reports B, which is technically where the failure appeared & completely misleading about where the fault lives.
--interactions interrogates the flip point. crux checks out the flip commit, reverts each earlier candidate commit one at a time, and re-runs your behavior after every revert. Reverting 1 specific commit makes it pass. That commit is a required partner, and crux names the pair:
interaction fault (6 probes):
5e4d56c16cee B enable advanced mode
0714e6b0bc62 A refactor drops legacy flag support
If the failure survives every revert, crux prints that the flip alone reproduces. Pair theory ruled out. Candidates cap at the 16 most recent earlier commits, so cost is bounded. Opt-in, because it multiplies runs.
edit this page