CI goes red for reasons that have nothing to do with your change. A port collision on a shared runner, a test that expects a clock to move, a missing dependency image, a stale cache, an assertion that finally caught a real regression. When every failure lands as a raw stack trace in a channel, the expensive part is not the failure; it is deciding which log to open. A small classification pass can sort the queue before any human reads a single line.
The script below uses free model access and a free server option from MonkeyCode, so you can run it on a scheduled job without adding infrastructure. Disclosure: This article was prepared as part of MonkeyCode's product outreach.
A triage card, not a root-cause verdict
The goal is not to explain the failure. The goal is to produce a triage card with three fields that help you decide what to read next: category, confidence, and suggested_next_step.
Use these categories to start:






