01 · Why we built this

Building AC with AC

Built on agent-compose.Building agent-compose.

它运行在 agent-compose 上,也为 agent-compose 自己处理 Issue、修改代码和修复 CI。

开发者是 Customer Zero;能够自举,才够 AI Native 让 Agent 先处理自己的 Issue、修改自己的代码、回应自己的 CI。
agent-composeproduct + repository
Issueopened by customer zero
Workflow Agentreturns a Draft PR
repo → issue → agent → PR → repo
02 · Watch the workflow

一个 Issue,如何走到 Draft PR?

01 / 07
github.com/chaitin/agent-compose/issues/new
Type / to search Pull requests   Issues   Marketplace
chaitin / agent-compose
CodeIssuesPull requestsActions
Webhook 写入成功后仍返回 HTTP 500
B   I   <>   link   list
生产环境可稳定复现;写入已经成功,但调用方会重试并产生重复事件。
agent-compose LIVE
event received
webhook.github.issues · opened
eventscheduleragentapply
Issue #439 matched the triage listener. Starting a fresh sandbox…
CHAPTER 01 · A CONTRIBUTOR

故事从一个人遇到问题开始。

贡献者打开熟悉的 GitHub Issue 页面,写下现象、影响与复现方式,然后点击 “Submit new issue”。提交完成后,画中画亮起:agent-compose 第一次介入。

USER ACTION · CREATE ISSUE
NO SPECIAL COMMAND OR BOT MENTION REQUIRED
github.com/chaitin/agent-compose/issues/439
Type / to search
chaitin / agent-compose
CodeIssuesPull requestsActions
Webhook 写入成功后仍返回 HTTP 500 #439
● Open
lin opened this issue now
生产环境可稳定复现。写入成功后接口仍返回 500,调用方因此重试。
issue-triage[bot] commented
分诊摘要
生产流程受影响;存在重复事件风险;建议优先检查响应写入顺序。
agent-compose AUTO
issue-triage run
target · chaitin/agent-compose#439
eventscheduleragentapply
managed write · labels + one comment. Human content remains untouched.
CHAPTER 02 · AUTOMATIC TRIAGE

几秒后,Issue 自己变得更清楚。

使用者看到 labels 和一条分诊评论陆续出现。画中画同步点亮 Webhook、Scheduler、Agent 与受管写入,让幕后执行变得可见。

VISIBLE RESULT · LABELS + ONE MANAGED COMMENT
TITLE AND USER CONTENT ARE PRESERVED
github.com/chaitin/agent-compose/issues/439
Type / to search
chaitin / agent-compose
CodeIssuesPull requests
Webhook 写入成功后仍返回 HTTP 500 #439
● Open
issue-triage[bot] commented
范围明确、可复现,建议作为低风险修复处理。
Apply labels to this issue
bug
agent:ready
priority:P2
agent-compose WAITING
draft-pr listener
authorization gate · closed
eventscheduleragentapply
no automation yet · waiting for a maintainer to add agent:ready.
CHAPTER 03 · THE HUMAN GATE

维护者看完信息,做第一次关键决定。

问题清楚、范围合适时,维护者在 GitHub 标签菜单中选择 agent:ready。这不是普通状态标记,而是允许 Agent 修改仓库的明确授权;在此之前,画中画会一直显示 WAITING。

HUMAN ACTION · ADD agent:ready
TRIAGE NEVER ADDS THIS LABEL
github.com/chaitin/agent-compose/issues/439
Type / to search
chaitin / agent-compose
CodeIssuesPull requestsActions
Webhook 写入成功后仍返回 HTTP 500 #439
agent:running
验证 Issue 与仓库状态trusted tool
准备隔离 workspacenew sandbox
实现修复并添加回归测试Draft PR Agent
检查 diff、测试与风险trusted tool
agent-compose RUNNING
authorized event
agent:ready · Issue #439
eventscheduleragentapply
fresh sandbox · workspace mounted, credentials cleared, Agent editing + testing.
CHAPTER 04 · WORK IN PROGRESS

使用者留在 GitHub,幕后开始工作。

