Aller au contenu

PD-278 — Rapport de confrontation (Etape pre-gate)

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 confrontees

  • PD-278-specification.md (etape Specification)
  • PD-278-tests.md (etape Tests & Validation)

2. Convergences

  • Le perimetre fonctionnel DIP est aligne: ajout de l'etat DIP, transitions SEALED -> DIP et DIP -> SEALED, et interdictions hors matrice (PD-278-specification §5.2, PD-278-tests TC-ERR-06, TC-INV-09).
  • Les gardes de securite et d'acces sont coherentes: auth, roles, RLS, MIN_COPIES, rate-limit (spec INV-278-02, §6; tests TC-ERR-03/04/05/07/13).
  • L'exigence "retour explicite uniquement" est strictement convergente: absence de timeout implicite et test de non-retour automatique (spec INV-278-03, §5.5; tests TC-NOM-04, TC-INV-03).
  • L'auditabilite transactionnelle est convergente: persistance synchrone audit/outbox dans la meme transaction, avec echec atomique si defaillance (spec INV-278-04, §5.8, E-500-AUDIT; tests TC-ERR-10, TC-INV-04).
  • La cardinalite d'attestation est coherente: exactement 1 attestation par requete (mono et multi-documents) (spec INV-278-05; tests TC-NOM-01, TC-NOM-02, TC-INV-05).
  • Le contrat dissemination_package_id est aligne: NULL en mono-document, non NULL en multi-documents (spec §5.1, §5.3; tests TC-NOM-07).
  • Les invariants de non-regression WORM/RLS sont convergents (spec INV-278-06, INV-278-07; tests TC-NR-01, TC-NR-02, TC-INV-06, TC-INV-07).
  • Le traitement atomique multi-documents et la gestion de concurrence sont convergents (spec INV-278-11, INV-278-12, §5.9; tests TC-ERR-11, TC-INV-11, TC-INV-12).
  • L'ordre temporel returned_at >= disseminated_at est convergent (spec INV-278-13, E-409-TEMPORAL-ORDER; tests TC-NOM-03, TC-NEG-07).
  • Le volet retention anti-contournement est convergent (spec INV-278-14, §5.12; tests TC-INV-13).
  • La formalisation est convergente: correction attendue de DocStates ⊆ RealStates via TLA+ (spec CA-10; tests TC-FML-01).
  • Les deux documents reconnaissent explicitement les memes dependances contractuelles non tranchees (spec Q-01..Q-05; tests §9 Regles non testables).

3. Divergences

⚠️ Les conflits ne doivent JAMAIS etre lisses. Chaque divergence est rendue visible.

  • Aucune divergence factuelle detectee entre la specification et le plan de tests.
  • Source A (Specification) : exigences et invariants DIP + questions ouvertes Q-01..Q-05.
  • Source B (Tests) : couverture des exigences et reserves explicites sur les memes points Q-01..Q-05.
  • Impact : pas de conflit interne spec/tests a arbitrer; le risque residuel vient des zones d'ombre contractuelles, pas d'une contradiction documentaire.

4. Zones d'ombre

  • ZO-01 (Q-01) : valeur contractuelle de N_MAX absente.
  • Effet: borne haute de documents[] non oraclee, CA-08 partiellement testable (TC-ERR-08C).
  • ZO-02 (Q-02) : URI/methodes API exactes non figees.
  • Effet: tests black-box stricts non verrouillables (selection endpoint/methode encore ambigue).
  • ZO-03 (Q-03) : statut metier final de motif_communication (optionnel vs obligatoire selon politique interne) non tranche.
  • Effet: oracle de validation metier incomplet pour certaines branches 422/acceptance.
  • ZO-04 (Q-04) : delai cible de rattrapage post-commit pour ancrage audit non defini.
  • Effet: SLO de conformite/supervision incomplet (pass/fail temporel non borne).
  • ZO-05 (Q-05) : reference canonique des transitions hors DIP non identifiee.
  • Effet: non-regression globale de la matrice d'etats moins verrouillee.
  • ZO-06 (operabilite de preuve INV-278-10) : modalites precises de preuve "absence secret en clair" et "crypto active" (requete/scan/seuil) non detaillees contractuellement.
  • Effet: risque d'interpretations heterogenes en execution des tests securite, malgre couverture annoncee.

5. Recommandation

  • Proceder — convergence confirmee, aucun conflit bloquant
  • Rework necessaire — divergences a resoudre avant de continuer
  • Escalade — decision humaine requise sur un point structurant