Itération 2 après correction des écarts v1.
1. Documents de référence
| Document | Étape | Statut |
| PD-240-besoin.md | 0 | ✓ Présent |
| PD-240-specification.md | 1 | ✓ Corrigé |
| PD-240-tests.md | 2 | ✓ Corrigé |
| PD-240-specification-review-v2.md | 3 | ✓ Présent |
| PD-240-confrontation-step3-v2.md | 3 | ✓ Présent |
2. Bilan des corrections v1 → v2
| Écart v1 | Statut v2 |
| ECT-01 : Confirmation renforcée non définie | ✓ Corrigé |
| ECT-02 : Observable RGPD absent | ⚠️ Partiellement corrigé |
| ECT-03 : Atomicité Keycloak/RGPD | ✓ Corrigé |
| ECT-04 : Sessions post-suppression | ⚠️ Persistant |
| ECT-05 : T-240-POST-02 non aligné | ✓ Corrigé |
Bilan : ⅗ écarts bloquants corrigés, 2 persistants (dont 1 partiel).
3. Écarts résiduels v2
Majeurs
| ID | Type | Description | Mitigation possible |
| ECT-04 | Risque sécu | Sessions persistantes après suppression compte | Best-effort documenté + TTL tokens court |
| ECT-02b | Non testable | Observable RGPD dépend d'accès infra | Prérequis ops documenté |
Mineurs
| ID | Type | Description |
| ECT-09 | Incohérence | T-240-ERR-04 ne précise pas l'ordre purge/Keycloak |
| ECT-07 | Ambiguïté | Délai propagation Keycloak non borné |
Invariants ↔ Tests
| Invariant | Couvert ? | Note |
| INV-240-01 | ✓ | |
| INV-240-02 | ✓ | |
| INV-240-03 | ✓ | Format défini |
| INV-240-04 | ✓ | Délai non borné (mineur) |
| INV-240-05 | ⚠️ | Observable défini mais accès non garanti |
| INV-240-06 | ⚠️ | Comportement échec non compensé |
| INV-240-07 | ✓ | |
| INV-240-08 | ✓ | |
| INV-240-09 | ✓ | |
| INV-240-10 | ✓ | Hors périmètre (NON TESTABLE) |
Critères d'acceptation ↔ Tests
| CA | Couvert ? | Note |
| CA-240-01 à 04 | ✓ | |
| CA-240-05 | ⚠️ | Observable défini, accès dépendant ops |
| CA-240-06 à 08 | ✓ | |
| CA-240-09 | ✓ | Hors périmètre |
5. Rapport de confrontation
- Voir : PD-240-confrontation-step3-v2.md
- Synthèse : 2 divergences majeures persistantes, 2 mineures
6. Recommandation pré-verdict
Conditions pour RESERVE
-
ECT-04 : Documenter que l'invalidation des sessions est best-effort. Le risque de session orpheline est mitigé par le TTL court des JWT (15 min) et la suppression Keycloak (auth impossible).
-
ECT-02b : Ajouter un prérequis ops dans le plan d'implémentation : "L'environnement de test DOIT fournir un accès SQL ou l'endpoint /admin/audit/user/{userId}".
-
ECT-09 : Préciser dans T-240-ERR-04 que l'erreur injectée est sur la purge RGPD (avant Keycloak).