| Non-conformité Spec | Spec §6 ERR-01 / Test TC-ERR-01 / Plan §2.1 (étape 2) | Le flux nominal place IDLE -> PREPARING avant la réponse API, alors que ERR-01 exige export non lancé sur 403 FREE et TC-ERR-01 exige l’absence de cycle PREPARING/DOWNLOADING. | Contradiction contractuelle et comportement non conforme au cas d’erreur FREE. | BLOQUANT |
| Test irréalisable | Test TC-ERR-01 / Plan §2.1 vs §6 ERR-01 | Le plan contient deux comportements incompatibles pour 403 FREE (PREPARING déjà atteint dans §2.1, mais “pas de PREPARING” dans §6). | Le test TC-ERR-01 n’a pas d’oracle unique déterministe. | BLOQUANT |
| Couverture manquante | Spec §3.3 (règle exportId8 avec padding) / Plan C5-C10 | Le mécanisme de nommage mentionne exportId8 mais ne couvre pas la règle contractuelle complète “<8 alphanumériques => compléter par zéros à droite”. | Risque de nom final non conforme regex/contrat dans cas limites. | MAJEUR |
| Test irréalisable | Spec §3.3 (guideUrl) + F-01 étape 5 / Test TC-NOM-08 / Plan §2.1 | Le plan n’explicite pas le mécanisme de récupération du binaire guideUrl avant insertion passthrough (guide_plainte_france.pdf), alors que le test exige présence et identité binaire. | TC-NOM-08 non démontrable de façon fiable avec le plan tel qu’écrit. | BLOQUANT |
| Hypothèse implicite | Spec §6 (ERR-01 vs ERR-03) / Plan C3 §6 | La détection d’expiration URL repose sur 403/401, alors que 403 est aussi un cas FREE bloquant côté API; la règle de disambiguïsation n’est pas contractualisée dans le plan. | Mauvaise branche d’erreur possible (refresh au lieu de blocage premium), non-conformité fonctionnelle. | MAJEUR |
| Risque sécu/conformité | Spec INV-283-13 / Plan §7.3 | Le plan assimile FileSystem.cacheDirectory à une protection “Data Protection” sans mécanisme de preuve explicite de chiffrement au repos pour artefacts cryptographiques temporaires. | Conformité INV-283-13 non démontrable en audit externe. | MAJEUR |
| Code Contract — Invariant | Spec §4 (INV-283-xx) / Code contracts (temp-file-manager, export-ui, etc.) | Plusieurs “invariants” des contracts ne sont pas un sous-ensemble des invariants de la spec (ex. “registre persisté AsyncStorage”, contraintes UI CA). | Rupture de traçabilité normative entre contrat code et base contractuelle. | MAJEUR |
| Code Contract — Frontière | Plan C5/C10 / Code contracts (pvproof-assembler, export-orchestrator) | Chevauchement de responsabilité sur le nommage final .pvproof dans plusieurs modules contractuels. | Frontières de responsabilité ambiguës en audit de conformité composant par composant. | MINEUR |
| Contrainte technique non documentée | Exigence §7 revue / Plan (absence section “Contraintes techniques”) | Dépendances inter-PD non listées avec statut explicite DONE/TODO/STUB. | Traçabilité de dépendances incomplète pour exécution contractuelle. | MINEUR |
| Contrainte technique non documentée | Exigence §7 revue / Plan (absence section “Contraintes techniques”) | Framework de test (Jest ou Vitest) non explicitement choisi. | Ambiguïté de runner de tests et de reproductibilité des scénarios. | MAJEUR |
| Contrainte technique non documentée | Exigence §7 revue / Plan (absence section “Contraintes techniques”) | Compatibilité ESM/CJS des dépendances critiques non documentée, runner adapté non précisé. | Risque d’échec d’exécution tests/build non anticipé. | MAJEUR |
| Contrainte technique non documentée | Exigence §7 revue / Plan (absence section “Contraintes techniques”) | Variables CI nécessaires (DATABASE_URL, CI=true, etc.) non documentées. | Exécution CI potentiellement non déterministe pour tests d’intégration/perf. | MINEUR |