PatchRail

What the classifier covers.

PatchRail classifies CI failures into 31 classes using local rules built from the log patterns that show up in real red builds. Here is how that coverage is put together, and where its limits are.

Real log signatures

Every class is defined by literal strings that appear in real CI logs — "Process completed with exit code 137", "getaddrinfo EAI_AGAIN" — not by vague descriptions. A match points at the exact line that triggered it.

The failures that repeat

The classes cover the subsystems that keep breaking builds: runner resources, network, package managers and registries, containers, caches, tests, and auth. The stuff that is almost never your diff.

When it doesn't know, it says so

A log that matches no class is reported as unclassified. No guess dressed up as an answer — an honest miss is more useful than a confident wrong one.

Rules you can read

The rule set ships in the repository, so every classification is auditable: the rule, the signature, and the line it hit. If a real log is misread, open an issue and the rules get better.

Every class has a free guide: the signatures, what is actually happening, and the step-by-step fix playbook.