draft
Teaching an Agent to Triage: Automating First-Level Build Failure Analysis
DRAFT — outline only; prose pending.
Alt title: "10,000 Pipelines a Month, Zero Humans on First Triage". Target: 2,200–2,500 words. Tone: engineering storytelling for senior readers, not a tutorial.
The toil problem
- ~300 words.
- 10K+ monthly pipeline runs; what a failed-build morning looked like; who got interrupted.
- One sanitized example of a cryptic failure that took a human 40 minutes.
- Scale numbers early.
Why "just point an LLM at the logs" fails
- ~400 words. Credibility section.
- Context windows vs multi-MB logs; the agent must navigate Jenkins, not read a dump.
- Hallucinated root causes without build-system context.
- Triage is a procedure, not a prompt.
The architecture: tools + skill
- ~600 words + diagram.
- The 11 Jenkins REST API tools and the design principle: give the agent the same affordances a human triager has (get build status, fetch logs incrementally, list recent builds, diff against last green…).
- The SKILL.md: the failure taxonomy (compilation, test, dependency, infra, deployment, timeout, permission, quality gate) and the encoded triage procedure — the "imagination layer": writing down the expert's implicit decision tree.
What structured output looks like
- ~300 words.
- Sanitized root-cause report: category, evidence excerpts, confidence, recommended action, handoff owner.
- Before/after: cryptic red X → ticket-ready summary.
Results and honest limitations
- ~400 words.
- % correctly categorized, human-minutes saved, MTTR movement.
- Where it still fails (flaky tests, novel failure modes); what you'd redesign.
- The honesty is what earns senior trust.
The generalizable lesson
- ~250 words.
- Pattern = codify expert procedure as a skill + give the agent real tool affordances.
- Applies to incident triage, capacity review, dependency upgrades.
- One line teasing the series ("build triage was the first skill; code search came next").
Pre-publish checklist: sanitize repo names/hostnames; check employer sign-off (an Auction.com eng-blog byline + cross-post is the best case — free amplification); title = honest + specific + numbers.