PD-278 — Rapport de confrontation (Étape N)¶
Ce rapport est produit par l'orchestrateur Claude avant chaque gate PMO.
Il confronte les documents produits pour identifier convergences, divergences et zones d'ombre.
1. Sources confrontées¶
- Spécification fonctionnelle et contractuelle :
PD-278-specification.md(Étape 1 — Specification) - Plan de tests contractuels : document “PD-278 — Scénarios de tests contractuels” (Étape 2 — Tests & Validation)
2. Convergences¶
- Les deux documents convergent sur l’objectif principal : ajout de l’état
DIPet correction de l’alignement formelDocStates ⊆ RealStates(Spec §1, §7 CA-10 ; Tests matrice +TC-FML-01). - La matrice de transitions est cohérente entre les deux :
SEALED → DIPautorisée sous gardes,DIP → SEALEDexplicite uniquement, transitions interdites rejetées (409) (Spec §5.2, §6 ; TestsTC-NOM-01/03/04,TC-ERR-06,TC-NEG-04). - Les exigences de traçabilité sont alignées : audit
DOCUMENT_DISSEMINATED/DOCUMENT_RETURNEDavec métadonnées de corrélation (Spec INV-278-04, §5.⅗.4 ; TestsTC-NOM-01/03,TC-INV-04). - L’attestation de restitution est traitée comme obligatoire et bloquante en cas d’échec (Spec INV-278-05,
E-500-ATTESTATION; TestsTC-NOM-01,TC-ERR-09,TC-INV-05). - Les contraintes de non-régression sécurité/probatoire sont convergentes : WORM préservé, RLS préservée,
EXPIREDterminal (Spec INV-278-06/07/08 ; TestsTC-NR-01/02,TC-INV-06/07/08). - Les réserves de testabilité sont reconnues des deux côtés sur les mêmes points structurants (
N_MAX, endpoints API, règlemotif_communication, politique de panne post-commit) (Spec §10 Q-01..Q-04 ; Tests §9).
3. Divergences¶
⚠️ Les conflits ne doivent JAMAIS être lissés. Chaque divergence est rendue visible.
- DIV-01 : Incohérence sur le code d’erreur pour
event_typeinvalide. - Source A (Spécification) : §5.1 indique
event_typeinvalide → rejet422. - Source B (Spécification reprise par Tests) : §6
E-400-ID-FORMATinclut “enum invalide” →400, tandis que TestsTC-ERR-02attend422. -
Impact : oracle de test ambigu, risque d’échec de gate sur conformité HTTP et contrat d’erreur.
-
DIV-02 : Référence épique non alignée entre artefacts.
- Source A (Spécification) : “Epic : Référence épique non fournie (à compléter)”.
- Source B (Tests) : “Epic :
EPIC-XX”. -
Impact : traçabilité documentaire affaiblie (chaîne de preuve/gouvernance incomplète).
-
DIV-03 : Niveau d’engagement sur INV-278-10 (encryption) vs testabilité effective.
- Source A (Spécification) : INV-278-10 défini “invariant crypto obligatoire” (non négociable).
- Source B (Tests) : couverture
TC-INV-10marquée “Partielle”, dépendante de l’observabilité sécurité. - Impact : risque de déclarer conforme un invariant constitutionnel sans preuve complète observable.
4. Zones d'ombre¶
- Valeur contractuelle
N_MAXabsente : borne haute package non testable intégralement. - URI/méthodes API exactes non définies : black-box contract testing incomplet.
- Statut métier de
motif_communication(obligatoire vs optionnel selon contexte) non tranché. - Politique explicite en cas d’échec d’ancrage audit post-commit non définie (mode dégradé vs blocage).
- Référence canonique des transitions historiques hors DIP (
PENDING/SEALED/EXPIRED) non fournie. - Référence épique finale non stabilisée (placeholder / manquante), impactant la traçabilité transverse.
5. Recommandation¶
- Procéder — convergence confirmée, aucun conflit bloquant
- Rework nécessaire — divergences à résoudre avant de continuer
- Escalade — décision humaine requise sur un point structurant