Ce dossier est assemblé automatiquement avant la gate PMO CONFORMITY_CHECK. Il constitue la base factuelle sur laquelle le verdict est rendu. Itération v2 : après correction des écarts ECT-01, ECT-02, ECT-03.
Objectif : Vérifier la complétude et la testabilité de la spécification avant implémentation.
1. Documents de référence
| Document | Étape | Statut |
| PD-241-besoin.md | 0 | ✓ Présent |
| PD-241-specification.md | 1 (corrigé) | ✓ Présent |
| PD-241-tests.md | 2 | ✓ Présent |
| PD-241-specification-review.md | 3.1 v1 | ✓ Présent (historique) |
| PD-241-specification-review-v2.md | 3.1 v2 | ✓ Présent |
| PD-241-confrontation-step3-v1.md | 3.2 v1 | ✓ Présent (historique) |
| PD-241-confrontation-step3-v2.md | 3.2 v2 | ✓ Présent |
| PD-241-verdict-step3-v1.yaml | 3.4 v1 | ✓ Présent (NON_CONFORME) |
2. Historique des corrections
| Écart | Gravité v1 | Statut v2 | Correction appliquée |
| ECT-01 | Majeur | ✓ Résolu | Transmission refresh token définie (body JSON, clé refresh_token) |
| ECT-02 | Majeur | ✓ Résolu | Alignement ERR-106 ↔ ERR-241 clarifié dans §2 |
| ECT-03 | Majeur | ✓ Résolu | Statuts HTTP ajoutés dans §6 (401, 502, 500) |
| ECT-04 | Mineur | Maintenu | TC-NEG-03 suppose idempotence non spécifiée |
| ECT-05 | Mineur | Maintenu | TC-NEG-02 suppose code auth/invalid_token non défini |
3. Hypothèses déclarées
Extraites de PD-241-specification.md §9 :
| ID | Hypothèse | Impact si faux |
| H-241-01 | Keycloak Admin API permet l'invalidation des sessions | CA-241-02 non atteignable |
| H-241-02 | Le backend reçoit le refresh token lorsque présent | CA-241-03 non atteignable |
| H-241-03 | L'artefact PD-106 prouve l'effacement local | CA-241-06 non démontrable côté backend |
4.1 Invariants ↔ Tests
| Invariant | Test(s) couvrant | Couvert ? |
| INV-241-01 : JWT requis | TC-ERR-01 | ✓ |
| INV-241-02 : Invalidation session Keycloak | TC-NOM-01 | ✓ |
| INV-241-03 : Invalidation refresh token | TC-NOM-02 | ✓ (mécanisme défini) |
| INV-241-04 : Format erreur | TC-ERR-03 | ✓ |
| INV-241-05 : Erreur explicite échec Keycloak | TC-ERR-02 | ✓ (statut HTTP défini) |
| INV-241-06 : Effacement local (hors périmètre) | N/A | N/A (explicitement hors périmètre) |
4.2 Critères d'acceptation ↔ Observables
| Critère | Observable | Vérifié ? |
| CA-241-01 : Refus sans JWT | 401 Unauthorized | ✓ |
| CA-241-02 : Session Keycloak invalidée | Réutilisation refusée | ✓ |
| CA-241-03 : Refresh token invalidé | Réutilisation refusée | ✓ |
| CA-241-04 : Erreur explicite échec Keycloak | 502 + ERR-241-LOGOUT-FAILED | ✓ |
| CA-241-05 : Format erreur respecté | Inspection JSON | ✓ |
| CA-241-06 : Effacement local (hors périmètre) | Preuve PD-106 | N/A |
5. Points ouverts résiduels (mineurs)
| ID | Type | Description | Traitement recommandé |
| ECT-04 | Incohérence Spec↔Tests | TC-NEG-03 suppose idempotence | Accepter comme test exploratoire |
| ECT-05 | Incohérence Spec↔Tests | TC-NEG-02 suppose code auth/invalid_token | Adapter observable pendant implémentation |
| ZO-01 | Zone d'ombre | Format réponse succès non défini | Définir pendant implémentation (ex: {success: true}) |
6. Rapport de confrontation v2
- Voir : PD-241-confrontation-step3-v2.md
- 8 convergences confirmées (CVG-01 à CVG-08)
- 2 divergences mineures (DIV-01, DIV-02)
- Recommandation confrontation : Procéder
7. Recommandation pré-verdict
Dossier assemblé par Claude Orchestrateur — 2026-02-07