aws-samples / aws-samples/sample-autonomous-cloud-coding-agents
feat(orchestration): PR risk classifier at submission
- Dominant language
- TypeScript
- Stars
- 143
- Forks
- 46
- Avg merge
- 3d 9h
- Merged PRs (30d)
- 20
Description
**Context:** ROADMAP.md → Agent quality → PR risk classification
**Related:** #425 (review routing depends on this), tiered validation draft
---
## Component
API or orchestration
## Describe the feature
Rule-based **PR risk classifier** evaluated at submission (and optionally updated post-agent). Outputs structured risk label(s) that drive model selection, budget defaults, Cedar approval requirements, and human review tier (#425).
## Use case
Not all tasks deserve the same model, budget, or review depth. A docs-only typo fix should not inherit the same gates as a payment-service schema migration.
## Proposed solution
1. Classifier inputs: workflow ref, repo metadata, touched paths (when known), task description signals, Tier 3 validation output (when available).
2. Output schema: `risk_tier: low | medium | high | critical`, `signals: string[]`, `recommended_model`, `recommended_max_budget_usd`.
3. Persist on task record; expose in `bgagent status` and API.
4. Blueprint overrides per repo for path-based rules.
5. Start advisory-only; enable policy gates via Cedar in follow-up.
## Other information
- #425 implements **routing**; this issue implements the **classifier**.
- Design context: `docs/design/EVALUATION.md`, `docs/design/CEDAR_HITL_GATES.md`.
- [ ] This might be a breaking change
Contributor guide
Research direction
Start with docs/design/EVALUATION.md and docs/design/CEDAR_HITL_GATES.md, then review #425 to understand how routing depends on the classifier. Define the advisory-only classifier around the listed inputs and output schema, persist its result on the task record, and expose it through bgagent status and the API.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- typescript
- Domain
- ai-infra-agents, backend-api-design
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Quiet
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100