PD-275 — Rapport de confrontation (Étape 3)¶
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¶
PD-275 — Conformité PV Anchor ANCHOR-16/17 (Finality Depth & Signer Revocation)(document Specification, étape 1)PD-275 — Scenarios de tests contractuels(document Tests, étape 2)
2. Convergences¶
- Les deux documents convergent sur le périmètre fonctionnel central : couverture des checks Prolog 28–32, objectif final 32/32, sans fail-open.
- Convergence sur les gardes métier critiques :
- finalisation refusée si
confirmation_count < FINALITY_DEPTH(INV-275-02,CA-02,TC-NOM-02,TC-ERR-02) - soumission refusée si signer
REVOKEDou inconnu (CA-05,TC-NOM-06/07,TC-ERR-04/05) - Convergence sur la révocation atomique auditée : transition
ACTIVE -> REVOKEDavecrevokedAtetrevokedByobligatoires, refus si déjà révoqué, refus si audit trail incomplet (INV-275-05,ERR-AUDIT-TRAIL-MISSING,TC-NOM-04/05,TC-ERR-06). - Convergence sur les contraintes de migration réversible
up/down/upavec vérification de restauration des objets attendus (CA-08,TC-NOM-09,TC-NR-05). - Convergence explicite sur les ambiguïtés restantes (Q-01, Q-02, Q-03, Q-04) : elles sont reconnues dans la spec et reprises comme réserves de testabilité dans les tests.
3. Divergences¶
⚠️ Les conflits ne doivent JAMAIS être lissés. Chaque divergence est rendue visible.
- DIV-01 : complétude de machine à états déclarée vs non vérifiable
- Source A (Specification) :
INV-275-07-state-machine-complete+ checklist marquée complète ([x]) pour transitions sortantes des états identifiés. - Source B (Tests) : section 9 indique l’exhaustivité des états
anchor_batchhorsFINALIZEDcomme non testable et bloquante (Q-02). -
Impact : la complétude exigée comme invariant non négociable n’est pas démontrable de bout en bout avec le référentiel actuel.
-
DIV-02 : unicité métier signer implicite en test vs règle de normalisation non figée en spec
- Source A (Tests) :
TC-NOM-09attend la restauration de contraintes incluant une “unicité attendue”. - Source B (Specification) : Q-03 laisse ouverte la politique de collision/normalisation d’adresse (checksum/casse), donc l’unicité métier n’est pas strictement contractualisée.
-
Impact : risque d’assertions de test non stables selon l’interprétation d’adresse (format/casse/checksum).
-
DIV-03 : référence épique incohérente entre les documents
- Source A (Specification) : “Référence épique non fournie (à compléter)”.
- Source B (Tests) : “Epic : EPIC-XX”.
-
Impact : traçabilité gouvernance incomplète/incohérente pour la gate et l’archivage probatoire.
-
DIV-04 : rattachement Invariant/Critère non aligné dans la matrice de tests
- Source A (Specification) :
CA-07= couverture des 5 comportements nouveaux (checks 28–32). - Source B (Tests) : matrice associe
INV-275-08-envelope-encryptionàCA-07(TC-INV-08). - Impact : ambiguïté de lecture de conformité (preuve de couverture fonctionnelle vs preuve crypto), pouvant biaiser l’évaluation de gate.
4. Zones d'ombre¶
- Valeur par défaut officielle de
FINALITY_DEPTHpar environnement (Q-01) : testable en paramètre, mais conformité opérationnelle par environnement non établie. - Canon des états
anchor_batchhorsFINALIZED(Q-02) : empêche la preuve d’exhaustivité globale des transitions. - Politique normative de normalisation d’adresse signer (Q-03) : checksum/casse/collision non figés.
- Identité et format normatifs de
revokedBy(Q-04) : audit trail hétérogène possible. - Stratégie de seed initial des signers actifs (Q-05) : risque fail-closed massif au démarrage si référentiel initial incomplet.
- Autorisation métier de l’action
revokeSigner(qui a le droit de révoquer) : non explicitée contractuellement dans les deux documents.
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