Aller au contenu

Confrontation Gate 3 — PD-105

Date : 2026-02-10 Auditeur : Claude (orchestrateur) Documents sources : PD-105-specification.md, PD-105-tests.md, PD-105-specification-review.md


Analyse des écarts

ÉCART 1 : Schéma d'IDs tests contradictoire

QUALIFICATION : CONFIRMÉ JUSTIFICATION : La spécification section 8 annonce "12 scenarios TC-105-01 à TC-105-12" tandis que PD-105-tests.md utilise TC-NOM-01..13, TC-ERR-01..09, TC-INV-01..08, TC-NEG-01..06, TC-NR-01..06. Les schémas sont incompatibles. GRAVITÉ FINALE : Majeur (non bloquant si table de correspondance ajoutée)

ÉCART 2 : INV-105-04 sans CA dédié

QUALIFICATION : CONFIRMÉ JUSTIFICATION : INV-105-04 exige révocation token au logout. Aucun CA-105-xx ne couvre explicitement cette exigence. Les tests TC-ERR-09 et TC-INV-04 existent mais sans ancrage CA. GRAVITÉ FINALE : Majeur

ÉCART 3 : INV-105-08 champs non contractualisés dans CA

QUALIFICATION : CONFIRMÉ JUSTIFICATION : INV-105-08 liste 4 champs obligatoires (ID unique, type, horodatage, statut). CA-105-04 et CA-105-05 ne les énumèrent pas explicitement. Le test TC-NOM-04 mentionne les champs mais le CA fait défaut. GRAVITÉ FINALE : Majeur

ÉCART 4 : Taxonomie criticité instable

QUALIFICATION : CONFIRMÉ JUSTIFICATION : INV-105-06 utilise "CRITIQUE et HAUTE-CRITIQUE", H-105-04 mentionne "catalogue officiel", section 10 point 1 confirme "liste exhaustive des sous-événements (et leur criticité) n'est pas figée". GRAVITÉ FINALE : Bloquant

ÉCART 5 : Règle lu/non-lu non définie

QUALIFICATION : CONFIRMÉ JUSTIFICATION : FN-105-05 étape 3 dit "marque les éléments selon la règle de lecture définie" mais cette règle n'est définie nulle part. Section 10 point 4 confirme explicitement l'ambiguïté. GRAVITÉ FINALE : Bloquant

ÉCART 6 : CA-105-08 statistique vs INV-105-11 absolu

QUALIFICATION : CONFIRMÉ JUSTIFICATION : INV-105-11 : "DOIT tenter l'envoi APNs en moins de 5 secondes" (obligation absolue). CA-105-08 observable : "p95 et moyenne conformes au seuil" (statistique). Un cas à 6s passerait le CA mais violerait l'INV. GRAVITÉ FINALE : Bloquant

ÉCART 7 : INV-105-09 vs ERR-105-06

QUALIFICATION : PARTIELLEMENT CONFIRMÉ JUSTIFICATION : INV-105-09 dit "DOIT être strictement égal". ERR-105-06 admet "désalignement détecté" puis "réconciliation". Contradiction apparente, mais ERR décrit un cas de récupération d'erreur, pas un état normal. L'invariant reste valide en régime nominal. GRAVITÉ FINALE : Mineur (clarifier que INV concerne état nominal, ERR concerne récupération)

ÉCART 8 : "Politique phase 1" et "traitée correctement" non définis

QUALIFICATION : CONFIRMÉ JUSTIFICATION : FN-105-03 étape 4 : "selon politique de phase 1". Section 10 point 6 confirme "critères exacts de succès/erreur à fixer". GRAVITÉ FINALE : Majeur

ÉCART 9 : Taux livraison dépend d'instrumentation non garantie

QUALIFICATION : CONFIRMÉ JUSTIFICATION : H-105-05 : "La métrique de livraison APNs est disponible". CA-105-09 dépend de cette hypothèse. Si fausse, l'exigence est indémontrable. GRAVITÉ FINALE : Majeur (accepté comme hypothèse bloquante documentée)

ÉCART 10 : Dépendances externes sans engagement

QUALIFICATION : CONFIRMÉ JUSTIFICATION : H-105-04 (catalogue officiel), H-105-05 (métrique APNs) sont des prérequis sans date ni responsable. GRAVITÉ FINALE : Majeur

ÉCART 11 : "Contexte minimal" non spécifié

QUALIFICATION : CONFIRMÉ JUSTIFICATION : FN-105-01 étape 2 : "contexte minimal (user, device, environnement)". Pas de schéma, format, contraintes. GRAVITÉ FINALE : Majeur

ÉCART 12 : Portée unicité notification_id

QUALIFICATION : CONFIRMÉ JUSTIFICATION : INV-105-08 : "identifiant unique de notification". Unicité globale ? Par user ? Par device ? Non précisé. GRAVITÉ FINALE : Majeur

ÉCART 13 : Définition donnée sensible ouverte

QUALIFICATION : CONFIRMÉ JUSTIFICATION : Section 3 : "ex. titre document, identité explicite, contenu juridique". Le "ex." rend la liste non exhaustive. CA-105-07 observable liste aussi des exemples. GRAVITÉ FINALE : Majeur

ÉCART 14 : Pas de règle rétention stockage local

QUALIFICATION : CONFIRMÉ JUSTIFICATION : INV-105-08 exige historisation locale. Aucune mention de durée de rétention, purge, ou limite. GRAVITÉ FINALE : Majeur

ÉCART 15 : État app terminée non tracé dans tests

QUALIFICATION : PARTIELLEMENT CONFIRMÉ JUSTIFICATION : Section 2 inclut "app terminée". TC-NR-04 couvre "Tap depuis app terminée". La dimension existe mais n'est pas systématique dans tous les flux. GRAVITÉ FINALE : Mineur

ÉCART 16 : Verdict QA partiel

QUALIFICATION : CONFIRMÉ JUSTIFICATION : PD-105-tests.md section 10 : "⚠️ Testable partiellement (avec réserves listées)". Ceci confirme les lacunes contractuelles. GRAVITÉ FINALE : Conséquence des écarts précédents (non comptabilisé séparément)


Résumé

Gravité Nombre Écarts
Bloquant 3 #4, #5, #6
Majeur 11 #1, #2, #3, #8, #9, #10, #11, #12, #13, #14
Mineur 2 #7, #15

Écarts bloquants à résoudre avant Gate GO

  1. Catalogue criticité : Figer le catalogue des événements phase 1 avec leurs criticités
  2. Règle lu/non-lu : Définir contractuellement quand une notification devient "lue"
  3. Latence absolue vs statistique : Aligner INV-105-11 et CA-105-08 (soit tout statistique, soit tout absolu avec marge)

Recommandation

VERDICT : NON_CONFORME

Les 3 écarts bloquants rendent le contrat inapplicable en l'état. Les 11 écarts majeurs sont significatifs mais ne bloquent pas si les bloquants sont résolus.

Action requise : Correction de la spécification par ChatGPT (auteur original) sur les points bloquants, puis repasser la Gate 3.