Quality Gates
Quality gates define when a PUDO phase is allowed to move forward. They are not ceremony; they are the minimum evidence needed to avoid vague prompts, unverified AI output, and accidental releases.
How Gates Work
- Run the gate at the end of the phase.
- Mark each item as pass, fail, or not applicable.
- Treat failed critical items as blockers.
- Convert non-blocking failures into follow-up tasks with owners.
- Record accepted risks in the handoff or PR.
Plan Gate
Run before moving from Plan to Understand.
Pass Criteria
Stop If
- The request is still vague.
- “Done” cannot be measured.
- The AI would need to guess core requirements.
Understand Gate
Run before moving from Understand to Develop.
Pass Criteria
Stop If
- The plan depends on an unverified API or library behavior.
- The AI has not read the files it is about to change.
- Ownership boundaries or side effects are unclear.
Develop Gate
Run before moving from Develop to Optimize.
Pass Criteria
Stop If
- The code only works on the happy path.
- Tests were removed, skipped, or weakened without explanation.
- The implementation silently changes behavior outside the task.
Optimize Gate
Run before final review or release preparation.
Pass Criteria
Stop If
- Optimization changes behavior without a plan.
- A reviewer cannot connect the diff back to the requirements.
- Known high-risk edge cases remain unhandled and unaccepted.
Release Gate
Run before merge, deploy, or handoff.
Pass Criteria
Stop If
- Rollback is unknown for a risky change.
- A migration can fail halfway without a recovery plan.
- The team cannot tell whether the release succeeded.
Gate Outcomes
Use a simple status in PRs and handoffs:
Pass: All required criteria are met.
Pass with accepted risk: A non-critical issue is documented and owned.
Fail: A blocker must be fixed before moving forward.
Re-plan: The failure changes scope, architecture, or assumptions enough to return to Plan.