Aller au contenu

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 (document d’entrée: SPECIFICATION, étape spécification contractuelle)
  • PD-56-tests.md (document d’entrée: TESTS, étape scénarios de tests contractuels)

2. Convergences

  • Le contrat de sortie nominal est aligné: available avec preuve complète, pending avec estimatedAvailableAt (SPEC §1, §5.1, §5.5; TESTS TC-NOM-01, TC-NOM-02).
  • Les invariants cryptographiques et l’auto-vérification avant retour available sont cohérents entre spécification et tests (SPEC INV-56-01/04/05, CA-56-02/07; TESTS TC-NOM-01, TC-NOM-04, TC-NOM-05, TC-ERR-08).
  • Le déterminisme à snapshot constant est convergent (SPEC INV-56-02, SCN-56-06; TESTS TC-NOM-03, TC-NR-04).
  • La validation stricte des formats/bornes et le mapping d’erreurs ERR-56-01..04 sont cohérents (SPEC §5.1, §5.2, §6, CA-56-09; TESTS TC-ERR-01..08, TC-INV-07, TC-NEG-*).
  • La contrainte d’absence d’endpoint REST et le périmètre lecture seule sont alignés (SPEC §2, §5.7, §5.8; TESTS TC-NR-06).
  • La vérifiabilité off-chain sans API/BDD est convergente (SPEC §1, F-03, CA-56-03; TESTS TC-NOM-04).

3. Divergences

⚠️ Les conflits ne doivent JAMAIS être lissés. Chaque divergence est rendue visible.

  • DIV-01 : Contradiction sur la transition CORRUPTED->CORRUPTED
  • Source A (PD-56-specification.md) : §5.4 déclare CORRUPTED terminal (CORRUPTED->* interdite), mais le diagramme d’état §5bis montre explicitement CORRUPTED --> CORRUPTED.
  • Source B (PD-56-tests.md) : section 9 qualifie cette contradiction de bloquante; TC-ERR-10 retient CORRUPTED->* refusées.
  • Impact : comportement contractuel non univoque pour l’état terminal; opposabilité des tests de transitions bloquée.

  • DIV-02 : Exigence de “marquage SLA non conforme” sans support contractuel

  • Source A (PD-56-specification.md) : §5.3 exige que l’ETA reste fournie mais soit “marquée non conforme SLA” si cadence hors bornes.
  • Source B (PD-56-tests.md) : section 9 indique qu’aucun champ de MerkleProofResult ne porte ce marquage, donc règle non testable.
  • Impact : exigence non vérifiable objectivement et non opposable en gate.

  • DIV-03 : Critère de performance absolu vs testabilité conditionnelle

  • Source A (PD-56-specification.md) : CA-56-05 impose P95 <= 10 ms.
  • Source B (PD-56-tests.md) : TC-NOM-10 et section 9 indiquent une validité conditionnelle, faute d’environnement benchmark officiel figé.
  • Impact : conformité perf impossible à statuer de manière contractuelle stable.

  • DIV-04 : Invariant absolu sécurité vs couverture de preuve partielle

  • Source A (PD-56-specification.md) : INV-56-08 est non négociable et formulé de manière absolue (“aucun secret en clair persisté”).
  • Source B (PD-56-tests.md) : matrice + section 9 qualifient la vérification comme partielle sur le seul flux PD-56.
  • Impact : impossibilité de conclure la conformité complète INV-56-08 avec le périmètre de tests actuel.

  • DIV-05 : Référence épique incohérente

  • Source A (PD-56-specification.md) : Références = “Epic : PD-187 — BLOCKCHAIN (à confirmer avec PO)”.
  • Source B (PD-56-tests.md) : Références = “Epic : EPIC-XX”.
  • Impact : traçabilité gouvernance/JIRA non alignée entre artefacts.

4. Zones d'ombre

  • La source canonique unique de eventHash pour tous les types d’événements n’est pas arrêtée explicitement dans le contrat (SPEC §10.2 Q1; TESTS section 9).
  • Le comportement contractuel pour un eventId présent en lot FAILED mais absent d’un lot finalisé reste indéterminé (pending vs erreur dédiée) (SPEC §10.2 Q2).
  • La politique opérationnelle au-delà de 120 minutes de pending n’est pas entièrement figée (statut d’alerte ou non) (SPEC §10.2 Q3).
  • La représentation externe de l’état interne CORRUPTED dans MerkleProofResult n’est pas explicitée de façon complète (status contractuel limité à available|pending).
  • Le benchmark officiel de référence pour CA-56-05 n’est pas défini de façon opposable (SPEC §10.2 Q4; TESTS section 9).
  • La référence épique officielle reste à confirmer, ce qui laisse une ambiguïté de rattachement documentaire (SPEC §10.2 Q5; TESTS §1).

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