aws-samples / aws-samples/sample-autonomous-cloud-coding-agents
feat(orchestration): PR outcome tracking via GitHub webhooks
- Vorherrschende Sprache
- TypeScript
- Sterne
- 146
- Forks
- 46
- Ø Merge
- 3 T. 10 Std.
- Gemergte PRs (30 T.)
- 24
Beschreibung
**Context:** ROADMAP.md → Agent quality → PR outcome tracking
**Related:** #27 (review feedback memory), #412 (stats), evaluation pipeline draft
---
## Component
API or orchestration
## Describe the feature
Track PR **merge / close / reject** outcomes via GitHub webhooks (and analogous providers later). Persist positive/negative signals on the task record and feed evaluation pipeline and memory systems.
## Use case
Task `COMPLETED` today means "PR opened," not "change landed." Operators cannot measure true success rate, revision cycles, or memory effectiveness without outcome linkage.
## Proposed solution
1. Extend GitHub webhook processor for `pull_request.closed` (merged vs not).
2. Link outcome to originating `task_id` (branch name, PR metadata, or stored `pr_url`).
3. Update task record: `pr_outcome: merged | closed | abandoned`, `merged_at`, `revision_count` (if trackable).
4. Emit `pr_outcome_recorded` to `TaskEventsTable`.
5. Expose in `bgagent stats` / evaluation APIs (#412).
## Other information
- Feeds **Review feedback memory loop** (#27) and **A/B prompt experiments** draft.
- Design context: `docs/design/EVALUATION.md`.
- [ ] This might be a breaking change
Beitragsleitfaden
Rechercherichtung
Beginne mit docs/design/EVALUATION.md und dem GitHub-Webhook-Prozessor. Verfolge, wie Task-Datensätze und TaskEventsTable dargestellt werden, und prüfe anschließend die Referenzen zur Stats- und Evaluation-API in #412. Erledigt ist die Aufgabe, wenn Ergebnisse geschlossener Pull Requests mit Tasks verknüpft, mit den angegebenen Signalen persistiert, als Events ausgegeben und Stats- oder Evaluation-Konsumenten zugänglich gemacht werden.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Bewertung
- Tech-Stack
- github, typescript
- Bereich
- api, backend, observability
- Issue-Typ
- Feature
- Schwierigkeit
- 5/5
- Geschätzter Aufwand
- Über eine Woche
- Aktivitätsstatus
- Ruhig
- Klarheit
- Größtenteils klar
- Anfängerfreundlichkeit
- 45/100