aws-samples / aws-samples/sample-autonomous-cloud-coding-agents
feat(orchestration): autonomous feedback loop (PR watcher → merge)
- Vorherrschende Sprache
- TypeScript
- Sterne
- 143
- Forks
- 46
- Ø Merge
- 3 T. 10 Std.
- Gemergte PRs (30 T.)
- 24
Beschreibung
**Context:** ROADMAP.md → Agent quality → Autonomous feedback loop
**Related:** #22 (merge conflicts slice), pure decision function orchestrator draft, #425
---
## Component
API or orchestration
## Describe the feature
Extend orchestrator beyond **`PR_OPENED`** with a **PR watcher phase**. Auto-resume when:
- **CI fails** — inject failure logs
- **Merge conflicts** — rebase instructions (#22 related)
- **Reviewers request changes** — inline comments
Continue until **PR merged** or human **cancels**. Optionally **auto-merge** when CI passes and review approved.
**Outcome:** transforms ABCA from "open PR" to "merge PR".
## Use case
Today tasks often end at PR creation; humans must manually re-submit `pr_iteration` tasks for CI failures, review feedback, and merge conflicts. Teams want the agent to own the full PR lifecycle with guardrails.
## Proposed solution
1. New orchestrator phase(s): `AWAITING_PR_FEEDBACK` / `PR_WATCHING` with GitHub webhook + polling triggers.
2. Classify events: `check_suite.failure`, `pull_request_review.comment`, `merge_conflict`, `review_requested_changes`.
3. Resume agent with structured context injection; respect `max_turns`, `max_budget_usd`, Cedar HITL.
4. Optional policy-gated auto-merge (repo Blueprint flag).
5. Terminal states: `COMPLETED` (merged), `FAILED`, `CANCELLED`, or `AWAITING_HUMAN` when stuck.
6. **Prerequisite:** pure decision-function orchestrator refactor (separate draft) recommended for testability.
## Other information
- Distinct from **in-pipeline build/lint fix-up loop** (pre-PR, `pipeline.py` only).
- #22 covers merge-conflict handling in `pr_iteration` but not the full watcher loop.
- Design context: `docs/design/ORCHESTRATOR.md`, `docs/design/EVALUATION.md`.
- [x] This might be a breaking change
Beitragsleitfaden
Rechercherichtung
Beginne mit ROADMAP.md und docs/design/ORCHESTRATOR.md sowie docs/design/EVALUATION.md und untersuche anschließend den bestehenden orchestrator und den pr_iteration flow. Vergleiche die vorgeschlagenen watcher-Phasen, GitHub-Ereignisse, guardrails und terminal states mit #22, #425 und dem Entwurf der reinen Entscheidungsfunktion; pipeline.py ist ausdrücklich eine separate pre-PR-Schleife. Als erledigt gilt die vollständige Implementierung des gesamten PR-Lebenszyklus mit der angegebenen Richtlinie und den festgelegten Grenzen für menschliche Eingriffe.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Bewertung
- Tech-Stack
- github, typescript
- Bereich
- backend-api-design
- Issue-Typ
- Feature
- Schwierigkeit
- 5/5
- Geschätzter Aufwand
- Über eine Woche
- Aktivitätsstatus
- Ruhig
- Klarheit
- Größtenteils klar
- Anfängerfreundlichkeit
- 35/100