Alpha · GitHub Actions

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

acme/payments-apimain
watching CI
test_user_auth_timeoutflakyfails 1 in 7 runs
128 commitsbinary search1 culprit
e2a9
7f4c
c18d
9b3a
41f7
6d2e
a1b3f9c
be09
3c7f
12ab
f0d4
88e1
a1b3f9cDKintroduced flakiness · @dkovacblame PR →
app.culprit.dev
0test rewrites required
0binary search per flake
GitHub Actionssupported today

Illustrative product facts, not adoption claims.

Everyone knows the test is flaky. Nobody knows when it broke.

So it gets skipped, and stays skipped, forever.

@pytest.mark.skip(reason="flaky, will fix later")

Watch runs, tell flakes from failures, blame the PR.

01

Connect CI

Point Culprit at your GitHub Actions runs. It reads results you already produce.

02

Detect

It scores tests by pass/fail instability and surfaces the genuine flakes, not the real breaks.

03

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.

github.com/acme/payments-api/pull/482
culpritbotcommented 2h ago

Flaky test introduced in this pull request.

$ test_user_auth_timeout became flaky at a1b3f9c
Testtest_user_auth_timeout
Commita1b3f9c
Author@dkovac
Failure rate1 in 7 runs
confirmed on 7 out-of-band re-runsview bisect log

Wedge on GitHub Actions now.

Buildkite, CircleCI, and GitLab CI are on the roadmap.

GitHub Actionssupported today
BuildkiteCircleCIGitLab CIon the roadmap

Free while we prove it works.

A planned $15–25 per committer per month when it does.

Alpha
Freeduring the alpha

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
Join the alpha

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.

Join the alpha and get the commit, not just the flake.

Read-only CI access · GitHub Actions