Case Study: Autonomous Multi-Agent PR Workflow — 288 Commits, 59 PRs Merged, 10-Minute Cycle Times #167
kai-linux
started this conversation in
Show and tell
Replies: 0 comments
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
TL;DR
Agent OS is an autonomous multi-agent system that turns GitHub Issues into merged PRs — dispatch, code, test, review, merge, and self-improvement, all without human intervention. In 24 days managing its own repository, it shipped 288 commits, merged 59+ PRs, and closed 79+ issues with a median PR cycle time of ~8 minutes. This post walks through a real failure-recovery workflow with links to every commit and issue.
The System in One Paragraph
Agent OS watches a GitHub project board. Every 60 seconds, a dispatcher picks the highest-priority ready issue, formats a task prompt, and hands it to an agent (Claude, Codex, Gemini, or DeepSeek) running in an isolated git worktree. The agent writes code, runs tests, and produces a structured result file. If tests pass, a PR is opened automatically. A PR monitor checks CI every 5 minutes — green CI triggers squash-merge; red CI creates a debug issue. A weekly log analyzer and backlog groomer file improvement tickets from operational metrics. The loop is recursive: the system improves itself through the same pipeline it runs.
Concrete Metrics (24 days, self-managed repo)
git logruntime/metrics/agent_stats.jsonlgh pr list --json createdAt,mergedAtconfig.yamlDeep Dive: The PR-98 Cascading Failure (and How the System Recovered)
This is the most interesting workflow because it shows both failure and recovery — the part most demos hide.
What happened
PR #98 merged on 2026-03-31 with a subtle bug: the CI completion verification gate extracted failed job names from markdown prose in issue bodies.
The cascade began. When follow-up debug tasks reformatted the issue body, the job names disappeared. The gate couldn't find them, so it downgraded successful fixes to
partial, spawning new follow-up tasks. This created 8+ cascading issues: #99, #102–#106, #109, #111, #117.The log analyzer detected the pattern. After accumulating evidence from the cascading failures, the system filed #148: "RCA and fix for PR-98 cascading CI failure pattern."
An agent performed the RCA and shipped the fix as PR #153 — 81 lines added, 2 deleted, 4 files changed. The fix: persist
failed_checksas structured frontmatter metadata at dispatch time instead of parsing it from markdown prose. Created at 13:15, merged at 13:25. 10 minutes from issue to production.Before vs. After
failed_checksmetadata prevents recurrenceWhat failed (honestly)
These aren't hidden — they're in the closed issues and CODEBASE.md.
Sample PR Cycle Times
What the System Built (Autonomously)
Every feature below went through the full pipeline — issue → dispatch → agent codes → tests pass → PR → CI green → auto-merge:
Depends on #N)How to Verify
Every claim links to public GitHub data:
bot-generatedwere filed by the system's own log analyzer and backlog groomerTry It
Agent OS is MIT-licensed. The README has a 5-minute quickstart, and the full case study has more detail.
If you're a solo builder or technical founder tired of coordination overhead, this might be useful. Questions welcome in this thread.
All reactions