PD-56 — 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-56-specification.md(étape d'origine : SPECIFICATION contractuelle PD-56 v3)PD-56-tests.md(étape d'origine : TESTS contractuels PD-56 v3)
2. Convergences¶
- Le contrat de sortie est aligné :
status='available'avec preuve complète,status='pending'avecestimatedAvailableAtUTC, et exclusion deCORRUPTEDdustatusexposé (SPEC §1, §5.1, §6 ; TESTS TC-NOM-01, TC-NOM-02, TC-ERR-10). - Les règles de validation format/bornes et le mapping des codes
ERR-56-01..05sont cohérents entre les deux documents (SPEC §5.1, §5.2, §6 ; TESTS TC-INV-07, TC-ERR-01..08, TC-NEG-01..14). - La machine d’état est convergente sur les transitions autorisées/interdites, y compris la terminalité de
CORRUPTEDet l’interdictionAVAILABLE->PENDING(SPEC §5.4 ; TESTS TC-INV-06, TC-ERR-09, TC-ERR-10, TC-ERR-11). - Le traitement de corruption cryptographique/structurelle est aligné : persistance vers
CORRUPTED, code d’erreur dédié, puis anti-flood en relecture (SPEC F-04/F-06, INV-56-09 ; TESTS TC-ERR-04, TC-ERR-08, TC-NOM-11). - La vérification off-chain SHA-256 avec
hashPair(sorted(a,b))est convergente (SPEC F-03, CA-56-02/03 ; TESTS TC-NOM-04). - Le cas limite
treeSize=1avecmerklePath=[]est explicitement convergent comme cas valide (SPEC §5.1, CA-56-09, SCN-56-14 ; TESTS TC-NOM-12, TC-INV-07). - Le cas
pendingsans ETA calculable (finalized_at IS NULLetwindow_end IS NULL) est aligné surERR-56-05(SPEC F-05, ERR-56-05, CA-56-13 ; TESTS TC-ERR-03). - Aucune contradiction fonctionnelle explicite n’a été trouvée sur les flux nominaux, codes d’erreur, statuts et transitions.
3. Divergences¶
⚠️ Les conflits ne doivent JAMAIS être lissés. Chaque divergence est rendue visible.
- DIV-01 : Opposabilité du critère de performance CA-56-05
- Source A (SPECIFICATION) : CA-56-05 est listé dans les « Critères d’acceptation (testables) » avec exigence
P95 <= 10 ms(SPEC §7, §5.2). - Source B (TESTS) : CA-56-05 est déclaré « Oui (conditionnelle) » puis classé dans les « Règles non testables » tant que le benchmark officiel n’est pas figé (TESTS §2 matrice, §9, §10).
-
Impact : statut de conformité performance non opposable de manière stable à la gate.
-
DIV-02 : Caractère absolu de INV-56-08 vs couverture de preuve partielle
- Source A (SPECIFICATION) : INV-56-08 est « non négociable » et formulé de manière absolue (« aucun secret cryptographique en clair ») (SPEC §4).
- Source B (TESTS) : la couverture INV-56-08 est explicitement « partielle » et la preuve absolue est classée « non testable » dans le périmètre PD-56 seul (TESTS §2 matrice, §5, §9).
- Impact : conformité globale à INV-56-08 non démontrable avec les seuls artefacts de test PD-56.
4. Zones d'ombre¶
- La source canonique exacte
eventId -> eventHashpour tous les types d’événements reste non figée (SPEC §10.2 Q1 ; TESTS §9 « couverture universelle non testable »). - Le comportement contractuel pour un
eventIden lotFAILEDmais absent de lot finalisé n’est pas tranché (SPEC §10.2 Q2). - La politique opérationnelle quand un
pendingdépasse durablement 120 minutes n’est pas définie au-delà de la règle de recalcul ETA (SPEC §5.3, §10.2 Q3). - L’environnement benchmark officiel pour CA-56-05 n’est pas fixé (SPEC §10.2 Q4 ; TESTS §9).
- La preuve « système complet » de INV-56-08 au-delà du flux PD-56 n’est couverte par aucun des deux documents (TESTS §9, mentionné comme hors périmètre de preuve globale).
- Le processus opérationnel de « résolution manuelle » après passage en
CORRUPTEDn’est pas décrit (SPEC §5.4 indique « résolution manuelle uniquement », sans procédure associée).
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