PD-244 — Review Gate 3 (Spécification)¶
Reviewer : Claude (auditeur technique indépendant) Date : 2026-02-20 Documents audités :
- PD-244-specification.md (ChatGPT)
- PD-244-tests.md (ChatGPT)
- PD-244-besoin.md (Claude)
Points identifiés¶
ECT-01 — Ambiguïté¶
Type : Ambiguïté Référence : specification.md, section 11.2, point "Méthode contractuelle de calcul du score global de conformité" Description : CA-PD244-06 exige un "score global de conformité" mais la méthode de calcul n'est pas définie. La spécification identifie elle-même ce point comme "non fourni", ce qui rend le critère non déterministe. Impact : Deux auditeurs appliquant des méthodes différentes (% d'exigences CONFORME, pondération par criticité, exclusion HORS_PERIMETRE, etc.) produiront des scores différents. Gravité : Majeur
ECT-02 — Ambiguïté¶
Type : Ambiguïté Référence : specification.md, section 11.2, point "Règles formelles de priorité des gaps" Description : Le schéma YAML définit severity: "HIGH" # LOW | MEDIUM | HIGH | CRITICAL mais aucune règle ne définit les critères d'attribution de chaque niveau. Impact : Attribution subjective des priorités, rendant TC-GAP-001 partiellement non déterministe sur le champ priority. Gravité : Mineur
ECT-03 — Ambiguïté¶
Type : Ambiguïté Référence : specification.md, section 11.2, point "Version exacte de NF Z42-013" Description : La spécification exige de cartographier 100% des exigences NF Z42-013 (CA-PD244-02) mais la version de la norme n'est pas spécifiée. Si la version diffère (ex: 2009 vs 2020), le référentiel d'exigences change. Impact : Impossible de valider TC-CONT-002 sans inventaire de référence figé. Gravité : Bloquant
ECT-04 — Non testable¶
Type : Non testable Référence : specification.md, section 7, INV-PD244-08 Description : L'invariant stipule "aucune citation réutilisable des PDF normatifs protégés par copyright au-delà des métadonnées nécessaires". Le terme "citation réutilisable" et "métadonnées nécessaires" sont subjectifs. Impact : TC-CONT-005 est marqué "Partiellement automatisable" avec "revue manuelle juridique" mais aucun critère objectif n'est fourni pour distinguer paraphrase conforme vs citation problématique. Gravité : Majeur
ECT-05 — Incohérence Spec ↔ Tests¶
Type : Incohérence Spec↔Tests Référence : tests.md, TC-GAP-001 vs specification.md, section 4.2 Description : TC-GAP-001 vérifie les champs obligatoires (gap_id, requirement_id, story_id, owner, priority, status, target_date) mais le schéma YAML de la spec (section 4.2) définit les gaps avec : id, description, severity, planned_story, epic_parent. Divergence sur les noms de champs (gap_id vs id, story_id vs planned_story, priority vs severity, target_date absent du schéma). Impact : Le test TC-GAP-001 valide des champs qui n'existent pas dans le schéma spécifié. Gravité : Bloquant
ECT-06 — Incohérence Spec ↔ Tests¶
Type : Incohérence Spec↔Tests Référence : tests.md, section 7 (matrice de traçabilité) vs specification.md, section 7 (invariants) Description : TC-CONT-005 couvre INV-PD244-08 mais n'est associé à aucun CA. Or INV-PD244-08 devrait être couvert par CA selon la matrice INV→CA (section 9 de la spec) mais INV-PD244-08 pointe vers CA-PD244-01, CA-PD244-02, CA-PD244-05 — aucun de ces CA ne mentionne le copyright. Impact : La traçabilité INV-PD244-08 est incohérente entre spec et tests. Gravité : Mineur
ECT-07 — Hypothèse dangereuse¶
Type : Hypothèse dangereuse Référence : specification.md, section 6 (Processus d'audit), étape 1 Description : L'étape 1 "Inventaire normatif : lister toutes les sections/exigences des deux normes" suppose que l'inventaire de référence existe ou sera produit. Aucun artefact PD-244-inventaire-reference.yaml n'est listé dans la section 10. Impact : Sans inventaire de référence figé, TC-CONT-001 et TC-CONT-002 ne peuvent pas valider la complétude (pas de baseline de comparaison). Gravité : Bloquant
ECT-08 — Ambiguïté¶
Type : Ambiguïté Référence : specification.md, section 4.2, champ controls.review_frequency Description : Le schéma définit review_frequency: "<mensuelle|trimestrielle|semestrielle|annuelle>" comme champ du contrôle, mais aucun invariant ni CA ne spécifie son caractère obligatoire ou son utilisation. Impact : Champ potentiellement mort (jamais vérifié par les tests). Gravité : Mineur
ECT-09 — Contradiction¶
Type : Contradiction Référence : besoin.md, section 5 (CA-04) vs specification.md, section 8 (CA-PD244-04) Description : Le besoin stipule "CA-04 : Chaque gap a une story Jira créée" impliquant une création effective. La spec stipule "CA-PD244-04 : au moins un gap est documenté avec une story de remédiation rattachée à l'epic parent PD-217" — documenté vs créée. Impact : La spec ne garantit pas la création Jira effective, seulement la documentation d'un identifiant PD-XXX dans le YAML. Gravité : Majeur
ECT-10 — Non testable¶
Type : Non testable Référence : specification.md, section 5, définition de PARTIEL Description : PARTIEL est défini comme "au moins un sous-aspect non couvert ou insuffisamment prouvé". Le terme "insuffisamment prouvé" est subjectif sans seuil quantifiable. Impact : Deux auditeurs pourraient qualifier différemment la même exigence (CONFORME vs PARTIEL). Gravité : Mineur
ECT-11 — Incohérence Spec ↔ Tests¶
Type : Incohérence Spec↔Tests Référence : tests.md, TC-YAML-005 vs specification.md, section 4.3 Description : TC-YAML-005 vérifie "la présence d'une justification, d'un critère de testabilité et d'un élément de contexte (scope/projet)" pour HORS_PERIMETRE. Le schéma YAML (section 4.2) ne définit qu'un seul champ status_justification pour HORS_PERIMETRE — pas de champ testability_criteria ni context. Impact : Le test vérifie des champs non définis dans le schéma. Gravité : Majeur
Synthèse des écarts¶
| ID | Type | Gravité | Résumé |
|---|---|---|---|
| ECT-01 | Ambiguïté | Majeur | Score global non déterministe |
| ECT-02 | Ambiguïté | Mineur | Règles de priorité gaps non définies |
| ECT-03 | Ambiguïté | Bloquant | Version NF Z42-013 non spécifiée |
| ECT-04 | Non testable | Majeur | Copyright "citation réutilisable" subjectif |
| ECT-05 | Incohérence Spec↔Tests | Bloquant | Schéma gaps diverge entre spec et tests |
| ECT-06 | Incohérence Spec↔Tests | Mineur | Traçabilité INV-PD244-08 incohérente |
| ECT-07 | Hypothèse dangereuse | Bloquant | Inventaire de référence absent |
| ECT-08 | Ambiguïté | Mineur | Champ review_frequency non utilisé |
| ECT-09 | Contradiction | Majeur | CA gap "créée" vs "documentée" |
| ECT-10 | Non testable | Mineur | "insuffisamment prouvé" subjectif |
| ECT-11 | Incohérence Spec↔Tests | Majeur | TC-YAML-005 vérifie champs non définis |
Conclusion¶
Écarts bloquants : 3 (ECT-03, ECT-05, ECT-07) Écarts majeurs : 4 (ECT-01, ECT-04, ECT-09, ECT-11) Écarts mineurs : 4 (ECT-02, ECT-06, ECT-08, ECT-10)
La spécification présente des incohérences structurelles entre le schéma YAML défini et les tests qui le valident. Les points bloquants concernent :
- L'absence de version figée de NF Z42-013 rendant CA-PD244-02 non vérifiable
- La divergence du schéma de gaps entre spec et tests
- L'absence d'inventaire de référence pour valider la complétude
Review produite conformément au template Gate 3 — aucune correction ni reformulation proposée.