- Story ID : PD-84
- Gate : 3 (CONFORMITY_CHECK)
- Itération : v3 (3/3 — plafond)
- Documents audités :
PD-84-specification.md v1.2.0 PD-84-tests.md v1.2.0 - P1 (Review) : Claude (
claude -p) — 0 BLOQUANT, 4 MAJEURS, 11 MINEURS - P2 (Confrontation) : ChatGPT (OpenCode) — 4 divergences, 6 zones d'ombre
- Date : 2026-02-24
Synthèse des écarts
Écarts MAJEURS (5 confirmés)
| # | Type | Réf | Description | Critère impacté |
| MAJ-01 | Hypothèse dangereuse | Spec 3.2.2 / TC-SLA-01 | SLA p95<5s : point de départ/arrivée non défini, fréquence polling et N non spécifiés | completeness |
| MAJ-02 | Incohérence Spec↔Tests | Spec 3.2.3 / TC-18 (DIV-01) | TC-18 teste downgrade PREMIUM→FREE non spécifié dans la spec | testability |
| MAJ-03 | Non testable | Spec SEC-84-03 | PD-31 indisponible : résilience exigée mais aucun test ne couvre le mode dégradé | testability |
| MAJ-04 | Incohérence | F-84-04, F-84-05 vs Spec 3.3 | Quotas 100 docs non qualifiés "plan FREE", contradiction avec levée PREMIUM | clarity |
| MAJ-05 | Contradiction | CA-84-08 vs Spec 3.2.1 (DIV-03) | "au-delà du quota" trompeuse pour dossier clôturé (refuse TOUT ajout) | clarity |
Écarts MINEURS (11)
| # | Type | Réf | Description | Critère |
| MIN-01 | Ambiguïté | Spec 3.2.3 / PUT /account/plan | Comportement endpoint quand ENABLE_PLAN_STUB=false non défini | completeness |
| MIN-02 | Ambiguïté | Spec 7.1 / POST /folders | display_name sans contrainte (longueur, unicité, vide) | completeness |
| MIN-03 | Non testable | Spec 9.1 | SLA paramétrable runtime : décision en suspens | completeness |
| MIN-04 | Hypothèse | Spec 3.4 / TC-LIM-01/02 | Barrière client ne garantit pas concurrence serveur | testability |
| MIN-05 | Incohérence | TC-16 → INV-84-04 | Mapping incorrect (catégorie invalide ≠ quota) | testability |
| MIN-06 | Ambiguïté | Spec 7.2 | Mapping codes HTTP ↔ codes métier incomplet | testability |
| MIN-07 | Ambiguïté | Spec 3.1 / document_type | OTHER_SUPPORTED non défini, pas de test type invalide | clarity |
| MIN-08 | Hypothèse | Spec 3.1 / AuditLogEvent | File d'attente PD-84 vs PD-31 non clarifié | clarity |
| MIN-09 | Risque sécu | Spec 3.2.3 / PUT /account/plan | Authentification renforcée endpoint stub non définie | clarity |
| MIN-10 | Incohérence | P2-DIV-02 | ECT-03/ECT-07 couverture PREMIUM revendiquée mais TC-09 ne teste que FREE | traceability |
| MIN-11 | Ambiguïté | Spec 7.1 / CA-84-04 | Pas de test explicite PREMIUM > 100 docs | traceability |
Scoring
Méthode : Base 10, -1 par MAJEUR, -0.25 par MINEUR. Attribution par critère.
completeness (exhaustivité fonctionnelle)
| Écart | Impact |
| MAJ-01 (SLA conditions mesure) | -1.0 |
| MIN-01 (stub comportement prod) | -0.25 |
| MIN-02 (display_name validation) | -0.25 |
| MIN-03 (SLA paramétrable) | -0.25 |
| Total | 8.25 |
testability (testabilité des exigences)
| Écart | Impact |
| MAJ-02 (downgrade hors spec) | -1.0 |
| MAJ-03 (PD-31 non testé) | -1.0 |
| MIN-04 (barrière concurrence) | -0.25 |
| MIN-05 (TC-16 mapping) | -0.25 |
| MIN-06 (HTTP codes mapping) | -0.25 |
| Total | 7.25 |
clarity (précision contractuelle)
| Écart | Impact |
| MAJ-04 (F-84-04/05 non qualifiées) | -1.0 |
| MAJ-05 (CA-84-08 formulation) | -1.0 |
| MIN-07 (document_type) | -0.25 |
| MIN-08 (AuditLogEvent file) | -0.25 |
| MIN-09 (auth stub) | -0.25 |
| Total | 7.25 |
traceability (traçabilité INV/CA/TC)
| Écart | Impact |
| MIN-10 (DIV-02 couverture ECT) | -0.25 |
| MIN-11 (PREMIUM >100 docs) | -0.25 |
| Total | 9.5 |
Convergence
| Itération | Moyenne | Delta |
| v1 | 6.625 | — |
| v2 | 8.188 | +1.563 |
| v3 | 8.0625 | -0.125 |
Delta v3 = -0.125 (< 0.5) et mean = 8.0625 (>= 7) → STOP — convergence atteinte.
Recommandation
La moyenne v3 (8.0625) est supérieure à 7, mais 2 critères (testability=7.25, clarity=7.25) sont inférieurs à 8. Selon les règles de dérivation :
Moyenne >= 7 MAIS au moins un score < 8 → RESERVE
Verdict attendu : RESERVE (8.0625/10)
Les 5 majeurs sont des imprécisions contractuelles (SLA mesure, downgrade non spécifié, PD-31 non testé, qualifications plan manquantes, formulation CA) — aucun n'est un blocage fonctionnel.