Git · apply by default

/git-bisect

Locate a regression with a reproducible pass/fail check

Use to locate a deterministic regression boundary; debug first establishes a reliable oracle.

Make it your own.

In Claude Code, use the slash command and add your context. In Codex, select git-bisect from the just-vibe skill picker, then send the same brief.

Version 0.11.0 also supports /jv git-bisect, /just-vibe git-bisect and /jv:git-bisect in Claude. See shortcut setup and context examples.

Example · apply
/just-vibe:git-bisect Find the regression between these supplied refs using the deterministic fixture; cap at 12 runs.
edge · apply
/just-vibe:git-bisect Bisect across a dependency migration where intermediate commits do not build.
blocked · inspect
/just-vibe:git-bisect Plan bisect when the failure is not reproducible; do not move the active checkout.

What the agent does

  1. Confirm the good and bad endpoints and the oracle's exit semantics.
  2. Run the bounded pass/fail oracle in an isolated worktree, treating unbuildable or untestable revisions as skips.
  3. Retest the candidate and its parent to confirm the boundary.

Inputs

  • known good/bad refs, deterministic oracle, and run budget.

Optional context: scope, references, constraints, successCriteria, environment, mode, budget.

Scope

Reads
Locate a regression in isolated history; no changes to the user's active worktree.
Writes
Apply: only the requested local changes and relevant isolated verification. Inspect/plan requests remain inspection/planning. External actions require their exact action and target in session authorization.
Mode
Apply; known good/bad refs, deterministic oracle, and run budget.
Prerequisites
Git, exact repository/worktree, and readable refs/index. Record branch, HEAD, staged/unstaged/untracked state before mutation. Preserve unrelated edits and never default to broad staging, hard reset, clean, force push, or history rewriting.

Expected output

  • Culprit or narrowed range with endpoint refs, the oracle, tested and skipped revisions, the independently confirmed boundary and cleanup state.

How the work is checked

  • A deterministic regression yields a confirmed boundary; flaky or skipped revisions produce qualified results.

When to stop or clarify

  • Stop when the oracle is unreliable or budget expires. Never label a skipped build as the regression without evidence.

Handling missing context

Infer
Read repository root, HEAD, branch, refs and staged/unstaged/untracked distinctions; use the configured human identity.
Assume
Limit an ambiguous inspection to the current repository and report that scope; preserve all existing changes.
Ask
Before mutation, resolve uncertain commit membership, destination ref or history-rewrite intent; do not ask again about already authorized exact actions.

Technical guidance

Evidence
Resolve known-good and known-bad commits and validate the oracle at both endpoints.
Method
Use an isolated worktree, bounded trials, explicit skip codes and a preserved candidate log.
Pitfall
Build failures may require skip rather than bad; flaky tests can point to an innocent commit.
Check
Recheck the candidate and parent with the same oracle; report a range if skipped revisions prevent a unique cause.

Situational decisions

When skipped revisions or flaky outcomes prevent a unique boundary: Report the candidate range and uncertainty rather than a definite offending commit.

The coding agent follows this workflow using its available tools. Installation does not grant service access or guarantee an outcome. Read the compatibility notes.

Keep exploring