crux implements 12 features. Each exists to answer a question git bisect leaves open. This section documents what each one does, how it works internally, and where it stops.

grouped bars of wall time per scenario: crux fast mode edges out git bisect on most of the 9 benchmark scenarios

the list

Causal blame. The core search: the exact commit where a behavior changed, found by running your command across history.

Minimized causal diff. The blamed commit reduced to the specific lines that cause the change, verified by re-execution.

Interaction fault detection. Pairs of commits that are harmless alone & broken together, named as pairs.

Dependency blame. Version transitions, manifests read at both revisions, upstream attribution when the ecosystem allows it.

Behavior guardians. Protected behaviors declared once & shared with the team.

Signature store. An append-only time-series of every observation, with code & environment signatures.

Ranked blame. Evidence-scored candidates when history is ambiguous, so you're not stuck with 1 wrong answer.

Prediction mode. Whether a branch would change a behavior, tested before the merge.

Rewrite resilience. Blame through squashes & rebases onto the original commits.

Deterministic replay. A finding re-run in its recorded environment, twice, byte compared.

Environment vs code. Whether the behavior moved because the code moved or the world did.

Causal chain report. Commit, lines, cause class & repro command in one artifact.

edit this page