Find the commit that made your test flaky.
Culprit watches your CI, tells genuine flakes from real failures, and bisects your history to the commit that introduced the flake.
Free during the alpha · read-only CI access
fails 1 in 7 runs · 128 commits bisected
auth: make timeout non-blocking
No rewrites, no new framework — just the guilty commit.
git bisect start git bisect bad HEAD git bisect good v2.9 # check out, re-run the suite, mark # repeat — 7 rounds, flaky each time
culprit watches CI
test_user_auth_timeout
→ a1b3f9c @dkovac
fails 1 in 7 runsRuns on GitHub Actions today · illustrative, not an adoption claim
Everyone knows the test is flaky. Nobody knows when it broke.
So it gets skipped, and stays skipped, forever.
Put a number on your flaky tests.
Re-runs waste CI time. Manual bisects waste engineer hours. Most calculators only count the first.
- CI runs / engineer / day
- 3
- Working days / month
- 22
- Bisect time / flake
- 2 hrs
- Avg engineer rate
- $75/hr
Culprit eliminates the bisect line entirely. Join the alpha
Watch runs, tell flakes from failures, blame the PR.
Connect CI
Point Culprit at your GitHub Actions runs. It reads results you already produce.
Detect
It scores tests by pass/fail instability and surfaces the genuine flakes, not the real breaks.
Blame
It bisects the suspect range to one commit and posts a linkable report on the PR.
A linkable blame report, right on the PR.
Which test, which commit, which author, how often it fails.
Flaky test introduced in this pull request.
test_user_auth_timeout started failing intermittently after this change. I bisected 128 commits down to the one that first introduced the flake:
Wedge on GitHub Actions now.
Buildkite, CircleCI, and GitLab CI are on the roadmap.
Free while we prove it works.
A planned $15–25 per committer per month when it does.
Free while we prove Culprit can attribute a fixed test to its bisect output.
- Flake vs. real-failure detection
- Automatic commit bisect
- Linkable PR blame report
- No card required
Planned $15–25 / committer / month at launch
Questions an engineer asks before trusting an auto-bisect tool.
How do you tell a flake from a real failure?
A test that fails, then passes on a plain re-run with no code change, is treated as a flake. A test that fails consistently is a real failure, and Culprit leaves it alone.
Does it slow down my CI?
Which CI systems do you support?
What access do you need?
Stop re-running. Start fixing.
The alpha is free and read-only. We only ask for one thing back: tell us the fixed test you attribute to a Culprit bisect.
GitHub Actions today · Buildkite, CircleCI, GitLab CI on the roadmap