PD-105 - Specification Review (Gate 3)¶
Type : Contradiction Reference : PD-105-specification.md section 8 ("12 scenarios TC-105-01 a TC-105-12") vs PD-105-tests.md section 2 (TC-NOM-13, TC-INV-01, TC-ERR-09, etc.) Description : Le referentiel de tests annonce 12 scenarios avec un schema d'ID (TC-105-xx), alors que la matrice de couverture utilise un autre schema d'ID et fait reference a au moins 13 cas nominaux, plus des cas INV/ERR/NEG non aligns. Impact : Impossibilite de tracer contractuellement les preuves Spec -> Tests sans table de correspondance canonique; risque de contestation d'acceptation. Gravite : Bloquant
Type : Incoherence Spec↔Tests Reference : PD-105-specification.md section 4 (INV-105-04) et section 7 (aucun CA dedie) vs PD-105-tests.md section 2 (INV-105-04 couvert via TC-ERR-09, TC-INV-04) Description : L'invariant de revocation du token au logout explicite est marque "Oui" dans les tests, mais aucun critere d'acceptation canonique ne porte explicitement cette exigence. Impact : Rupture de chaine contractuelle Invariant -> Critere -> Test; preuve d'acceptation formelle incomplete. Gravite : Majeur
Type : Incoherence Spec↔Tests Reference : PD-105-specification.md section 4 (INV-105-08) et section 7 (CA-105-04, CA-105-05) vs PD-105-tests.md section 2 (commentaire "champs obligatoires") Description : L'invariant exige des champs obligatoires (ID unique, type, horodatage de reception, statut lu/non lu), mais les criteres associes ne contractualisent pas explicitement l'ensemble de ces observables; la matrice affirme une couverture plus forte que la spec. Impact : Auditabilite de la tracabilite locale non demontrable de facon stricte. Gravite : Majeur
Type : Ambiguite Reference : PD-105-specification.md section 4 (INV-105-06), section 9 (H-105-04), section 10 point 1 Description : La taxonomie de criticite est instable dans le texte (CRITIQUE, HAUTE-CRITIQUE, HAUTE) et depend d'un catalogue externe non fige. Impact : Classification des notifications alert non deterministe; couverture de test partielle admise et non bornage contractuel. Gravite : Bloquant
Type : Ambiguite Reference : PD-105-specification.md section 5 (FN-105-05 etape 3), section 10 point 4; PD-105-tests.md section 9 ("Regle exacte de passage lu/non lu") Description : La regle de transition lu/non lu n'est pas definie contractuellement (ouverture centre, detail, action explicite). Impact : Impossible d'etablir des assertions deterministes sur badge, historique et lecture; contestabilite des resultats de test. Gravite : Bloquant
Type : Non testable Reference : PD-105-specification.md section 7 (CA-105-08 observable), section 4 (INV-105-11) Description : Le critere d'envoi <5s est formule avec des observables statistiques (p95 et moyenne), alors que l'invariant impose une obligation absolue "DOIT tenter" en <5s par evenement. Impact : Le meme engagement peut etre conforme selon CA mais non conforme selon INV; verdict d'acceptation non robuste. Gravite : Bloquant
Type : Contradiction Reference : PD-105-specification.md section 4 (INV-105-09), section 5 (FN-105-04 etape 5), section 6 (ERR-105-06) Description : L'invariant impose une egalite stricte permanente badge/non lus, mais un cas d'erreur admet un desalignement puis une reconciliation ulterieure. Impact : Contrat incoherent sur l'etat attendu; difficultes d'audit en temps reel et interpretation divergente de la conformite. Gravite : Majeur
Type : Ambiguite Reference : PD-105-specification.md section 5 (FN-105-03 etape 4), section 10 point 6; PD-105-tests.md section 9 ("traitee correctement" >95%) Description : "Mise a jour selon politique de phase 1" et "traitee correctement" ne sont pas definis par des regles observables completes. Impact : Validation du traitement background non deterministe; couverture declaree partielle sans seuil contractuel exploitable. Gravite : Majeur
Type : Non testable Reference : PD-105-specification.md section 4 (INV-105-12), section 7 (CA-105-09), section 9 (H-105-05) Description : Le taux de livraison >=99% repose sur une instrumentation supposee disponible; la methode de mesure depend d'un pre-requis externe non garanti et non borne contractuellement dans la preuve d'acceptation. Impact : Critere de fiabilite potentiellement indemontrable au moment de la gate. Gravite : Majeur
Type : Hypothese dangereuse Reference : PD-105-specification.md section 9 (H-105-04, H-105-05) Description : Des exigences coeur (filtrage doctrinal, criticite, taux de livraison) sont suspendues a des dependances externes (catalogue officiel, metrique APNs) sans engagement temporel ni responsabilite contractuelle explicite. Impact : Risque de blocage de recette ou d'acceptation basee sur des prerequis non maitrises par l'equipe implementatrice. Gravite : Majeur
Type : Ambiguite Reference : PD-105-specification.md section 5 (FN-105-01 etape 2 "contexte minimal"), section 3 (device token/identifiant opaque) Description : Le "contexte minimal" de l'enregistrement token n'est pas contractuellement specifie (champs, format, cardinalite, contraintes). Impact : Variantes d'implementation non equivalentes; test d'interoperabilite et audit API potentiellement litigieux. Gravite : Majeur
Type : Ambiguite Reference : PD-105-specification.md section 4 (INV-105-08 "identifiant unique de notification") Description : La portee de l'unicite n'est pas definie (globale, par utilisateur, par device, par fenetre temporelle). Impact : Reconciliation historique/badge et dedoublonnage non auditables de maniere uniforme. Gravite : Majeur
Type : Risque secu/conformite Reference : PD-105-specification.md section 3 (definition "donnee sensible"), section 4 (INV-105-07), section 7 (CA-105-07) Description : La definition de donnee sensible reste ouverte et l'observable de test enumere seulement quelques exemples, ce qui laisse une zone grise sur les donnees contextuelles indirectement identifiantes. Impact : Risque de fuite d'informations personnelles/contextuelles via payload tout en passant des tests partiels. Gravite : Majeur
Type : Risque secu/conformite Reference : PD-105-specification.md section 2 (historique local in-app), section 4 (INV-105-08), section 9 (H-105-06) Description : La persistance locale est exigee sans regle contractuelle de retention/suppression; l'hypothese de stockage "conforme" n'est pas objectivable dans les criteres. Impact : Risque de non-conformite protection des donnees (conservation non bornee) et auditabilite insuffisante. Gravite : Majeur
Type : Incoherence Spec↔Tests Reference : PD-105-specification.md section 2 (reception foreground/background/app terminee) et section 8; PD-105-tests.md section 2 (matrice) Description : Le perimetre spec inclut explicitement l'etat app terminee, mais la matrice fournie ne rend pas cette dimension d'etat systematiquement visible dans les preuves tracees. Impact : Couverture d'un comportement critique de navigation/reception non demonstrable de facon explicite. Gravite : Majeur
Type : Non testable Reference : PD-105-tests.md section 10 ("Testable partiellement"), section 9 (plusieurs regles majeures non testables) Description : Le verdict QA reconnait des reserves majeures sur des exigences centrales, ce qui invalide la pretention de testabilite complete du contrat a date. Impact : Acceptation formelle impossible sans risque de litige de conformite. Gravite : Bloquant