Aller au contenu

PD-84 — Rapport de confrontation (Étape pré-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 confrontées

  • Spécification (Étape 1) : PD-84-specification.md v1.0.0 (2026-02-23)
  • Tests & validation (Étape 2) : PD-84-tests.md v1.0.0 (2026-02-23)

2. Convergences

  • Les deux documents convergent sur les quotas structuraux FREE : 3 dossiers ACTIVE max et 100 documents max par dossier actif (Spec §2.1, §3.3, F-84-01/02/04/05 ; Tests TC-01/02/03/04, TC-LIM-01/02).
  • La règle de clôture unidirectionnelle (ACTIVE -> CLOSED_READ_ONLY), avec libération de slot et conservation des preuves, est alignée (Spec §3.2.1, F-84-13/14, CA-84-07/08 ; Tests TC-07/08, TC-LIM-03).
  • Le verrouillage export en FREE avec erreurs métier et exigence UX ("Disponible en Premium" + CTA) est cohérent (Spec F-84-08/09/10, §7.3 ; Tests TC-05/06).
  • L'isolation des quotas par compte (mineur vs représentant légal) est cohérente (Spec F-84-16, INV-84-10, CA-84-09 ; Tests TC-09).
  • L'auditabilité des refus/transition/changement de plan est cohérente (Spec F-84-18, INV-84-15, CA-84-13, SEC-84-03 ; Tests TC-13, TC-SEC-04).
  • Les limites de testabilité sont explicitement reconnues dans les deux artefacts sur les points non mesurables (SLA "immédiatement", UX adolescent, couverture plateforme complète) (Spec §9.1 ; Tests §6).

3. Divergences

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

  • DIV-01 : Valeur de catégorie de dossier incohérente entre exigence normative et jeu de test.
  • Source A (spécification) : ProbatoryFolder.category doit inclure B2C_EVIDENCE_MINOR (Spec §2.1, §3.1, dépendance PD-79).
  • Source B (tests) : précondition "catégorie valide" définie comme CATEGORY_VALID_1 (Tests §3, préconditions communes), sans ancrage explicite sur B2C_EVIDENCE_MINOR.
  • Impact : risque de valider des tests avec une catégorie non conforme au contrat métier PD-84/PD-79, donc faux positif de conformité.

  • DIV-02 : Frontière de périmètre PD-84/PD-85 sur l'export Premium non alignée dans l'attendu de test.

  • Source A (spécification) : en PREMIUM, l'implémentation export est hors périmètre PD-84 (Spec §2.2, §7.1 endpoints export, §10).
  • Source B (tests) : TC-10 et TC-LIM-04 attendent qu'après upgrade FREE -> PREMIUM, les exports deviennent effectivement "autorisés" (comportement opérationnel d'export).
  • Impact : risque d'exiger en PD-84 un comportement dépendant d'une story externe (PD-85), créant des échecs non imputables à PD-84 ou des critères d'acceptation non isolés.

  • DIV-03 : Couverture CA-84-08 annoncée plus large que la surface API réellement testable.

  • Source A (spécification) : CA-84-08 couvre ajout/modification/suppression sur dossier fermé.
  • Source B (tests) : TC-08 ne teste que POST /folders/{F1}/documents; la section 6 reconnaît l'absence d'endpoints modif/suppression.
  • Impact : couverture affichée potentiellement trompeuse si interprétée comme couverture complète de CA-84-08.

4. Zones d'ombre

  • Le SLA "immédiatement" pour activation Premium n'a aucun seuil chiffré (latence max, percentile, timeout de propagation), empêchant un verdict binaire objectivable.
  • L'exigence "parcours compréhensible pour un adolescent" n'a pas de métrique UX formelle (score, protocole, seuil), donc validation partiellement subjective.
  • L'invariant "contenu chiffré inaccessible à la plateforme" n'a pas de protocole de preuve infra/backoffice dans le périmètre de test fourni (couverture API seulement).
  • Le code d'erreur PLAN_STATE_INCONSISTENT est défini contractuellement (Spec §7.2) mais son déclenchement attendu n'est pas spécifié (états sources, temporalité, politique de retry).
  • Le contrat exact de payload audit minimal diverge légèrement en granularité entre docs (resource_id explicite en CA-84-13 vs "payload minimal" côté tests), sans schéma d'événement normalisé.

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