awesome-loop-engineering / examples /ci-repair-loop.json
cy0307's picture
Sync awesome-loop-engineering
9ec4919 verified
Raw
History Blame Contribute Delete
2.39 kB
{
"name": "CI repair loop",
"objective": "Turn a failing CI signal into a small verified fix or a precise escalation note.",
"trigger": {
"type": "event",
"cadence_or_event": "A required CI check fails on an active pull request."
},
"intake": {
"sources": ["failed check name", "CI logs", "artifacts", "changed files", "recent successful run"],
"selection_rule": "Work only on failures with a reproducible command or a clear log-backed cause."
},
"workspace": {
"isolation": "Clean worktree based on the failing commit.",
"allowed_actions": ["inspect logs", "run test commands", "apply narrow fixes", "add focused tests"],
"disallowed_actions": ["weaken assertions", "delete tests", "broad formatting", "unrequested dependency upgrade"]
},
"context": {
"required_files": ["AGENTS.md", "README.md", "CONTRIBUTING.md"],
"runtime_sources": ["CI log URL", "failing command", "test artifacts"]
},
"agents": [
{
"role": "Investigator",
"responsibility": "Extract the failing command, error, and likely affected files."
},
{
"role": "Implementer",
"responsibility": "Make the smallest patch consistent with the failure evidence."
},
{
"role": "Verifier",
"responsibility": "Rerun the failing command and adjacent cheap checks."
},
{
"role": "Reporter",
"responsibility": "Summarize evidence and residual risk."
}
],
"verification": {
"gates": ["original failing command passes", "patch is limited to the failure cause", "new behavior has a focused test when needed"],
"receipts": ["failing log excerpt", "commands run", "passing output", "diff summary"]
},
"state": {
"artifacts": ["CI repair progress note", "PR comment"],
"update_rule": "Record failed command, root-cause hypothesis, patch attempts, verification output, and unresolved blockers."
},
"budget": {
"max_retries": 3,
"max_runtime_minutes": 90
},
"escalation": {
"conditions": ["missing credentials", "third-party outage", "nondeterministic failure", "fix exceeds scope"],
"destination": "PR comment or issue assigned to the owning team"
},
"exit": {
"success": "The target check passes locally or in rerun CI.",
"stop_without_success": "Failure is flaky, not reproducible, blocked by environment, or requires owner approval."
}
}