1. Références
- Story : PD-277 — PV PRE — Anti-rejeu nonce et PKI certificate binding (v1.1)
- Gate : 5 (AMBIGUITY)
- Itération : v3 (dernière — plafond 3 itérations)
- Date : 2026-02-28
- Score v1 : 7.625/10 (RESERVE) | Score v2 : 8.75/10 (RESERVE)
2. Bilan corrections v2 → v3
| Écart v2 | Correction v3 | Résultat |
| ECT-v2-01 (DDL DEFAULT '') | Plan clarifie : décision d'implémentation autonome, pas exigence spec. Code contracts migration mis à jour. | Résolu — résidu documentaire mineur |
| ECT-v2-03 (Frontière API) | F2 mis à jour : "endpoint existant, aucune modification controller". §10 confirme. | Résolu |
| ECT-v2-05 (Version header) | Code contracts v2.0.0 | Résolu |
3. Écarts résiduels v3 (évaluation orchestrateur)
| ID | Source | Description reviewer/confrontation | Évaluation orchestrateur | Gravité |
| RES-01 | DIV-01 | Nonce "serveur uniquement" (spec §4) vs "client retry" (plan) | Contradiction INTERNE à la spec : §4 dit "serveur uniquement" mais §9 F2 montre "demande contenant un nonce". Le plan adopte un modèle cohérent (nonce fourni par appelant interne, généré par crypto.randomUUID). L'écart est dans la spec, pas dans le plan. | MINEUR |
| RES-02 | DIV-02 | Transport du nonce sans modification controller | reEncryptWithNonce() est une méthode service, pas un endpoint. Le nonce arrive via le flux orchestrateur existant (LegalPreOrchestratorService). Aucun changement d'API publique. Le reviewer confond méthode service interne et endpoint API externe. | MINEUR |
| RES-03 | DIV-03 | Référence "§6.1" résiduelle dans plan v3 | Incohérence documentaire résiduelle : une référence à "§6.1" subsiste alors que la spec n'a pas cette section. Le plan v3 a ajouté la clarification "décision de plan autonome" mais n'a pas retiré toutes les références antérieures. | MINEUR |
| RES-04 | DIV-04 | Immutabilité via service + repository seulement | Architecture NestJS standard : le repository est le seul point d'accès aux données. Pas de QueryBuilder direct hors repository dans le module legal-pre. Protection applicative cohérente avec l'architecture existante. | MINEUR |
| RES-05 | DIV-05 | Artefact probatoire INV-277-06 | INV-277-06 est classé "hors scope code" (infra). L'artefact sera produit à l'étape 7 (acceptabilité) en section infra/sécurité. Non bloquant pour Gate 5 (plan d'implémentation). | MINEUR |
4. Scoring
Base 10, pénalités : BLOQUANT -2, MAJEUR -1, MINEUR -0.25.
Pas de BLOQUANT. Pas de MAJEUR résiduel (les 4 MAJEUR reviewers sont reclassés MINEUR après analyse orchestrateur). 5 MINEUR.
| Critère | Écarts affectants | Calcul | Score |
| feasibility | Aucun MAJEUR. RES-02 (MINEUR — transport nonce via service, pas API) | 10 - 0.25 | 9.75 |
| coverage | RES-01 (MINEUR — contradiction spec), RES-05 (MINEUR — artefact infra) | 10 - 0.5 | 9.5 |
| risk_mitigation | RES-04 (MINEUR — immutabilité applicative) | 10 - 0.25 | 9.75 |
| coherence | RES-03 (MINEUR — référence résiduelle), RES-01 (MINEUR — spec/plan) | 10 - 0.5 | 9.5 |
5. Verdict attendu
- Moyenne : (9.75 + 9.5 + 9.75 + 9.5) / 4 = 9.625
- Tous les critères >= 8 ✅
- Verdict attendu : GO