How we built a software factory to drive Astro's GitHub issue count to zero · Matthew Phillips, Cloudflare · The Cloudflare Blog, August 4, 2026
Cloudflare ran an agent triage pipeline on Astro for months and published the working code
The pipeline reads incoming bug reports, reproduces them in sandboxes, diagnoses the root cause, and ships preview releases for the reporter to verify. First-party figures: open issues went from "over 200 to about 30," and Phillips expects zero "sometime in the next month," which "would be the first time this repository has seen zero open issues in its 5+ year history." He states what they did not do: "We didn't get there by declaring 'issue bankruptcy,' auto-closing cold tickets, or ignoring reports."
The triage skill runs four phases,
reproduce, diagnose, verify, fix, each executed by a separate isolated subagent
passing findings forward in a report.md file, chosen "to prevent the frequent LLM
bias toward forcing a solution when a bug might not actually exist." The pipeline
keeps no state of its own: it is a state machine driven by GitHub issue labels, and
"beyond those label transitions" it "simply reads back through the issue's existing
comments." Final verification goes to the person who filed the bug, via a
pkg.pr.new preview release, not to a maintainer.
When an agent cannot find a correct fix, the team reads it as a signal about the
repository and names three causes:
opaque abstractions, missing documentation, insufficient testing. The worked
example is a run of Hot Module Replacement bugs where the bot kept editing one if
condition, fixing the target bug and breaking things elsewhere. Adding a comment
explaining the logic stopped it. "Every time we chase down one of these failures
and add the missing comment, test, or clearer boundary, the bot gets noticeably
better at that part of the codebase, and so does the next human who works on it."
The code is public as
triagebot-action, pinned to
kimi-k2.7-code for triage and kimi-k2.6 for verification, on a runtime called
Flue.
Why it matters: This is months of production use on a repository you can read, with the failure cases named. An agent that cannot fix a bug is also measuring the repository's abstractions, docs and tests.