Aller au contenu

PD-241 — Dossier de conformité (Étape 3)

Ce dossier est assemblé automatiquement avant la gate PMO CONFORMITY_CHECK. Il constitue la base factuelle sur laquelle le verdict est rendu.

Type de gate : CONFORMITY_CHECK

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 ✓ Présent
PD-241-tests.md 2 ✓ Présent
PD-241-specification-review.md 3.1 ✓ Présent
PD-241-confrontation-step3-v1.md 3.2 ✓ Présent

2. 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

3. Preuves de conformité

3.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 ⚠️ Partiel (DIV-01)
INV-241-04 : Format erreur TC-ERR-03
INV-241-05 : Erreur explicite échec Keycloak TC-ERR-02 ⚠️ Partiel (DIV-03)
INV-241-06 : Effacement local (hors périmètre) N/A N/A

3.2 Critères d'acceptation ↔ Observables

Critère Observable Vérifié ?
CA-241-01 : Refus sans JWT Réponse erreur auth
CA-241-02 : Session Keycloak invalidée Réutilisation refusée
CA-241-03 : Refresh token invalidé Réutilisation refusée ⚠️ Mécanisme non défini
CA-241-04 : Erreur explicite échec Keycloak Code ERR-241-LOGOUT-FAILED ⚠️ Statut HTTP non défini
CA-241-05 : Format erreur respecté Inspection JSON
CA-241-06 : Effacement local (hors périmètre) Preuve PD-106 N/A

4. Points ouverts (nécessitant clarification)

Écarts identifiés par la review ChatGPT (Majeurs)

ID Type Description Gravité
ECT-01 Ambiguïté Mécanisme de transmission du refresh token (header/body) non défini Majeur
ECT-02 Ambiguïté Alignement codes erreur ERR-106 ↔ ERR-241 non clarifié Majeur
ECT-03 Incohérence Statut HTTP pour ERR-241-LOGOUT-FAILED non défini Majeur
ECT-04 Incohérence Spec↔Tests TC-NEG-03 suppose idempotence non spécifiée Mineur
ECT-05 Incohérence Spec↔Tests TC-NEG-02 suppose code auth/invalid_token non défini Mineur

Points à clarifier (spec §10)

  1. Mécanisme exact de transmission du refresh token
  2. Alignement ERR-106-LOGOUT-FAILED ↔ ERR-241-LOGOUT-FAILED
  3. Statut HTTP attendu pour ERR-241-LOGOUT-FAILED

5. Rapport de confrontation

  • Voir : PD-241-confrontation-step3-v1.md
  • 5 divergences identifiées (DIV-01 à DIV-05)
  • 4 zones d'ombre (ZO-01 à ZO-04)
  • Recommandation confrontation : Rework nécessaire

6. Synthèse des écarts bloquants

ID Source Description Résolution requise
ECT-01 / DIV-01 Spec §10 + Review Transmission refresh token non définie Clarifier dans spec
ECT-02 / DIV-02 Spec §10 + Review Alignement ERR-106 ↔ ERR-241 Décision explicite
ECT-03 / DIV-03 Spec §10 + Review Statut HTTP non défini Ajouter dans spec

7. Recommandation pré-verdict

  • GO — conformité vérifiée, aucun point bloquant
  • RESERVE — conformité partielle, conditions à satisfaire
  • La spécification est globalement testable
  • 3 écarts majeurs doivent être résolus avant implémentation
  • Les écarts mineurs (TC-NEG-02, TC-NEG-03) peuvent être traités durant l'implémentation
  • NON_CONFORME — écarts bloquants identifiés
  • ESCALADE — décision humaine requise

Dossier assemblé par Claude Orchestrateur — 2026-02-07