PD-280-SPECIFICATION-REVIEW-V1
Review déposée. Voici le résumé :
PD-280 — Specification Review (Gate 3, v1)¶
15 constats identifiés par ChatGPT (auditeur indépendant) :
Bloquants (4)¶
| # | Type | Référence | Résumé |
|---|---|---|---|
| 1 | Contradiction | INV-280-02 vs §5.1 | "DONE ssi non-null" autorise implicitement PENDING (non-null), mais les tests l'interdisent explicitement |
| 2 | Contradiction | §2 "exclu" vs INV-280-08 | La spec exclut les règles non testables, mais contient des invariants reconnus non testables (HSM/KMS) |
| 3 | Incohérence Spec↔Tests | TC-INV-05/06/08 | Tests référencés dans la matrice sans scénario Given/When/Then détaillé |
| 4 | Incohérence Spec↔Tests | §5.1 vs §5.2 vs TC-NEG-05 | nextCheckAfterSeconds hors bornes : rejet 500 ou clamp ? Oracle contradictoire |
Majeurs (10)¶
| # | Type | Référence | Résumé |
|---|---|---|---|
| 5 | Contradiction | INV-280-02 vs §5.1 | Dualité null (API) vs PENDING (interne) sans frontière contractuelle |
| 6 | Contradiction | Note domaine vs INV-280-08 | Invariant crypto/crypto-proof dans un cadrage legal-compliance |
| 7 | Ambiguïté | INV-280-03 | pendingReason/nextCheckAfterSeconds : obligatoires ou autorisés en PENDING ? |
| 8 | Ambiguïté | §5.3 "cycle" | Notion de "cycle de vérification" non matérialisée contractuellement |
| 9 | Incohérence Spec↔Tests | Matrice vs verdict §10 | Verdict "couverture définie" contredit les couvertures "Partielle" de la matrice |
| 10 | Incohérence Spec↔Tests | TC-NOM-01 audit | Test impose journal d'audit non contractualisé comme CA |
| 11 | Non testable | CA-09 | Diff documentaire sans autorité d'approbation |
| 12 | Non testable | INV-280-08 | HSM/KMS non vérifiable en QA standard |
| 13 | Hypothèse dangereuse | §5.⅖.3 | Transitions temporelles sans garde de concurrence explicite |
| 14 | Risque sécu/conformité | ERR-280-03/04 | Traçabilité sans contrat sur contenu minimal et conservation |
Mineurs (1)¶
| # | Type | Référence | Résumé |
|---|---|---|---|
| 15 | Incohérence Spec↔Tests | CA-10 vs tests | Bornes min/max de pendingResolutionTtl non testées explicitement |
Le fichier est dans : ProbatioVault-backend/docs/epics/legal-compliance/PD-280-pv-proof-etat-pending/PD-280-specification-review.md