29 lines
1.0 KiB
Markdown
29 lines
1.0 KiB
Markdown
|
|
# Task ID: 150
|
||
|
|
|
||
|
|
**Title:** QA/Security/SRE stage verdicts
|
||
|
|
|
||
|
|
**Status:** pending
|
||
|
|
|
||
|
|
**Dependencies:** 130
|
||
|
|
|
||
|
|
**Priority:** medium
|
||
|
|
|
||
|
|
**Description:** Implement risk-scaled verification stages that record commit-pinned verdicts
|
||
|
|
|
||
|
|
**Details:**
|
||
|
|
|
||
|
|
Update TaskService:
|
||
|
|
1. recordVerdict(taskId, stage, agentId, commit, passed, summary, findings): create TaskVerdict row
|
||
|
|
2. If !passed: transition task back to in_progress, create TaskEvent explaining why
|
||
|
|
3. Determine required stages based on Task.risk:
|
||
|
|
- trivial: may pass on light self-check (no mandatory QA/Security/SRE)
|
||
|
|
- normal: requires qa_review
|
||
|
|
- high: requires qa_review + security_review + sre_review
|
||
|
|
4. Verdicts are immutable - append only, pinned to commit SHA
|
||
|
|
5. Each stage persona decides its own depth (not enforced in code, just recorded)
|
||
|
|
6. Transition to done only when all required stages have passing verdicts for current headCommit
|
||
|
|
|
||
|
|
**Test Strategy:**
|
||
|
|
|
||
|
|
Unit tests: test verdict creation, test failed verdict transitions back to in_progress, test risk-based stage requirements.
|