Test observability
Every run ingested as OTLP — full history per test, not per report. Historical analytics fall out of the telemetry instead of being bolted on.
Treat every test run as a trace, not a report. Explainable flaky detection and AI root-cause across every run, branch, and refactor.
Every run ingested as OTLP — full history per test, not per report. Historical analytics fall out of the telemetry instead of being bolted on.
A multi-level fingerprint that survives file moves, renames, and parameterization, so a flaky test does not reset to zero when a file moves.
A transparent Beta-Binomial score with human-readable reason codes — same commit different result, pass-on-rerun, and more. Not a black box.
Failures are normalized and clustered cheaply; only genuinely new signatures reach an LLM, budget-gated and cached per cluster.
The write path returns 202 instantly and does the heavy work asynchronously. A GitHub Action and sticky PR comment ship out of the box.
Native reporters for Playwright, Vitest, and Jest — plus JUnit XML ingestion for pytest, Go, Ruby, PHPUnit, and anything else.
Test reporters answer "what happened in this run?" Flakemetry answers "is this test trustworthy, why is it failing, and is it getting worse?" — across every run, branch, and refactor.
If every test execution is modelled as an OpenTelemetry span, then historical analytics, flaky scoring, and AI root-cause become natural extensions of the telemetry instead of bolted-on hacks. That single decision is the platform's technical moat.
Ready to try it? Self-host in one command, then send your first run.