| Test irréalisable | Test TC-250-16 / Spec INV-250-05 §10.4b / Plan §6.2 | TC-250-16 est mappé en test unitaire mocké alors que le scénario exige validation ACID réelle (crash post-S3/pré-commit), monotonie PostgreSQL et non-perte transactionnelle. | L’invariant de mesurabilité d’audit (non-perte, ordre causal, complétude) n’est pas démontrable selon le plan de test décrit. | BLOQUANT |
| Non-conformité Spec | Spec §5.9 / Plan TASK-12, TASK-13, §4.4 MIN-11 | La spec impose parentBatchId obligatoire dans l’audit log des batches de reprise; le plan l’implémente et le teste au niveau destruction_batches, pas explicitement au niveau audit log. | Rupture de traçabilité contractuelle de filiation inter-batch en audit externe. | MAJEUR |
| Non-conformité Spec | Spec §5.8 / Plan TASK-11, §9.1 | La spec exige un job préavis quotidien; le plan lie l’ordonnancement préavis à DESTRUCTION_JOB_INTERVAL (1..168h), ce qui autorise des fréquences non quotidiennes. | Déviation contractuelle possible sur la temporalité de préavis. | MAJEUR |
| Non-conformité Spec | Spec INV-250-05 (séquence audit_seq) / Plan HYP-IMPL-07, TASK-06, TASK-13 | La spec contractualise l’ordonnancement causal via séquence audit_seq; le plan définit et exploite audit_destruction_seq. | Divergence de contrat explicite sur le mécanisme de monotonie auditable. | MAJEUR |
| Hypothèse implicite | Spec §3 (définition flux legal_lock) / Plan TASK-09, HYP-IMPL-10 | La détermination du flux legal_lock repose sur backfill depuis état courant (legal_lock/legal_lock_until) sans preuve explicite d’exhaustivité historique “a été assigné à un moment quelconque”. | Risque de classification erronée du flux juridique. | MAJEUR |
| Risque sécu/conformité | Spec INV-250-12 / Plan TASK-09 | Si had_legal_lock est incomplet, un document du flux legal_lock peut être traité sans zeroization obligatoire. | Contournement d’un invariant probatoire de destruction cryptographique. | MAJEUR |
| Couverture manquante | Spec INV-250-10 / Test TC-250-06, TC-250-14 / Plan TASK-04, TASK-07 | Le plan ne formalise pas explicitement le chaînage systématique “erreur unitaire -> alerte émise” pour tous cas partiels (la partie alerte est traitée globalement/SLA). | Observabilité partielle non garantie pour certaines erreurs unitaires. | MAJEUR |
| Code Contract — Complétude | Code contracts / Plan §2.1 (arborescence cible) | Des éléments explicitement planifiés ne sont pas couverts par un contrat dédié (ex. destruction.module.ts, destruction-batch.entity.ts, enums). | Zones sans frontière contractuelle explicite dans l’exécution multi-agents. | MINEUR |
| Code Contract — Invariant | Code contracts (plusieurs modules) / Spec INV-* | Plusieurs “invariants” de contrats de code ne sont pas un sous-ensemble strict des invariants de spec (ex. contraintes de style/configuration internes, MAJ-*). | Dilution du périmètre contractuel et ambiguïté audit “spec vs conventions d’implémentation”. | MINEUR |