Aller au contenu

PD-273 — Review de spécification contractuelle

🎯 Résultats de l'audit technique

Points identifiés

1. Ambiguïtés terminologiques (contradictions internes)

Type : Contradiction
Référence : PD-273-specification.md sections 3 et 9
Description : Le terme "checks ciblés" est utilisé de manière ambiguë. Section 3 définit "Check" comme une règle unitaire, mais dans tout le document les "3 checks ciblés" sont parfois appelés "checks PARTIEL à corriger", parfois "checks ciblés en statut OK attendu". Cette ambiguïté terminologique constitue une contradiction interne sur l'identification précise des checks.
Impact : Impossibilité d'identifier de manière déterministe quels checks exactement doivent passer de PARTIEL à OK.
Gravité : Bloquant
Type : Ambiguïtés
Référence : PD-273-specification.md section 10.1
Description : "Stack contractuelle à respecter : NestJS + TypeORM + PostgreSQL" sans précision de versions, de contraintes d'implémentation ou de lien avec les checks d'audit formels.
Impact : Incertitude sur les contraintes techniques réelles pour l'alignement de conformité.
Gravité : Majeur

2. Contradictions entre spécification et tests

Type : Contradiction
Référence : Spec INV-273-01 vs Tests TC-NOM-273-04
Description : L'invariant INV-273-01 exige "exactement 3 checks ciblés en OK (ni moins, ni plus)" mais le test TC-NOM-273-04 vérifie seulement "le résultat est exactement 3/3" sans garantir qu'il s'agit des bons checks. Un scénario où 3 autres checks passeraient en OK satisferait le test mais violerait l'invariant.
Impact : Le test ne valide pas réellement l'exigence contractuelle.
Gravité : Bloquant
Type : Incohérence Spec↔Tests
Référence : Spec section 2 (Hors périmètre) vs Tests section 9
Description : La spécification exclut explicitement "toute exigence de performance" du périmètre, mais les tests section 8 mentionnent "Observable : timestamp" et "horodaté" impliquant des contraintes temporelles non spécifiées.
Impact : Les tests couvrent potentiellement des exigences hors périmètre.
Gravité : Majeur

3. Règles non testables

Type : Non testable
Référence : PD-273-specification.md INV-273-03, INV-273-04, INV-273-05
Description : Les invariants font référence à une "sémantique de conformité" et une "sémantique attendue par l'audit formel" sans définir ces sémantiques de manière observable. L'expression "DOIT être reconnue" est subjective.
Impact : Impossible de déterminer objectivement si les invariants sont satisfaits.
Gravité : Bloquant
Type : Non testable
Référence : Tests TC-NOM-273-06
Description : Le test vérifie que "PARTIEL -> OK est accepté si observé" mais ne définit pas les conditions précises qui rendent cette transition valide, ni comment distinguer un vrai alignement d'un faux positif.
Impact : Test non déterministe.
Gravité : Majeur

4. Hypothèses dangereuses

Type : Hypothèse dangereuse
Référence : PD-273-specification.md H-273-01
Description : L'hypothèse "La baseline de référence confirme exactement 3 checks PARTIEL et 21 checks non ciblés conformes" rend toute la spécification dépendante d'un état initial non vérifié. Si cette baseline change, toutes les bornes numériques deviennent invalides.
Impact : Fragilité contractuelle totale en cas de divergence de baseline.
Gravité : Bloquant
Type : Hypothèse dangereuse
Référence : Tests section 8 (Observabilité requise)
Description : L'exigence d'"Export probatoire : artefact diff baseline vs run courant" suppose l'existence d'un mécanisme de diff non spécifié et la persistance de la baseline de référence.
Impact : Risque d'impossibilité technique de génération des preuves contractuelles.
Gravité : Majeur

5. Risques sécurité / conformité

Type : Risque sécu/conformité
Référence : PD-273-specification.md section 6 ERR-273-03-UNVERIFIABLE-RULE
Description : La règle permettant de classer des exigences comme "hors périmètre" sans validation formelle ouvre un contournement possible des obligations contractuelles.
Impact : Risque de non-conformité masquée par exclusion abusive d'exigences.
Gravité : Majeur
Type : Risque sécu/conformité
Référence : Tests TC-ERR-273-03
Description : Le test valide l'exclusion d'exigences "non vérifiables" mais ne définit pas les critères objectifs de cette classification, créant un risque d'auditabilité.
Impact : Trou potentiel dans la traçabilité probatoire.
Gravité : Majeur

6. Incohérences de structure contractuelle

Type : Incohérence Spec↔Tests
Référence : Spec section 1 (paramètres numériques) vs Tests matrice section 2
Description : La spécification contractualise des "bornes (min/max)" strictes (min=3/max=3) mais la matrice de tests ne vérifie pas explicitement le respect de ces bornes dans tous les scénarios d'erreur.
Impact : Possible acceptation silencieuse de valeurs hors bornes contractuelles.
Gravité : Majeur

7. Ambiguïtés sur les transitions d'état

Type : Ambiguïté
Référence : PD-273-specification.md INV-273-06
Description : La règle de transition "OK -> PARTIEL autorisée uniquement si régression détectée à une exécution ultérieure" ne définit pas précisément ce qui constitue une "régression détectée" ni qui/quoi effectue cette détection.
Impact : Indétermination sur la validité des transitions retour.
Gravité : Majeur

📊 Synthèse des points critiques

Points bloquants identifiés : 4 - Ambiguïté terminologique sur l'identification des checks ciblés - Contradiction test/invariant sur la vérification des bons checks - Invariants non testables (sémantiques non définies) - Dépendance critique à une baseline non garantie

Points majeurs identifiés : 6 - Stack technique non contrainte - Incohérences périmètre spec/tests
- Tests non déterministes - Hypothèses dangereuses sur la persistance - Risques de contournement de conformité - Bornes contractuelles non systématiquement testées

Recommandation d'audit : NON_CONFORME

La spécification présente des défauts structurels qui compromettent sa contractualisation et son implémentation fiable par une équipe tierce.