1. Documents de reference
- Specification :
PD-280-specification.md (ChatGPT, etape 1) - Tests :
PD-280-tests.md (ChatGPT, etape 2) - Review :
PD-280-specification-review-v1.md (Claude, P1) - Confrontation :
PD-280-confrontation-step3-v1.md (ChatGPT, P2)
2. Synthese des ecarts
2.1 Ecarts BLOQUANTS
| ID | Type | Source | Reference | Description |
| ECT-01 | Contradiction | P1 #1 | INV-280-02 vs §5.1 | DONE ssi non-null autorise implicitement PENDING (non-null) mais INV-280-04 l'interdit apres finalisation. Incoherence du contrat de coherence. |
| ECT-02 | Contradiction | P1 #2 | §2 vs INV-280-08 | La spec exclut les regles non testables mais INV-280-08 (HSM/KMS) est reconnu non testable en QA standard. |
| ECT-03 | Incoherence Spec-Tests | P1 #3, P2 DIV-01 | TC-INV-05/06/08 vs matrice | Tests references dans la matrice de tracabilite sans scenario Given/When/Then detaille. INV-280-08 associe a CA-08 (non-regression) au lieu d'un critere crypto. |
| ECT-04 | Incoherence Spec-Tests | P1 #4, P2 DIV-02 | §5.1 vs TC-NEG-05 | nextCheckAfterSeconds hors bornes : spec dit rejet 500, test accepte "500 OU clamp". Oracle non deterministe. |
2.2 Ecarts MAJEURS
| ID | Type | Source | Reference | Description |
| AMB-01 | Ambiguite | P1 #5, P2 DIV-03 | INV-280-02 vs §5.1 | Dualite null (API) vs PENDING (interne) sans frontiere contractuelle explicite. Le contrat de sortie est interpretable de deux facons. |
| AMB-02 | Ambiguite | P1 #7 | INV-280-03 | pendingReason/nextCheckAfterSeconds : spec dit "presents uniquement si PENDING" mais ne precise pas s'ils sont OBLIGATOIRES ou OPTIONNELS en PENDING. |
| AMB-03 | Ambiguite | P1 #8 | §5.3 | Notion de "cycle de verification" non materialisee contractuellement. Pas de contract_id ou correlation_id. |
| DIV-01 | Divergence | P1 #6 | INV-280-08 | Invariant crypto (envelope encryption) dans un cadrage legal-compliance — hors domaine de la story. |
| DIV-02 | Incoherence | P1 #9 | Matrice couverture | Verdict "couverture definie" contredit les couvertures "Partielle" dans la matrice de tracabilite. |
| DIV-03 | Non testable | P1 #11 | CA-09 | Diff documentaire RFC sans autorite d'approbation definie. |
| DIV-04 | Non testable | P1 #12 | INV-280-08 | HSM/KMS non verifiable en QA standard. |
| SEC-01 | Risque securite | P1 #14 | ERR-280-03/04 | Tracabilite (journal d'audit) sans contrat sur contenu minimal et conservation. |
| AMB-04 | Hypothese | P1 #13 | §5.⅖.3 | Transitions temporelles sans garde de concurrence explicite. |
| DIV-05 | Tracabilite | P2 DIV-04 | Epic ref | Reference Epic non alignee entre documents (NON FOURNIE vs EPIC-XX). |
2.3 Ecarts MINEURS
| ID | Type | Source | Reference | Description |
| MIN-01 | Incoherence | P1 #15 | CA-10 vs tests | Bornes min/max de pendingResolutionTtl non testees explicitement. |
Completeness (exhaustivite de la spec)
- Base : 10
- ECT-02 (INV-280-08 non testable dans la spec) : -2
- AMB-01 (null vs PENDING non clarifie) : -1
- AMB-02 (pendingReason obligatoire/optionnel non precise) : -1
- AMB-03 (cycle non contractualise) : -1
- Score : 5.0
Testability (testabilite des exigences)
- Base : 10
- ECT-03 (TC references sans scenario detaille) : -2
- ECT-04 (oracle non deterministe nextCheckAfterSeconds) : -2
- DIV-03 (CA-09 non testable) : -1
- DIV-04 (INV-280-08 non testable) : -1
- MIN-01 (pendingResolutionTtl non teste) : -0.25
- Score : 3.75
Clarity (precision et non-ambiguite)
- Base : 10
- ECT-01 (contradiction DONE/PENDING/null) : -2
- AMB-01 (dualite null/PENDING) : -1
- AMB-02 (champs conditionnels ambigus) : -1
- AMB-04 (concurrence non traitee) : -1
- Score : 5.0
Traceability (tracabilite spec-tests)
- Base : 10
- ECT-03 (matrice de tracabilite incomplete) : -2
- DIV-02 (couverture "Partielle" contredit verdict) : -1
- DIV-05 (Epic reference manquante) : -1
- SEC-01 (audit log non contractualise) : -1
- Score : 5.0
4. Resume
| Critere | Score |
| completeness | 5.0 |
| testability | 3.75 |
| clarity | 5.0 |
| traceability | 5.0 |
| Moyenne | 4.69 |
Ecarts : 4 BLOQUANTS, 10 MAJEURS, 1 MINEUR.