This checklist must be completed before any mainnet release tag can be cut.
-
sanctifier-corecoverage ≥ 90% (enforced in CI)- Workflow:
.github/workflows/e2e-coverage.yml - Config:
codecov.ymlflagsanctifier-core - Verification: Check Codecov dashboard
- Status: Run
bash scripts/measure-core-coverage.sh
- Workflow:
- Mutation kill rate ≥ 75% for
sanctifier-core- Workflow:
.github/workflows/mutation-testing.yml - Tool:
cargo-mutants - Verification: Check latest workflow run artifacts
- Status:
cd tooling/sanctifier-core && cargo mutants --no-shuffle
- Workflow:
- 24h+ fuzz campaign completed with zero unresolved crashes
- Script:
bash scripts/run-extended-fuzz.sh 24 - Documentation:
docs/FUZZ_CAMPAIGN_[DATE].md - Corpus: New inputs committed to
tooling/sanctifier-core/fuzz/corpus/ - Verification: Review campaign report document
- Script:
- Full deploy flow E2E test passing (upload → scan → deploy)
- Test:
e2e/tests/full-deploy-flow.spec.ts - Workflow:
.github/workflows/e2e-coverage.yml - Verification:
cd e2e && npx playwright test full-deploy-flow.spec.ts
- Test:
- All Clippy warnings resolved (
cargo clippy -- -D warnings) - No security advisories in dependencies (
cargo audit) - Formatting verified (
cargo fmt --check)
- CHANGELOG.md updated with all changes
- API documentation complete (
cargo doc --no-deps --document-private-items) - Breaking changes clearly documented
- Migration guide provided (if applicable)
- Security audit completed (if major release)
- Dependency audit passed (
cargo audit) - No known high/critical vulnerabilities
- Secrets and keys rotated (if applicable)
- Full deployment tested on testnet
- Contract interactions verified
- Monitoring and alerting configured
- Rollback procedure documented and tested
-
--confirm-mainnetflag implemented and tested - Passphrase confirmation working
- Rate limiting in place (if applicable)
- Circuit breakers configured (if applicable)
- Version bumped in
Cargo.toml - Git tag created:
git tag -a v[VERSION] -m "Release v[VERSION]" - Release notes drafted in GitHub Releases
- Release published on GitHub
- Crates.io publication verified (if applicable)
- Docker images built and pushed (if applicable)
- Documentation site updated
- Community announcement posted
Release Manager: ___________________________ Date: __________
Security Lead: ___________________________ Date: __________
Technical Lead: ___________________________ Date: __________
Use this space to document any exceptions, waivers, or additional context:
[Add notes here]