Aller au contenu

PD-56 — Dossier de conformité (Gate 5 v2 — Plan)

1. Références

  • Spécification : PD-56-specification.md
  • Tests : PD-56-tests.md
  • Plan : PD-56-plan.md (corrigé post-v1)
  • Code Contracts : PD-56-code-contracts.yaml
  • Review v2 : PD-56-review-step5-v2.md (Codex/GPT-5)
  • Confrontation v2 : PD-56-confrontation-step5-v2.md (Claude)
  • Date : 2026-03-31
  • Itération : v2 (précédent verdict v1 : NON_CONFORME, 6.25)

2. Résolution des écarts v1

Écart v1 Score v1 Résolution v2 Statut
feasibility (5.0) Critique Plan corrigé §9 point 4 : patron concurrence clarifié, migration DDL détaillée Partiellement résolu (DIV-02 persiste)
coverage (6.5) Sous-seuil Confrontation C-04 confirme convergence anti-flood. Couverture INV améliorée Résolu
coherence (6.0) Sous-seuil Transition PENDING→AVAILABLE clarifiée, contradictions plan/diagramme corrigées Partiellement résolu (DIV-01 persiste mais mineur)
risk_mitigation (7.5) OK Maintenu OK

3. Écarts résiduels (review v2 + confrontation v2)

3.1 Écarts BLOQUANTS de la review v2 — Statut post-confrontation

Réf Écart review v2 Confrontation v2 Verdict
R-01 Anti-flood INV-56-09 multi-instance (BLOQUANT) C-04 : Convergence confirmée — UPDATE WHERE state != 'CORRUPTED' RETURNING garantit unicité première détection RÉSOLU — Le plan corrigé utilise un pattern atomique single-statement
R-02 Tests irréalisables TC-NOM-11/TC-ERR-10 (BLOQUANT) C-04 : Tests alignés avec le plan corrigé RÉSOLU — Conséquence de R-01

3.2 Écarts MAJEURS restants

Réf Type Description Source Impact Gravité
ECT-01 AMB Patron de concurrence contradictoire : UPDATE WHERE RETURNING (§3) vs SELECT FOR UPDATE (§9 pt4) Review v2 + Confrontation DIV-02 Ambiguïté pour l'implémenteur — deux patrons concurrents, pas de directive univoque MAJEUR
ECT-02 AMB Interface C9 ETA Calculator ne supporte pas le recalcul sur fenêtre suivante (un seul batch en entrée) Review v2 + Confrontation DIV-05 TC-NOM-07 non satisfaisable avec l'interface actuelle MAJEUR
ECT-03 AMB Résolution eventId→eventHash non contractualisée (requête exacte absente) Confrontation ZO-01 Composant C4 (EventResolver) ne peut pas être codé sans clarification MAJEUR
ECT-04 DIV Filtre status != FAILED non spécifié — comportement batch FAILED indéfini Review v2 Risque de retour pending avec ETA sur batch qui ne sera jamais finalisé MAJEUR
ECT-05 DIV Exigence DDL commitTransaction() avant WHERE non documentée dans migration Review v2 Violation potentielle de la règle PostgreSQL connue (REX PD-282) MAJEUR
ECT-06 AMB Transaction scope flux nominal — READ COMMITTED sans transaction explicite Confrontation ZO-08 Phantom read possible entre queries séquentielles MAJEUR

3.3 Écarts MINEURS restants

Réf Type Description Source Impact Gravité
ECT-07 DIV Nommage paramètre eventHash vs leafHash + ordre inversé Confrontation DIV-04 Confusion implémenteur, risque inversion arguments MINEUR
ECT-08 AMB Script off-chain C12 — exécution .ts avec node sans transpilation Confrontation ZO-05 Mécanisme d'exécution non précisé MINEUR
ECT-09 AMB Hypothèse MerkleProofVerifier merklePath=[] non vérifiée Confrontation ZO-06 Hypothèse implicite sur code existant PD-237 MINEUR
ECT-10 AMB Environnement benchmark CA-56-05 non figé Confrontation ZO-04 Non-opposabilité du critère de performance MINEUR
ECT-11 AMB Protection timing attack non contractualisée Confrontation ZO-03 Aucun TC ne valide constantTimeCompare MINEUR
ECT-12 DIV Hypothèse H-56-06 spec factuellement fausse (PD-237 ne fournit pas la colonne) Confrontation DIV-03 Divergence spec/réalité, corrigée dans le plan MINEUR
ECT-13 AMB Requête batch candidat — clause de jointure non contractualisée Confrontation ZO-07 Ambiguïté implémentation SQL MINEUR

4. Synthèse

Gravité v1 v2 Delta
BLOQUANT 2 0 -2 (résolus)
MAJEUR 7 6 -1
MINEUR 1 7 +6 (détection affinée)

Améliorations v1→v2 : - Les 2 BLOQUANTS (anti-flood multi-instance) sont résolus par la correction du plan - Le score feasibility devrait remonter significativement - La cohérence plan/spec est améliorée sur la machine d'état

Risques résiduels : - ECT-01 à ECT-06 restent MAJEURS mais aucun n'est structurellement bloquant - La majorité sont des ambiguïtés d'implémentation résolubles par l'implémenteur - ECT-03 (eventId→eventHash) est le plus critique des MAJEURS

5. Recommandation

Le plan corrigé résout les points structurels identifiés en v1. Les écarts résiduels sont des ambiguïtés d'implémentation, pas des contradictions fondamentales. Le coeur contractuel (12 convergences) est solide.