CI-Failure Triage
A failed check leaves you with a log to scroll. Somewhere in thousands of lines is the assertion that failed, the stack frame that threw, or the type error that broke the build — and the job of triage is to find it and say, in plain terms, what went wrong and where. When a build goes red, Sigilix does that read for you. It pulls the failing job’s logs, reads them against the diff that triggered the run, and posts a grounded, inline root-cause comment in file:line terms — anchored to the change that most likely caused the failure, not a copy-paste of the raw log.CI-failure triage is one of the pipelines the dispatcher routes to. It fires on a check-failure event and writes back to the PR thread, where the developer already is.
Log dump vs. grounded root cause
The difference is where the reading happens. Without triage, the log is handed to you and you do the reading. With triage, Sigilix reads the log, correlates it to the diff, and hands you the conclusion.Grounding is enforced on this path
A model asked “why did this build fail?” will always produce a fluent answer — and a fluent wrong answer is worse than a log dump, because it sends the developer down the wrong trail. CI-failure triage is the path where that risk is highest, so it is the path where grounding is enforced.Read the failure, not a vibe
Triage reads the actual job logs — the failing assertion, the stack trace, the compiler error — not a summary of what kind of job it was.
Correlate to the diff
The failure evidence is cross-referenced against the change that triggered the run, so the root cause is attributed to a specific line in the PR where possible.
Require a citation
The output must cite the failure evidence — the log line and/or the diff line that justify the root cause. A root cause that cannot point at the evidence behind it does not post.
This is the same grounding discipline the review path applies through the believability pipeline: a claim that can’t be anchored to cited evidence is suppressed rather than emitted. For CI triage, the evidence is the failure log and the diff — not a confidently-wrong root cause.
What it reads
The failing job's logs
The failing job's logs
Sigilix reads the logs of the check that failed — test output, build/compile errors, linter output, and stack traces — to locate the concrete failure rather than restating that “the job failed.”
The diff that triggered the run
The diff that triggered the run
The failure is read against the change under review. This is what lets triage say “caused by the change at line N” instead of just “something is failing” — it correlates the failure to the code that moved.
Surrounding code, via the code graph
Surrounding code, via the code graph
When the failing line calls into code outside the diff, Sigilix expands context through the code graph so the root cause accounts for the real call path, not just the line that threw.
Review memory
Review memory
Prior triage and review history on the repo inform the read — recurring failure shapes and previously-seen causes are part of the context the pipeline reasons against.
What you get back
A single inline comment on the PR, attached to the line most likely responsible, containing:- The root cause in file:line terms — what failed and where.
- The link to the diff — which change in this PR caused it.
- The evidence — the log line and diff line that ground the conclusion.
Read next
How triage works
The shared architecture behind both triage paths.
Issue triage
The other triage path — Linear and Jira issue triage.
The Believability Pipeline
The grounding discipline that keeps triage from emitting confidently-wrong causes.
GitHub
The permissions that let Sigilix read workflow runs and post on the PR.

