| Non-conformité Spec | Spec §5.7 / Plan §6.2 | Le plan introduit un max_replanification_cycles qui bloque FAILED -> SCHEDULED au-delà d’un seuil, alors que la transition est contractuellement autorisée sans borne explicite. | Règle contractuelle affaiblie par ajout de contrainte non spécifiée. | MAJEUR |
| Non-conformité Spec | Spec §5.8 (colonne « Hors bornes ») / Plan §1.1 MOD-12 | Le plan annonce un mécanisme générique de clamp des valeurs hors bornes, alors que la spec impose un rejet sur plusieurs paramètres (fréquence, heure, rétention, retry). | Comportement runtime divergent du contrat sur la validation de configuration. | MAJEUR |
| Couverture manquante | INV-47-05 / Spec §4, §5.6 / Plan §1.1 MOD-07, §3 (INV-47-05) | La déduplication est implémentée sur (backup_id, event_type) et non explicitement sur backup_id seul comme exigé par l’invariant. | Le mécanisme de déduplication peut laisser passer des doublons auditables au même backup_id. | MAJEUR |
| Test irréalisable | TC-ERR-08 / Tests §4 / Plan §5.2 (TC-ERR-08) | Le plan mappe TC-ERR-08 sur un hash invalide (ERR-47-04) au lieu d’un échec de restauration trimestrielle avec incident conformité et interdiction de clôture sans plan d’action. | Le scénario contractuel TC-ERR-08 n’est pas réalisable tel que décrit dans le plan. | BLOQUANT |
| Couverture manquante | ERR-47-04 / Tests TC-ERR-04 / Plan §1.1 MOD-05, §2.1 étape 9 | La vérification post-upload est décrite via HeadObject + ETag pour comparer un expected_hash SHA3-256, sans mécanisme explicite de correspondance cryptographique contractuelle. | Détection d’intégrité post-upload non démontrable au niveau attendu par les tests contractuels. | MAJEUR |
| Hypothèse implicite | Spec §4 INV-47-03, INV-47-09 / Plan §8 H-TECH-05 | Le plan introduit un fallback HKDF local si Vault Transit est indisponible. Ce mode n’est pas contractualisé dans la spec. | Introduction d’un comportement crypto implicite hors cadre contractuel. | MAJEUR |
| Risque sécu/conformité | Spec §5.6 / Plan §2.1, §3 (INV-47-05) | Le plan ne démontre pas explicitement la garantie « au moins un événement append-only par tentative » dans tous les chemins d’échec précoces (ex. avant écriture SUCCESS), alors que l’exigence couvre succès/échec. | Risque de rupture de traçabilité probatoire sur tentatives échouées. | MAJEUR |
| Code Contract — Cohérence | Spec §5.6 (crash post-commit) / Plan §1.1 MOD-09 / Code Contracts CC-47-08 | Le contrat CC-47-08 borne la réconciliation au cas RUNNING sans objet, alors que la spec exige une réconciliation observable jusqu’à cohérence état↔objet↔journal post-crash. | Périmètre de réconciliation contractuelle incomplet dans les interfaces déclarées. | MAJEUR |
| Code Contract — Invariant | Spec §4 (INV-47-01..09) / Code Contracts CC-47-14 | CC-47-14 déclare des « invariants » non référencés comme sous-ensemble des invariants de la spec. | Incohérence de gouvernance contractuelle entre invariants normatifs et invariants de contrat de code. | MINEUR |
| Contrainte technique non documentée | Plan (absence section dédiée « Contraintes techniques ») | Le plan ne contient pas une section explicite « Contraintes techniques » au format demandé. | Traçabilité incomplète des contraintes exigées pour audit externe. | MINEUR |
| Contrainte technique non documentée | Plan §11-§Périmètre de test | Le runner de tests n’est pas explicitement choisi (Jest ou Vitest). | Ambiguïté d’exécution CI/tests ; non-conformité de documentation du framework de test. | MAJEUR |
| Contrainte technique non documentée | Plan (global) | Compatibilité ESM/CJS et dépendances ESM-only non documentées. | Risque d’échec d’exécution des tests selon le runner/runtime. | MAJEUR |
| Contrainte technique non documentée | Plan (global) | Variables CI requises pour tests d’intégration (ex. DATABASE_URL, CI=true) non documentées. | Exécutabilité CI partielle et reproductibilité test réduite. | MINEUR |