| Non-conformité Spec | Spec §5.3 / CA-02 / Plan §1-C2, §9.2, Code Contracts architectural_decisions #2 | Le plan autorise explicitement une alternative où TimestampBatchStatus n’est pas présent dans RFC_3161.zed (usage de BatchState via mapping), alors que la spec impose la présence contractuelle de TimestampBatchStatus. | Violation directe de l’exigence contractuelle de complétude des types Z. | BLOQUANT |
| Test irréalisable | TC-NOM-05 / Spec §5.3 / Plan §1-C2, §5 | TC-NOM-05 exige la présence des types Z nommés exactement comme en spec; l’option planifiée BatchState (sans TimestampBatchStatus) rend ce scénario non satisfaisable tel qu’écrit. | Impossibilité d’obtenir un verdict de conformité testable sur le test nominal central de complétude des types. | BLOQUANT |
| Non-conformité Spec | Spec §5.2 (couple entity_name, column_name) / TC-NOM-03 / Plan §1-C1 pseudo-code | Le mécanisme de discrimination/mapping est décrit au niveau ent_name (entité seule), alors que la spec et les tests cadrent le comportement sur le couple (entité, colonne). | Risque de mauvaise discrimination pour entités multi-enums; dérive entre règle contractuelle et implémentation décrite. | MAJEUR |
| Couverture manquante | INV-281-01-discrimination / Plan §1-C1 pseudo-code (if ent_name not in z_mapping: continue) | Le plan ne démontre pas que toutes les colonnes status éligibles restent contrôlées indépendamment de la présence dans z_mapping; un filtre préalable peut exclure des status sans preuve de complétude de z_mapping. | Invariant de discrimination potentiellement contournable (faux négatifs Anchor enum). | MAJEUR |
| Hypothèse implicite | Plan §8 (H-281-02) / Plan §9.1 | Le plan laisse ouverte une bifurcation structurante (“conserver mono-enum ou passer multi-enum”) sans verrou contractuel final. | Ambiguïté d’implémentation sur un point critique de couverture; audit tiers non déterministe sur le design cible. | MAJEUR |
| Test irréalisable | TC-NOM-03 / Plan §5 (point d’observation) | Le test demande une traçabilité explicite au mapping du couple (entity_name, column_name); le plan n’explicite qu’une observation par entité/type, sans point d’observabilité contractuel du couple de clé. | Critère de traçabilité du test non démontré; validation du scénario incomplète. | BLOQUANT |
| Risque sécu/conformité | Axe 5 (auditabilité) / Plan §7, §3-C3 | Le plan conclut “Aucun impact sécurité identifié” mais ne documente pas de mécanisme d’intégrité/provenance des mises à jour d’artefacts probatoires (_generated-z-lint.yaml, AUDIT-SYNTHESIS.md) dans la chaîne de preuve. | Risque de rupture d’auditabilité et de contestabilité de la preuve de conformité. | MAJEUR |
| Code Contract — Cohérence | Code Contracts architectural_decisions #2 / Spec §5.3 / INV-281-03 | La décision architecturale “mapping timestamp_batch -> BatchState” est en contradiction avec la contrainte spec “TimestampBatchStatus doit exister” et avec l’invariant de complétude repris dans les contracts. | Incohérence contractuelle interne (spec vs code contracts), bloquante pour audit externe. | BLOQUANT |
| Code Contract — Invariant | Code Contracts module discriminateur-enum / Spec INV-281-01 | Le contract d’invariant n’encadre pas explicitement la dimension colonne dans l’interface déclarée (centrage sur entité/fonction), alors que l’invariant dépend de field. | Garantie d’invariant partielle dans le contrat de code; risque de conformité non vérifiable au niveau frontière contractuelle. | MAJEUR |
| Contrainte technique non documentée | Plan (absence section “Contraintes techniques”) / Dépendances inter-PD | Le plan ne liste pas les dépendances inter-PD avec statut DONE/TODO/STUB. | Manque de traçabilité de dépendances de livraison. | MINEUR |
| Contrainte technique non documentée | Plan (absence section “Contraintes techniques”) / Framework de test | Aucun choix explicite Jest/Vitest n’est documenté, ni justification de non-applicabilité. | Ambiguïté sur le runner de test attendu dans la gouvernance demandée. | MAJEUR |
| Contrainte technique non documentée | Plan (absence section “Contraintes techniques”) / Compatibilité ESM/CJS | Aucune identification des dépendances ESM-only/CJS ni du runner adapté. | Risque d’échec d’exécution de tests lié à l’environnement outillage. | MAJEUR |
| Contrainte technique non documentée | Plan (absence section “Contraintes techniques”) / Variables CI | Variables CI requises (DATABASE_URL, CI=true, etc.) non documentées / non qualifiées comme non applicables. | Faible auditabilité de la reproductibilité d’exécution CI. | MINEUR |