Aller au contenu

PD-279 — Plan d’implémentation : Revue

1. Références

  • Spécification : PD-279-specification.md
  • Tests contractuels : PD-279-tests.md
  • Plan d’implémentation : PD-279-plan.md
  • Date de revue : 2026-03-01
  • Reviewer : Auditeur technique indépendant (IA)

2. Constatations (écarts)

Type Référence (Spec/Test/Plan) Description Impact Gravité (BLOQUANT/MAJEUR/MINEUR)
Test irréalisable Tests d’entrée (section “DOCUMENT D’ENTRÉE : TESTS”) / Plan §5 (TC-*) Le contenu contractuel de PD-279-tests.md n’est pas présent dans les entrées (journal d’exécution/confirmation de génération uniquement). Les TC-* ne sont pas auditables ligne à ligne (préconditions, steps, observables). La cohérence Plan↔Tests ne peut pas être vérifiée de manière opposable par un tiers; l’axe 3 de revue est incomplet par manque d’artefact test contractuel exploitable. BLOQUANT
Non-conformité Spec Spec §5.1 (security_level validé par contrat existant, rejet si invalide) / Spec §6 / Plan §8 (Résolution HT-279-03) Le plan introduit un comportement de fallback (“valeur par défaut” si security_level absent) non spécifié contractuellement. Risque de masquage d’un défaut de données et de rupture de stricte conformité contractuelle sur la traçabilité des attestations. MAJEUR
Hypothèse implicite Spec INV-279-10 / Spec §5.5 / Plan §2.3, §3 (INV-279-10), §11 L’implémentation du contrôle “avant inclusion batch” est décrite de façon ambiguë (“selectEligible() ou méthode d’inclusion”), sans point d’ancrage unique explicitement verrouillé. Ambiguïté de design sur un contrôle anti-contournement explicitement non négociable; risque d’implémentation partielle selon le chemin runtime. MAJEUR
Couverture manquante Spec INV-279-10 / Spec §5.5 / Plan §5 (TC-NOM-05) La couverture de test listée ne démontre pas explicitement un test dédié du rejet 409 à l’étape d’inclusion batch (distinct de l’exécution et du soft-delete). L’invariant cross-module “double vérification inclusion + exécution” n’est pas démontré de façon explicite dans le plan de preuve. MAJEUR
Code Contract — Invariant Code Contracts module: tests / Spec §4 (INV-279-*) Le contract “tests” inclut un invariant Couverture >= 80% qui n’est pas un invariant de la spécification PD-279. Les invariants de code contract ne restent pas un sous-ensemble strict des invariants contractuels de la spec; dérive de périmètre normatif. MINEUR
Contrainte technique non documentée Exigence revue §7 (variables CI) / Plan (absence explicite) Les variables CI nécessaires à l’exécution des tests d’intégration (ex. DATABASE_URL, CI=true) ne sont pas documentées explicitement dans le plan. Risque d’exécution non reproductible en CI et d’échec non déterministe de la preuve d’acceptation. MINEUR
Code Contract — Forbidden Code Contracts module: restitution-sla-scheduler (forbidden BullMQ déprécié) / Spec sécurité-conformité L’interdiction de méthodes BullMQ dépréciées est de nature technique de maintenance, non rattachée explicitement à une exigence spec ou sécurité/conformité PD-279. Pollution normative des “forbidden patterns” par des règles non contractuelles; baisse de lisibilité audit. MINEUR

3. Synthèse

  • Nombre d’écarts par gravité : BLOQUANT: 1 | MAJEUR: 3 | MINEUR: 3
  • Points critiques :
  • Absence d’artefact tests contractuel exploitable dans les entrées (bloquant pour la vérification Plan↔Tests).
  • Comportement non spécifié sur security_level (fallback).
  • Ambiguïté de mise en œuvre et de preuve sur le contrôle d’inclusion destruction (INV-279-10).

4. Verdict de la revue

  • Statut : ⛔ Rejeté
  • Motif synthétique : Revue non validable contractuellement en l’état, avec un écart bloquant de testabilité (artefact tests non auditable) et plusieurs écarts majeurs de conformité/anti-ambiguïté sur des invariants non négociables.