# Quality Gates — Reference & Checklist

> Moved from AGENTS.md §5 / GOVERNANCE.md §9 / PORTFOLIO.md §13 to deduplicate.
> Main protocol files reference this file with `protocol-reference/quality-gates.md`.

---

## AGENTS.md Pre-flight Compliance Check

Must pass before any complex task is closed:

```
- [ ] PLAN contains `### Injected Risks (from Learning Context)` section
- [ ] At least 2 knowledge sources were searched (ctx_search / memory_search / playbooks)
- [ ] Matching domain checklist from §3c is included in PLAN
- [ ] If failure occurred: structured Reflection was written to reflections/YYYY-MM-DD-<task>.md
- [ ] Reflection contains ALL 7 required fields (Context/Root Cause/Fix/Pattern Class/Future Trigger/Checklist/Recurrence)
```

If ANY gate fails: **task is NOT complete**.

## GOVERNANCE.md Governance Quality Gate

Must pass before any project output:

```
- [ ] All tasks have a status (NOT_STARTED / IN_PROGRESS / BLOCKED / WAITING_DEPENDENCY / READY_FOR_REVIEW / VERIFIED / FAILED / ARCHIVED)
- [ ] All tasks have heartbeat logs (progress.log entries within stale threshold)
- [ ] All READY_FOR_REVIEW tasks have been reviewed
- [ ] All BLOCKED tasks have blocker.md with root cause
- [ ] All FAILED tasks have documentation (blocker.md or reflection)
- [ ] All replans have evidence in execution-audit.md
- [ ] Health Score has been calculated and is ≥ 60
- [ ] No stale tasks (all progress.log entries are fresh)
```

If ANY gate fails: **❌ GOVERNANCE FAILED — project governance failed. No output.**

## PORTFOLIO.md Portfolio Quality Gate

Must pass before any portfolio output:

```
- [ ] All projects have a status (PLANNING / ACTIVE / BLOCKED / RECOVERY / PAUSED / COMPLETED / ARCHIVED)
- [ ] All projects have a Health Score
- [ ] All projects have a Priority (P0–P3)
- [ ] All projects have an ROI Score
- [ ] All projects have Agent Allocation (Agents ≥ 1)
- [ ] All projects have a recent Audit entry
- [ ] Portfolio Health has been calculated
- [ ] No duplicate work detected without action
```

If ANY gate fails: **❌ PORTFOLIO GOVERNANCE FAILED — Portfolio governance failed.**
