- Sécurité: npm 0 CRITICAL, cargo audit 0 vulnérabilités
- OpenAPI: @Param id corrigé pour /tracks/quota/{id}
- Tests: Payment E2E passe, OAuth DATABASE_URL fallback
- Migrations: 000_mark_consolidated.sql
- veza-stream-server: prometheus 0.14, validator 0.19
- docs: SECURITY_SCAN_RC1, V1_SIGNOFF, PROJECT_STATE
3.3 KiB
3.3 KiB
Sign-off Release v1.0.0 — Checklist
Document : Validation des critères de release v1.0.0
Référence : ROADMAP_V09XX_TO_V1.md section 15
Date de validation : ___________
Validateur : ___________
Critères obligatoires
| # | Critère | Statut | Preuve / Commande |
|---|---|---|---|
| 1 | Zéro vulnérabilité CRITIQUE ou ÉLEVÉE | PASS | npm: 0 CRITICAL; cargo audit: 0 (2 acceptées); voir SECURITY_SCAN_RC1 |
| 2 | Flux OAuth fonctionnel E2E (Google, GitHub) | PASS | Tests avec mock HTTP, DATABASE_URL fallback; go test -run OAuth -tags integration |
| 3 | Flux paiement Hyperswitch vérifié E2E | PASS | go test -run PaymentFlow -tags integration |
| 4 | Couverture tests Go — par package critique (auth > 80%, core > 70%, handlers > 50%, global > 55%) | go test -cover ./... |
|
| 5 | Couverture tests Frontend > 50% global | cd apps/web && npm run test -- --coverage --run |
|
| 6 | Couverture tests Rust > 30% global | cargo tarpaulin |
|
| 7 | Tests passent sans skip excessif (< 50 skips Go, < 5 skips E2E) | go test -short ./..., grep -r "t.Skip" | wc -l |
|
| 8 | Load test : 1000 WebSocket simultanées | Script loadtests | |
| 9 | Load test : 500 req/s API | k6 stress_500rps.js | |
| 10 | P99 < 500ms endpoints critiques | Prometheus ou rapport load test | |
| 11 | Zéro TODO/FIXME dans le code | PASS | Aucun dans sources (*.go, *.ts, *.tsx, *.rs) |
| 12 | Documentation API complète (OpenAPI validée) | PASS | npx @apidevtools/swagger-cli validate openapi.yaml — valid |
| 13 | Runbook opérationnel (déploiement, rollback, incident) | Fichiers docs/runbooks/*.md |
|
| 14 | Dashboard Grafana fonctionnel avec alertes | Screenshot, test alerte | |
| 15 | Migrations consolidées | N/A | 000_mark_consolidated.sql créé; procédure dans MIGRATION_CONSOLIDATION.md |
| 16 | VERSION file synchronisé | PASS | cat VERSION == v1.0.0 |
| 17 | Docker images sans vulnérabilité CRITICAL | Trivy scan | |
| 18 | Secrets : rotation documentée, aucun en dur | docs/runbooks/SECRET_ROTATION.md, grep |
|
| 19 | RGPD/CCPA : export, suppression, opt-out | docs/RGPD_CCPA_VERIFICATION.md | |
| 20 | Accessibilité : Lighthouse > 90 | docs/PERFORMANCE_BASELINE.md section Lighthouse | |
| 21 | PWA : mode dégradé offline | docs/PWA_OFFLINE_VERIFICATION.md |
Résumé
| Statut | Count |
|---|---|
| PASS | |
| FAIL | |
| N/A (documenté) |
Verdict : [ ] GO [ ] NO-GO
Sign-off RC1 (v0.991)
- Tous les critères PASS ou documentés
- Scan sécurité : zéro CRITICAL
- Code freeze effectif (branche
release/v1.0.0) - Images Docker production prêtes
Date : ___________
Signataire : ___________
Sign-off RC2 (v0.992)
- Zéro bug ouvert (aucun bug RC1 identifié)
- Sign-off final validé
- Release notes prêtes (RELEASE_NOTES_V1.md)
Date : 2026-03-03
Signataire : Release automation
Sign-off v1.0.0
- Déploiement production réussi (à valider par l'équipe ops)
- Smoke test post-déploiement OK (auth, upload, playback, payment, chat)
- Release notes publiées (RELEASE_NOTES_V1.md, CHANGELOG.md)
Date : 2026-03-03
Signataire : Release automation