Aller au contenu

PD-298 — 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-298-specification.md — Étape Spécification (référence JIRA PD-298, date indiquée 2026-04-22)
  • PD-298-tests.md — Étape Tests contractuels (référence spec PD-298-specification.md, verdict QA)

2. Convergences

  • Le périmètre fonctionnel est aligné sur une feature strictement côté propriétaire (création, liste, détail, révocation, journal), sans portail destinataire natif.
    Références : Spec §1-2 ; Tests §3 (TC-NOM-01 à TC-NOM-17).
  • La validation email côté client avant tout appel réseau est cohérente entre invariants et tests.
    Références : Spec INV-298-01, CA-298-02 ; Tests matrice §2, TC-NOM-02, TC-ERR-01.
  • Les bornes TTL [15, 43200] minutes et la valeur par défaut 10080 sont alignées.
    Références : Spec §5.2, INV-298-04, CA-298-03 ; Tests TC-NOM-01, TC-ERR-08.
  • L’obligation d’afficher l’encart RGPD avant soumission est cohérente.
    Références : Spec INV-298-06, CA-298-11 ; Tests TC-NOM-04, TC-ERR-10.
  • Le comportement DRM “première ouverture + persistance locale par compte” est couvert et cohérent.
    Références : Spec INV-298-03, flux F-298-06 ; Tests TC-NOM-03, TC-ERR-05, TC-NR-06.
  • La révocation conditionnée à confirmation explicite avec modale ARB-7 est alignée.
    Références : Spec INV-298-02, CA-298-04 ; Tests TC-NOM-09, TC-NOM-10, TC-ERR-02.
  • La pagination contractuelle (offset/limit, limit=20) et le tri created_at desc convergent.
    Références : Spec INV-298-13, CA-298-05 ; Tests TC-NOM-05, TC-NEG-02, TC-NR-05.
  • La machine d’états fermée (transitions interdites) et la terminalité REVOKED/EXPIRED sont cohérentes.
    Références : Spec §5.5, INV-298-14, INV-298-15 ; Tests TC-NOM-16, TC-NEG-04, TC-NR-08.
  • L’interdiction de cache local persistant sur les données de partage est alignée.
    Références : Spec INV-298-05, CA-298-07 ; Tests TC-NOM-13, TC-NR-01.
  • Le masquage IP dans le journal (jamais d’IP brute) est convergent.
    Références : Spec INV-298-09, CA-298-09 ; Tests TC-NOM-12, TC-NEG-07.
  • L’exigence i18n (0 chaîne visible hardcodée) est convergente.
    Références : Spec INV-298-10, CA-298-13 ; Tests TC-NOM-14, TC-NR-02.
  • La protection PII en logs (pas d’email destinataire brut) est convergente.
    Références : Spec INV-298-07, CA-298-14 ; Tests TC-NOM-15, TC-ERR-04, TC-NR-04.
  • Le guard de propriété (CTA “Partager” absent hors propriété) est aligné.
    Références : Spec INV-298-12, CA-298-12 ; Tests TC-NOM-07, TC-ERR-07.
  • L’interdiction d’usage offline et l’erreur réseau explicite sont cohérentes.
    Références : Spec INV-298-17, ERR-298-12 ; Tests TC-NOM-17, TC-ERR-12.

3. Divergences

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

  • DIV-01 : Référence Epic incohérente entre les documents.
  • Source A (Spécification) : “Epic : Référence épique non fournie”.
  • Source B (Tests) : Epic renseigné à EPIC-XX (placeholder).
  • Impact : traçabilité PMO incomplète et risque d’ambiguïté sur le rattachement documentaire officiel.

  • DIV-02 : Exigence de vérification textuelle stricte ARB-7/ARB-8 vs statut de testabilité.

  • Source A (Spécification) : ARB-7 exact obligatoire (INV-298-02, CA-298-04) et avertissement DRM ARB-8 contractuel (inclus, INV-298-03).
  • Source B (Tests) : section “Règles non testables” indique que la comparaison stricte ARB-7/ARB-8 est “NON TESTABLE (conditionnel)” faute de textes de référence accessibles ; verdict global “testable partiellement”.
  • Impact : impossibilité de prouver la conformité contractuelle des libellés avant gate.

  • DIV-03 : Exigence d’alignement strict à la regex email normative D-287-03 vs impossibilité d’assertion.

  • Source A (Spécification) : regex exacte D-287-03 requise côté validation client (§5.1, PC-298-01).
  • Source B (Tests) : D-287-03 classée “NON TESTABLE — Bloquant” (motif non fourni), avec réserves bloquantes au verdict QA.
  • Impact : risque d’écart UI/backend non démontrable en gate (faux positifs/faux négatifs de validation email).

  • DIV-04 : Signal documentaire contradictoire sur la complétude de couverture.

  • Source A (Tests, matrice §2) : couverture marquée “Oui” pour l’ensemble des invariants INV-298-01 à INV-298-17.
  • Source B (Tests, verdict §10 et §9) : “Testable partiellement” + réserves bloquantes (ARB-⅞, D-287-03, maxViews, eventType, RGPD rétention, IPv6).
  • Impact : lecture ambiguë du niveau réel de préparation QA pour décision de gate.

4. Zones d'ombre

  • Texte de référence officiel ARB-7 et ARB-8 non intégré au périmètre documentaire confronté (version, source, hash non explicités).
  • Regex normative D-287-03 absente du corpus confronté (validation client strictement alignée non vérifiable).
  • Borne maximale contractuelle backend de maxViews absente.
  • Mapping exhaustif des eventType backend vers libellés UI non figé.
  • Règle canonique de masquage IPv6 non normalisée (format de rendu attendu incomplet).
  • Texte juridique exact RGPD sur la durée de rétention non fourni.
  • Référence Epic officielle non stabilisée (absence vs placeholder).

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