Aller au contenu

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

1. Références

  • Spécification : PD-295-specification.md
  • Tests contractuels : PD-295-tests.md
  • Plan d’implémentation : PD-295-plan.md
  • Date de revue : 2026-04-12
  • 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 Spec INV-295-14, ERR-295-06 / Tests TC-NOM-13, TC-ERR-06 / Plan §2.5 step 6, §5 (mapping TC), §6 ERR-295-06 Le plan impose _aucun résultat_ alors que la spec/tests contractualisent aucun résultat (exact). Verdict de test non déterministe sur la chaîne attendue. BLOQUANT
Test irréalisable Spec INV-295-15, ERR-295-04/05 / Tests TC-NOM-14, TC-ERR-04, TC-ERR-05 / Plan §2.5 step 6 vs §6 ERR-295-04/05 Le plan est contradictoire sur erreur source: section="_source indisponible_" vs “section vide”. Impossibilité d’auditer un comportement unique pour les erreurs source. BLOQUANT
Non-conformité Spec Spec §5.1 D-295-15, §5.5 step 2, INV-295-03 / Plan §2.2 step 3 Le plan autorise PD-XXX-clarifications-{timestamp}.md, non conforme à ^PD-[0-9]{1,4}-clarifications\.md$. Non-respect du format contractuel de persistance. MAJEUR
Non-conformité Spec Spec §4 (invariants non négociables) / Plan §3 “Invariants ajoutés par le plan” Le plan introduit des invariants normatifs hors spec (INV-plan-03/06/07/08/09). Le périmètre contractuel devient plus large que la spec canonique. MAJEUR
Couverture manquante Spec §5.1 D-295-17 / Tests TC-NEG-01 / Plan §2.1, §2.2, §2.5 Aucun mécanisme explicite ne mappe/valide source_kind. Couverture partielle du modèle D-295 en validation adverse. MAJEUR
Hypothèse implicite Spec §5.5 step 2 / Test TC-NOM-03 / Plan §1 (confinement scripts/data), §2.2 step 2 Le “dossier epic” cible pour PD-XX-clarifications.md n’est pas spécifié opérationnellement. Observabilité de conformité de localisation non démontrable. MAJEUR
Hypothèse implicite Plan §2bis (Mermaid), note sous diagramme, code-contracts waves.wave_1_foundations.parallel:false Le diagramme indique “Wave 1 — parallèle” alors que l’ordonnancement imposé est sériel. Ambiguïté d’exécution et de traçabilité des dépendances agents. MINEUR
Risque sécu/conformité Spec §5.5 step 5 / Plan §2.2 step 3, §8 H-05/H-06 Ré-entrées clarifications accumulées et toutes indexées, sans borne de rétention documentée. Surface de conservation des verbatims accrue, audit de minimisation plus difficile. MINEUR
Code Contract — Invariant Code-contracts clarifications-store.invariants (regex filename) / Spec D-295-15 Le code contract étend le pattern filename avec suffixe horodaté, non prévu dans la spec. Invariant code contract non sous-ensemble de la spec. MAJEUR
Code Contract — Cohérence Code-contracts injection.invariants (“Exception source → section vide”) / Plan §2.5 step 6 (_source indisponible_) Incohérence directe plan ↔ code contract sur le mode dégradé. Double vérité contractuelle, audit tiers non déterministe. MAJEUR
Code Contract — Invariant Code-contracts (data-format/jsonl-atomic/injection/lifecycle) / Spec §4 Plusieurs invariants contractuels sont additionnels à la spec (unicité globale canonicalisation, obligation jsonl_atomic, tie-break tertiaire). Le contrat code peut invalider une implémentation pourtant conforme à la spec canonique. MAJEUR
Contrainte technique non documentée Plan (aucune section “Contraintes techniques”) Dépendances inter-PD avec statut DONE/TODO/STUB absentes. Traçabilité de dépendances incomplète. MINEUR
Contrainte technique non documentée Plan (tests) Choix explicite Jest/Vitest non documenté (runner demandé dans la grille de revue). Ambiguïté de runner contractuel côté audit outillage. MAJEUR
Contrainte technique non documentée Plan (global) Compatibilité ESM/CJS et stratégie runner pour dépendances ESM-only non documentées. Risque d’échec d’exécution CI/local non cadré. MAJEUR
Contrainte technique non documentée Plan (global) Variables CI requises pour campagnes d’intégration non documentées. Reproductibilité CI partielle. MINEUR

3. Synthèse

  • Nombre d’écarts par gravité : BLOQUANT: 2 / MAJEUR: 9 / MINEUR: 4
  • Points critiques : comportement B5 non déterministe sur sorties contractuelles (aucun résultat, section vide), non-conformité du format de fichier clarifications, divergence plan ↔ code contracts.

4. Verdict de la revue

  • Statut : ⛔ Rejeté
  • Motif synthétique : présence d’écarts BLOQUANTS sur la réalisabilité des tests contractuels et écarts MAJEURS de conformité spec/code-contracts.