Aller au contenu

PD-277 — Dossier de conformité Gate 3 (CONFORMITY_CHECK) — v1

1. Contexte

  • Story : PD-277 — PV PRE — Implémenter anti-rejeu nonce et PKI certificate binding (v1.1)
  • Gate : 3 (CONFORMITY_CHECK)
  • Itération : v1
  • Date : 2026-02-28
  • P1 (review) : Claude (claude-p)
  • P2 (confrontation) : ChatGPT (opencode gpt-5.3-codex)

2. Documents de référence

Document Source Étape
PD-277-besoin.md Claude (PO validé) 0
PD-277-specification.md ChatGPT 1
PD-277-tests.md ChatGPT 2

3. Synthèse des écarts

Écarts BLOQUANTS (3)

ID Source Écart Impact
ECT-01 Review P1 Format nonce non contractualisé (longueur, encodage, normalisation) Comportements ambigus en rejeu, impossibilité de valider
ECT-02 Review P1 Faits Prolog attendus pour CHECK 23/24 absents de la spécification Pas de référentiel canonique pour la vérification formelle
ECT-03 Review P1 4 tests référencés non définis (TC-INV-03, TC-INV-05, TC-INV-06, TC-INV-08) Couverture de test incomplète

Écarts MAJEURS (5)

ID Source Écart Impact
ECT-04 Review P1 Politique stockage used_nonces non bornée (TTL, cardinalité max) Risque explosion stockage en production
ECT-05 Review P1 Types SQL non contractualisés pour les nouveaux champs Ambiguïté d'implémentation
ECT-06 Review P1 Atomicité nonce/re-chiffrement non spécifiée Risque TOCTOU (Time of Check / Time of Use)
ECT-07 Confrontation P2 Référence Epic incohérente entre documents (DIV-01) Traçabilité documentaire non fiabilisée
ECT-08 Confrontation P2 INV-277-06/08 déclarés non négociables mais couverture test "Partielle" (DIV-02) Risque verdict sous réserve faute de preuve

Écarts MINEURS (5)

ID Source Écart Impact
ECT-09 Review P1 Immutabilité mécanisme non précisé (trigger/domaine/DB) Faible — design choice
ECT-10 Review P1 Scénario certificat expiré/révoqué absent de la spec Couvert partiellement par tests
ECT-11 Review P1 Origine nonce (client/serveur) ambiguë Clarification mineure
ECT-12 Review P1 Rotation certificat post-binding non couverte Hors périmètre actuel, documentable
ECT-13 Confrontation P2 Baseline explicite des états pré-PD-277 absente Démonstration INV-08 affaiblie

4. Scoring

Critère Score Justification
completeness 6.0 3 écarts bloquants (3×-2 = -6) → 10-6 = 4, mais contenu fonctionnel bien couvert → remonté à 6.0
testability 7.0 4 tests manquants (-2), 2 invariants partiels (-1) → 10-3 = 7.0
clarity 7.5 Documents lisibles, 2 ambiguïtés (nonce format, nonce origin) (-0.5 chacune), ref Epic (-0.5)
traceability 7.5 Bonne traçabilité spec↔tests, prolog facts manquants (-1), ref Epic (-0.5), baseline absente (-0.25)

5. Convergences confirmées

  • Scope fonctionnel aligné : anti-rejeu nonce + PKI binding, module legal-pre exclusivement
  • Invariants critiques repris dans matrice de tests (INV-277-01 à INV-277-08)
  • Mode fail-closed cohérent entre spec et tests
  • Objectif 24/24 Prolog convergent
  • Migration up/down et non-régression couvertes

6. Recommandation

Rework nécessaire — les 3 écarts bloquants (ECT-01, ECT-02, ECT-03) doivent être levés avant progression.