Release Gate
Aggregated GO/NO-GO release readiness gate. Checks every quality dimension against manifest.yml thresholds and produces a verdict with evidence. Run before version tagging or merge-to-main.
When to Use
- Pre-release milestone, version tagging, merge-to-main decision.
- NOT for code quality only -- use
/ai-quality. - NOT for security only -- use
/ai-security.
Process
Phase 1: Gate Dimensions
Coverage -- verify test coverage meets threshold.
- Run
pytest tests/ --cov --cov-report=term-missing. - Gate: coverage >= threshold from
manifest.yml(default 80%).
- Run
Security -- verify zero medium+ findings.
- Run
gitleaks protect --staged,semgrep scan --config auto .,pip-audit. - Gate: zero critical/high findings. Medium findings documented.
- Run
Tests -- verify all tests pass.
- Run
pytest tests/ -v. - Gate: 100% pass rate. Zero skipped governance tests.
- Run
Lint -- verify clean lint and format.
- Run
ruff check .,ruff format --check .. - Gate: zero unfixable lint errors.
- Run
Dependency vulnerabilities -- verify clean dependency tree.
- Run
pip-audit --strict. - Gate: zero known vulnerabilities. Accepted risks must be in
decision-store.json.
- Run
Type checking -- verify type correctness.
- Run
ty check src/. - Gate: zero errors.
- Run
Documentation coherence -- verify docs are current.
- CHANGELOG.md has
[Unreleased]entries or versioned section. - README.md reflects current features.
- CHANGELOG.md has
Packaging integrity -- verify distribution builds.
- Run
uv buildor equivalent. - Gate: wheel builds cleanly, no missing files.
- Run
Phase 2: Aggregate Verdict
Determine verdict:
- GO: all dimensions pass.
- CONDITIONAL GO: all pass except non-critical items with risk acceptance in
decision-store.json. - NO-GO: one or more blocking issues without risk acceptance.
Produce closure path (for NO-GO):
- List specific blockers with fix suggestions.
- Prioritize by blocking severity.
- Estimate effort per fix.
Output Contract
## Release Readiness: [version]
### Verdict: GO | CONDITIONAL GO | NO-GO
| Dimension | Status | Detail |
|-----------|--------|--------|
| Coverage | PASS 87% (>= 80%) | -- |
| Security | PASS | 0 findings |
| Tests | PASS | 142/142 pass |
| Lint | PASS | 0 errors |
| Dependencies | PASS | 0 vulns |
| Types | PASS | 0 errors |
| Docs | PASS | CHANGELOG current |
| Packaging | PASS | wheel builds |
### Blockers (if NO-GO)
- [Issue, severity, fix suggestion]
### Residual Risk
- [Risk acceptances from decision-store.json]
Quick Reference
/ai-release # full GO/NO-GO gate
/ai-release v2.0.0 # gate for specific version
/ai-release --check-only # report without blocking
Common Mistakes
- Running release gate on a dirty working tree -- commit first.
- Ignoring CONDITIONAL GO risks -- each must have a
decision-store.jsonentry. - Skipping packaging integrity -- wheel build failures are release blockers.
Integration
- Aggregates results from
/ai-security,/ai-quality,/ai-test. - Reads thresholds from
manifest.yml. - Risk acceptances from
state/decision-store.json.
References
.claude/skills/ai-security/SKILL.md-- security gate..claude/skills/ai-governance/SKILL.md-- compliance and risk..ai-engineering/manifest.yml-- quality thresholds. $ARGUMENTS