| Non-conformité Spec | INV-278-01 / CA-01 / Plan §4 (CA-01), §5.3 (TC-INV-01), §9 (V-01) | Le plan acte un enum DB à 5 valeurs (incluant RESTITUTED) et redéfinit le critère en « présence de DIP », alors que la spec impose un ensemble exact {PENDING, SEALED, DIP, EXPIRED}. | Rupture de conformité contractuelle explicite sur le set d’états. | BLOQUANT |
| Test irréalisable | TC-INV-01 / Spec INV-278-01 / Plan §9 (V-01), §5.3 (TC-INV-01) | Le test contractuel « ensemble exact = 4 valeurs » ne peut pas être validé avec la règle de test du plan (« DIP ∈ enum ») et un enum DB à 5 valeurs. | Impossibilité de conclure la conformité du critère CA-01 selon la spec. | BLOQUANT |
| Non-conformité Spec | INV-278-04 / Spec §4 et §5.8 / Plan §2.3, §3 (INV-278-04), §6, §13 (C11) | Les refus sécurité (401/403/429/409-retention_due) sont journalisés via AuditLogService.logAsync() par exception filter, alors que la spec exige une persistance synchrone/transactionnelle des refus. | Risque de perte d’événement de sécurité en cas de crash/interruption, non-conformité NF Z42-013 sur traçabilité. | BLOQUANT |
| Hypothèse implicite | INV-278-04 / TC-ERR-03 / Plan §3 (INV-278-04 risque), §9 (V-05) | Le plan suppose que le filter capture aussi les rejets pré-controller (JwtAuthGuard 401), sans mécanisme contractuel démontré. | Audit des 401 potentiellement incomplet, couverture INV-278-04 incertaine. | MAJEUR |
| Non-conformité Spec | Spec §6 (catalogue d’erreurs) / Plan §13 (C9 étape 6) | Le plan introduit un comportement 404 (« tous trouvés ? sinon 404 / RLS 403 ») non défini dans le contrat d’erreurs PD-278. | Dérive de contrat API et ambiguïté de validation des scénarios d’erreur. | MAJEUR |
| Non-conformité Spec | Spec §1 (aucun comportement non spécifié) / Spec §6 / Plan §8 (C8), §6 | Le plan introduit 503 en cas d’indisponibilité Redis (« fail-closed 503 »), code non contractualisé dans PD-278. | Comportement runtime non spécifié contractuellement, divergence de conformité. | MAJEUR |
| Couverture manquante | Spec §5.5 / TC-NOM-05 / Plan §2.1, §2.2, §13 (C9) | Les mécanismes détaillés C9 ne définissent ni mesure monotone explicite, ni émission explicite de performance_flag=SLOW_OPERATION, ni gestion explicite du hard-timeout atomique >5000 ms. | Couverture partielle des exigences SLA et observabilité performance. | MAJEUR |
| Test irréalisable | TC-NOM-05 / Spec §5.5 / Plan §5.1 (TC-NOM-05), §13 (C9) | Le scénario de validation P95/flag/timeout est mappé, mais les points d’observabilité techniques permettant la preuve ne sont pas définis au même niveau de précision que les autres invariants. | Exécution probante du test de performance non démontrée dans le plan. | BLOQUANT |
| Code Contract — Invariant | Code contract dip-migration / Spec INV-278-01 / Plan §4 (CA-01), §9 (V-01) | Le contrat de code « enum inclut exactement DIP via ADD VALUE » n’est pas cohérent avec l’invariant spec « set exact de 4 états » et avec le plan qui accepte 5 valeurs DB. | Invariant contractuel non aligné, validation croisée plan↔contracts incohérente. | MAJEUR |
| Contrainte technique non documentée | Plan global (absence section « Contraintes techniques ») / Exigence revue axe 7 | Les dépendances inter-PD ne sont pas consolidées dans une section dédiée avec statut explicite DONE/TODO/STUB par story dépendante. | Traçabilité de dépendances incomplète pour audit tiers. | MINEUR |
| Contrainte technique non documentée | Plan §12 / Exigence revue axe 7 (framework test) | Le framework de test n’est pas explicitement fixé en « Jest » ou « Vitest » (mention d’outillage sans choix contractuel explicite). | Ambiguïté d’exécution du plan de tests en CI. | MAJEUR |
| Contrainte technique non documentée | Plan global / Exigence revue axe 7 (compat ESM/CJS) | Aucune section ne documente explicitement les contraintes de compatibilité ESM/CJS et l’adaptation du runner de test. | Risque d’échec d’exécution test au runtime selon dépendances. | MAJEUR |
| Contrainte technique non documentée | Plan global / Exigence revue axe 7 (variables CI) | Variables CI requises (DATABASE_URL, CI=true, etc.) non documentées explicitement pour les tests d’intégration et formels. | Reproductibilité CI incomplète. | MINEUR |