| Non-conformité Spec | INV-281-01 / Spec §5.2 / Plan §1 C1, pseudo-code v2 | Le mécanisme d’inclusion reste basé sur ent_name in enum_type_map (niveau entité) et non sur un couple entité+colonne, alors que la discrimination contractuelle porte sur la colonne (status vs non-status) et les mappings explicites de colonne. | Inclusion possible d’enums non-status non éligibles, violation directe de la règle de discrimination. | BLOQUANT |
| Test irréalisable | TC-NOM-03 / Tests §3 / Plan §1 C1, §5 | TC-NOM-03 exige une traçabilité du mapping explicite pour un couple (entity_name, column_name). Le plan décrit une clé de décision centrée entité, sans point d’observabilité explicite de clé de couple. | Le scénario de preuve contractuelle TC-NOM-03 n’est pas réalisable tel que décrit. | BLOQUANT |
| Couverture manquante | INV-281-02 / Spec §5.2 (liste d’exclusions obligatoires) / Plan §3 | Le plan traite les 5 exclusions comme simple conséquence du filtre général, sans mécanisme explicite de garantie non-régressive de la liste contractuelle des exclusions. | Les exclusions obligatoires peuvent être réintroduites sans garde dédiée, compromettant CA-03/CA-05. | MAJEUR |
| Risque sécu/conformité | INV-281-01, INV-281-03 / Plan §1 C1 pseudo-code, §9.1 | anchored_enums[ent_name] est alimenté dans une boucle multi-enum; la clé par entité peut écraser une entrée précédente, avec perte silencieuse d’un enum d’état attendu. | Contournement possible d’invariants (ancrage incomplet), rupture d’auditabilité du résultat lint. | MAJEUR |
| Non-conformité Spec | Spec §1, §7 CA-01/CA-04, §9 H-281-01 / Plan §8 H-281-01 | Le plan introduit une divergence normative (“la Spec doit être mise à jour”) au lieu d’aligner l’exécution sur la spécification canonique contractuelle fournie. | Interprétation libre de la base contractuelle, risque de rejet en audit tiers. | MAJEUR |
| Hypothèse implicite | INV-281-02 / Plan §3, §5 | Le maintien de l’exclusion des 5 couples repose implicitement sur l’absence de ces entités dans _z_enum_type_mappings, propriété non contractualisée dans le plan. | Dépendance implicite pouvant invalider la discrimination en cas d’évolution du mapping. | MAJEUR |
| Code Contract — Cohérence | Code contracts discriminateur-enum forbidden / Plan §2 Flux D (3c) | Contradiction interne : le contrat interdit “modifier des entrées existantes dans _z_enum_type_mappings”, alors que le plan prévoit “mettre à jour _z_enum_type_mappings si nécessaire” pour le cas DepositStatus. | Contrat non exécutable de manière univoque, risque de non-conformité d’implémentation. | MAJEUR |
| Code Contract — Frontière | Code contracts completion-types-z vs condition-deposit-status | Chevauchement de périmètre de fichiers (NF_Z42_013.zed, ISO_14641.zed) entre deux modules contractuels distincts, sans règle d’arbitrage. | Ambiguïté de responsabilité, traçabilité d’audit affaiblie (séparation des responsabilités non nette). | MAJEUR |
| Contrainte technique non documentée | Exigence §7 “Contraintes techniques documentées” / Plan (aucune section dédiée) | Le plan ne documente pas explicitement le choix du framework de test (Jest/Vitest) ni la politique associée. | Ambiguïté d’exécution des tests contractuels côté runner; critère demandé absent. | MAJEUR |
| Contrainte technique non documentée | Exigence §7 “Compatibilité ESM/CJS” / Plan (aucune section dédiée) | Aucune documentation explicite des dépendances ESM-only et du runner adapté. | Risque d’échec de run en CI non anticipé; contrainte technique demandée absente. | MAJEUR |
| Contrainte technique non documentée | Exigence §7 “Dépendances inter-PD” / Plan (aucune section dédiée) | Aucune liste de dépendances inter-story avec statut DONE/TODO/STUB. | Traçabilité de dépendance incomplète, risque de blocage tardif non visible. | MINEUR |
| Contrainte technique non documentée | Exigence §7 “Variables CI” / Plan (aucune section dédiée) | Variables d’environnement CI non documentées (CI=true, DATABASE_URL, etc., si applicable aux tests d’intégration). | Reproductibilité CI partiellement documentée. | MINEUR |
| Non-conformité Spec | Axe “aucune règle ajoutée” / Plan §12 | Le plan introduit une règle “couverture minimale 80%” qui n’est pas présente dans la spécification canonique PD-281. | Ajout normatif hors contrat, écart de stricte conformité documentaire. | MINEUR |