Skip to content
@flaketrace

flaketrace

An LLM reads your failed CI runs so you don't have to — self-hosted AI triage for Playwright test failures, posted straight to your PR.

flaketrace

An LLM reads your failed CI runs so you don't have to.

npm version npm downloads CI MIT license


playwright-ai-triage

A Playwright reporter that classifies every test failure with an LLM and posts a short, human-readable summary to stdout, a GitHub PR comment, or Slack. A red build stops being a pile of stack traces and becomes four labelled buckets you can act on.

// playwright.config.ts
export default defineConfig({
  reporter: [['list'], ['playwright-ai-triage']],
});

One line in your config, ANTHROPIC_API_KEY in your CI env — that's the whole setup.

 

Verdict What it means
🐞 REAL_BUG The assertion is right and the app is wrong. Fix the code.
🎯 SELECTOR_DRIFT The UI moved and the locator didn't. Comes with a suggested replacement.
🎲 FLAKY Non-deterministic. Passed on retry, raced, or timed out under load.
🌩 ENV_ISSUE Not your test — network, credentials, or a backend returning 5xx.

Failures a script can decide never reach the API at all: passed-on-retry, pure network signatures, and expired credentials are classified locally, for free. The model is reserved for the failures that actually need judgment.

How this is built

  • Self-hosted. There is no hosted platform behind the reporter. Your results are processed inside your own CI.
  • Bring your own key. You supply an Anthropic API key; the per-run cost is printed honestly, and it lands around a cent.
  • No vendor between you and your logs. Redacted failure text goes to the Anthropic API and to the outputs you switch on — plus your own endpoint, if you opt into the HTTP sink. Every one of those is a destination you control. Screenshots, videos, trace files, and your source code are never uploaded.
  • It never fails your build. No key degrades to a plain summary; an API outage marks failures UNCLASSIFIED; any internal error is a warning and the run exits normally.

What's next

Directional, not a promise — the full list lives in the roadmap.

  • Cross-shard merge — one combined summary instead of a section per shard.
  • Bedrock, Vertex, and gateway baseURL support, for teams that reach Claude indirectly.
  • GitLab merge-request commentsstdout and slack already work on any CI.

A hosted add-on with cross-run history and flakiness trends is on the later, if there's demand end of that list — not shipped, and not promised. The reporter stays self-hosted and free either way. If you'd use the hosted piece, the waitlist on flaketrace.com is the way to say so.

Start here

Docs and setup · Roadmap · Contributing · npm · flaketrace.com

Issues and PRs are welcome. If something on the roadmap matters to you, an issue saying so moves it up.


From the same maintainer: Agentic OS — governed AI agents for your repo, with a setup guide for QA engineers.

Playwright is a trademark of Microsoft Corporation. This project is community-built and is not affiliated with or endorsed by Microsoft.

Popular repositories Loading

  1. playwright-ai-triage playwright-ai-triage Public

    AI-powered failure triage reporter for Playwright — classifies test failures (real bug / flaky / selector drift / env issue) and posts the verdicts to your PR

    TypeScript

  2. .github .github Public

    Org-wide defaults and the flaketrace profile page

    Python

Repositories

Showing 2 of 2 repositories

People

This organization has no public members. You must be a member to see who’s a part of this organization.

Top languages

Loading…

Most used topics

Loading…