Cloudflare significantly reduced Astro's open GitHub issues by 85% using an automated AI agent workflow. This system, built on a state machine model and later open-sourced as Flue, reproduces bugs, diagnoses root causes, verifies fixes, and creates preview releases, demonstrating an effective approach to autonomous issue resolution and agentic system design.
Read original on InfoQ ArchitectureCloudflare developed an automated system to streamline GitHub issue triage for its Astro open-source framework, resulting in an 85% reduction in open issues. This system employs isolated AI agents within GitHub Actions to mimic the manual issue resolution process, from bug reproduction to fix verification and preview release generation. The success highlights a practical application of AI in developer workflows and code maintainability.
Each stage of the workflow runs as a separate sub-agent, with information passed between them via a `report.md` file, promoting isolation and modularity rather than a shared execution context. The workflow is driven by a state machine based on GitHub issue labels, moving issues through states like "triage needed" to "fix verified" upon successful reporter validation.
Agentic System Design Principles
The Cloudflare workflow exemplifies explicit agent system design, emphasizing structured workflows over abstract agent loops. This approach allows for clearer debugging, better control over agent interactions, and more predictable outcomes. Issues encountered by agents, such as repeated modifications due to insufficient tests, serve as valuable signals for improving codebase maintainability and test coverage.
The orchestration model for Astro's triage system evolved into Flue, an open-source framework for building durable agent workflows. Flue adopts a declarative model, where developers define an agent's context (model, skills, sandbox, instructions) rather than an explicit orchestration loop. Its execution history is persisted through an append-only event log, enabling workflows to resume from their last state if interrupted.
Flue's architecture supports integration with various platforms (GitHub, Slack, Linear, Discord) and deployment environments (Node.js, GitHub Actions, Cloudflare Durable Objects), offering durable execution and isolated storage. This framework demonstrates how bounded agent tasks, persistent state, external events, and human approval points can form robust, automated software workflows.