Real outages · higher is better
0.81
of 360 real RCAEval failures named first, in three systems (Online Boutique, Sock Shop, Train Ticket).
RCAEval's own code on the same cases: NSigma 0.78 · BARO 0.28
Hypocenter follows an outage down the call graph to the change that started it, argues every suspect with evidence it can cite, and proves the fix on a copy of the FalkorDB graph before anyone approves it.
Click the cube
Real outages · higher is better
0.81
of 360 real RCAEval failures named first, in three systems (Online Boutique, Sock Shop, Train Ticket).
RCAEval's own code on the same cases: NSigma 0.78 · BARO 0.28
Fix, proved first · same means right
4/4
planted fixes cleared exactly the alerts the graph copy predicted. The decoy rollback was shown to clear nothing before anyone approved it.
GRAPH.COPY · CAUSED_BY · the judge asked again
At size · lower is better
73ms
per verdict on a 3,000-service graph (211k nodes, 252k edges), naming 197 of 198 planted causes first.
python -m faultline.scale · docs/scale.md
Measured, not claimed · make eval reproduces every number · on held-out Train Ticket NSigma ranks better (0.76 vs 0.71), and we say so
An on-call agent that proves before it blames. Every suspect is a hypothesis in the graph, every piece of evidence cites a node, and every fix is tried on a copy of FalkorDB first.
Fig 0.1
A change is a suspect only if every service between it and the symptom started failing after it, in order. Off the path, or too late: out, whatever the model thinks.
Fig 0.2
Each suspect is a Hypothesis node with evidence for and against, every piece citing the alert, change or past incident it rests on. Confidence is the margin, not the score.
Fig 0.3
The fix is applied to a GRAPH.COPY: what clears, what stays, and what explains the rest. After a person approves, the real alerts are checked against that prediction.
Product tour
Published evaluation
Run it
Loading incidents…
Loading…
Getting started
No. The offline investigator runs the same tools in the same order through the graph and writes the same case file. With ANTHROPIC_API_KEY set, Claude drives the tools instead; every claim it makes is still checked against the graph before it is shown.
Docker. docker compose up -d --build starts FalkorDB 4.14.10 and the app, seeds every tenant, and serves this site on :8090.
Every answer is a graph query, so nothing is shown rather than something guessed. The status pill turns red, the pages say so, and they reconnect by themselves.
No. It proposes one action with its proof attached; a person approves it, and then the alerts decide whether it worked.
Kestrel Pay and Harbor are synthetic companies. Online Boutique, Sock Shop and Train Ticket are all 360 real failures from the public RCAEval benchmark, with real telemetry, real call graphs and real root causes.
make eval downloads the public data, runs Hypocenter and RCAEval's own baselines, and prints the tables in docs/rcaeval-results.md. A test fails if this page and that file disagree.
Don't trust this page
docker compose up -d --build open http://localhost:8090
make eval # data, signals, Hypocenter, baselines make eval-quick # re-score in under a minute
claude mcp add hypocenter -- docker compose \ exec -T app python -m faultline.mcp_server