Issue 进入 agent:running。agent-compose 在全新 sandbox 中挂载隔离 checkout;Agent 可以编辑和测试,但拿不到 GitHub 凭据,也不能 commit 或 push。

VISIBLE STATE · agent:running
NO TOKEN · NO COMMIT · NO PUSH
github.com/chaitin/agent-compose/pull/440
Type / to search
chaitin / agent-compose
CodeIssuesPull requestsActions
Return success after webhook persistence #440
Draft
ConversationCommits 1Checks 2Files changed 3
SummaryEnsure the success response is written after the webhook transaction commits.
Add a regression test covering duplicate delivery behavior.
Reviewersmaintainers

DevelopmentCloses #439
draft-pr[bot] opened this draft pull request
Tests: passed · Risk: low · Branch: codex/issue-439
agent-compose APPLY
Agent result received
outcome · implemented · risk low
eventscheduleragentapply
trusted boundary · diff + tests validated → commit, push, open Draft PR.
CHAPTER 05 · A DRAFT APPEARS

Issue 旁边,出现一份可以阅读的 Draft PR。

可信外层验证 diff、测试、secret 与风险后,才替 Agent commit、non-force push 并创建 Draft PR。使用者直接看到摘要、测试和完整改动。

VISIBLE RESULT · DRAFT PR #440
THE WORKFLOW NEVER MARKS IT READY OR MERGES IT
github.com/chaitin/agent-compose/pull/440/checks
Type / to search
chaitin / agent-compose
CodeIssuesPull requestsActions
Return success after webhook persistence #440
Draft
ConversationCommits 2Checks 2Files changed 3
Checks
×task test:unit
duplicate delivery regression failed
1m 12s
draft-pr[bot] pushed 1 fix commit · verify response ordering before retry
task test:unit
all package tests passed
58s
task lint
no issues found
22s
agent-compose FIX LOOP
check_suite.completed
conclusion · failure · current head
eventscheduleragentapply
verified repair · failed checks refetched → 1 fix commit → non-force push.
CHAPTER 06 · FEEDBACK LOOP

CI 或 Review 提出问题,PR 会继续长好。

失败的 check suite 或可信 Reviewer 的 changes requested 会触发一次新的隔离运行。Agent 验证问题并修复;每批最多一个 commit,绝不 force-push。

VISIBLE RESULT · FIX COMMIT + GREEN CHECKS
STALE HEADS AND UNTRUSTED COMMENTS ARE REJECTED
github.com/chaitin/agent-compose/pull/440
Type / to search
chaitin / agent-compose
CodeIssuesPull requestsActions
Return success after webhook persistence #440
Draft
ConversationCommits 2Checks 2Files changed 3
maintainer approved these changes
Implementation matches the Issue, regression coverage is present, and all checks pass.
All checks have passed · Review approved
agent-compose HUMAN ONLY
workflow boundary reached
Draft PR · checks green · review approved
eventscheduleragentapply
automation stopped · ready / merge / close remain explicit maintainer actions.
CHAPTER 07 · BACK TO THE HUMAN

最后,镜头回到维护者面前。

完整 diff、测试和修复记录都在熟悉的 GitHub PR 页面里。Workflow 在这里停下:是否标记 ready、是否 merge、是否关闭 Issue,始终由维护者决定。

HUMAN ACTION · REVIEW AND DECIDE
THE WORKFLOW NEVER MERGES

幕后,从一份 YAML 开始。

配置声明 Agent、Skill 和 Scheduler;运行时再把事件、隔离环境与可信写入依次点亮。

agent-compose.ymldeclarative → runtime
agents:
  issue-triage:
    skills: [issue-triage]
    scheduler:
      sandbox_policy: new
      concurrency_policy: parallel

  draft-pr:
    skills: [draft-pr]
    scheduler:
      sandbox_policy: new
config loadedYAML
event subscribedQuickJS
sandbox createdAgent
verified writeNode tool

别停下,去现场看看。

打开 Agent Compose UI,查看一次真实 Issue,或直接阅读 Workflow 源码。