PD-275 — 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 (Étape 1) :
PD-275 — Conformite PV Anchor ANCHOR-16/17 (Finality Depth & Signer Revocation) - Tests (Étape 2) :
PD-275 — Scenarios de tests contractuels
2. Convergences¶
- Les deux documents convergent sur l’objectif de conformité Prolog 32/32 couvrant explicitement les checks 28–32 (Spec §1, §7 CA-06, §8 T8 ; Tests §2 matrice, TC-NOM-08, TC-NR-01/02).
- Alignement complet sur les invariants de sécurité centraux : fail-closed, finality guard, registre signer autoritatif, revocation atomique auditée, terminalité REVOKED, autorisation revoke, anti-usurpation revokedBy, sérialisation concurrente, unicité événement de revocation (Spec §4 INV-275-01..12 ; Tests §2, §5, TC-NOM-10/11, TC-ERR-08/09).
- Les flux nominaux F1/F2/F3/F4 de la spécification sont repris en scénarios test correspondants (Spec §5 ; Tests TC-NOM-01 à TC-NOM-11).
- Convergence sur les erreurs métier attendues (
ERR-FINALITY-INSUFFICIENT,ERR-SIGNER-NOT-FOUND,ERR-SIGNER-REVOKED,ERR-SIGNER-ALREADY-REVOKED,ERR-AUDIT-TRAIL-MISSING,ERR-REVOKE-UNAUTHORIZED,ERR-REVOKEDBY-SPOOFING,ERR-COMPLIANCE-NOT-MET) avec assertions testables dédiées (Spec §6 ; Tests §4). - Convergence sur la migration DDL reversible
up/down/upet vérification des contraintes restaurées (Spec CA-08, §10.4, T9 ; Tests TC-NOM-09, TC-NR-05). - Convergence explicite sur les ambiguïtés structurantes non levées (Q-01/Q-02/Q-03/Q-04) qui empêchent un verdict “testable intégralement” (Spec §10.8 ; Tests §9 + Verdict QA).
3. Divergences¶
⚠️ Les conflits ne doivent JAMAIS être lissés. Chaque divergence est rendue visible.
- DIV-01 : Complétude machine à états batch déclarée vs reconnue incomplète
- Source A (Spécification) : la checklist indique la couverture comme complète (
[x]+INV-275-07-state-machine-complete) et contractualiseNON_FINALIZED -> FINALIZED+FINALIZED -> * : INTERDITE(Spec §5, “Checklist machine à états”). - Source B (Tests) : l’exhaustivité des états
anchor_batchhorsFINALIZEDest déclarée incompletable et bloquante tant que Q-02 n’est pas tranchée (Tests §9, ligne “Exhaustivite des etatsanchor_batch...”, impact Bloquant). -
Impact : risque de faux sentiment de complétude sur les transitions batch, avec trous potentiels de contractualisation au gate.
-
DIV-02 : Traçabilité Epic non alignée / non stabilisée
- Source A (Spécification) : “Reference epique non fournie (a completer)” (Spec “References”).
- Source B (Tests) : référence “Epic : EPIC-XX” (Tests §1).
-
Impact : traçabilité gouvernance/jira non fiable (lien artefacts ↔ epic), fragilise l’auditabilité de gate (Article III).
-
DIV-03 : Mapping de couverture CA-08 incohérent avec l’invariant associé
- Source A (Spécification) : CA-08 porte sur la reversibilité migration DDL (Spec §7).
- Source B (Tests) : la matrice associe CA-08 à INV-275-03-confirmation-persistence (Tests §2, ligne
INV-275-03 ... CA-08 ... TC-NOM-09), alors que le contenu de TC-NOM-09 vise le schéma/migration. - Impact : ambiguïté de démonstration “critère ↔ invariant”; peut créer une contestation de couverture formelle en gate.
4. Zones d'ombre¶
- Valeur officielle de
FINALITY_DEPTHpar environnement (dev/staging/prod) non figée : test paramétrique possible, conformité de référence impossible sans décision (Spec Q-01 ; Tests §9). - Format canonique de
revokedBynon fixé (UUID interne vsJWT subbrut vs identité service account), malgré exigence “auth-derived” (Spec Q-04 ; Tests §9). - Normalisation/collision d’adresse signer (checksum/casse, unicité métier multi-format) non contractualisée (Spec Q-03 ; Tests §9).
- Liste canonique complète des états
anchor_batchhorsFINALIZEDabsente, empêchant la preuve d’exhaustivité globale des transitions (Spec Q-02 ; Tests §9). - Stratégie de seed initial des signers actifs non définie opérationnellement (source de vérité, gouvernance de mise à jour) ; risque de refus massifs fail-closed au démarrage (Spec H-04/Q-05, peu instrumenté côté tests).
- Politique explicite de gestion des timeouts/deadlocks (codes d’erreur, observabilité minimale attendue) seulement cadrée en principe fail-closed, sans contrat d’erreur détaillé inter-documents (Spec §10.7 ; Tests couvrent l’effet, pas le contrat complet).
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