1. Documents de reference
- Specification v3 :
PD-280-specification.md - Tests v3 :
PD-280-tests.md - Plan v2 :
PD-280-plan.md (Claude, corrige) - Code contracts v2 :
PD-280-code-contracts.yaml (Claude, corrige) - Review v2 :
PD-280-plan-review-v2.md (ChatGPT, P1) - Confrontation v2 :
PD-280-confrontation-step5-v2.md (Claude, P2)
2. Amelioration v1 → v2
| Metrique | v1 | v2 | Delta |
| Bloquants | 2 | 2 | 0 |
| Majeurs | 6 | 4 | -2 |
| Mineurs | 4 | 0 | -4 |
| Divergences confrontation | 4 | 5 | +1 |
Les corrections v2 ont resolu les problemes de mutation DB (projections), le stockage du verificationRequestId (DDL-02/03), la couverture exhaustive et les contraintes techniques. Cependant, la review P1 identifie de nouveaux bloquants lies au cycle de vie du verificationRequestId en phase PENDING et la confrontation P2 confirme la tension lecture seule vs persistance.
3. Ecarts v2
3.1 BLOQUANTS
| ID | Type | Source | Description |
| BLQ-S5V2-01 | Incoherence | P1 #1, P2 DIV-04+05 | verificationRequestId obligatoire en PENDING (spec) mais persiste seulement au DONE (plan). Tension lecture seule vs ecriture metadata. |
| BLQ-S5V2-02 | Test irrealisable | P1 #2, P2 DIV-02 | TC-INV-05/TC-NEG-06 exigent refus transition retour mais plan lecture seule n'a pas de guard de persistance. TC-NOM-04 absent du doc tests. |
3.2 MAJEURS
| ID | Type | Source | Description |
| MAJ-S5V2-01 | Ambiguite | P2 DIV-01 | Projection vs mutation SLA : spec dit "reclassifie", plan dit "projete". Interpretations incompatibles. |
| MAJ-S5V2-02 | Hypothese | P1 #3, P2 DIV-03 | pending_since rempli par processus externe non contractualise. Decompte tests incoherent (28/29/30). |
| MAJ-S5V2-03 | Auditabilite | P1 #4, P2 ZO-04 | Observabilite reclassification SLA en mode lecture seule non explicitee. |
| MAJ-S5V2-04 | Nomenclature | P1 #5 | Code contracts melangent INV et CA dans la section invariants. Non univoque pour audit tiers. |
3.3 MINEURS
Aucun.
4. Scoring v2
Feasibility
- Base : 10
- BLQ-S5V2-01 (verificationRequestId lifecycle PENDING→DONE vs lecture seule) : -2
- MAJ-S5V2-01 (projection vs mutation non tranche) : -1
- ZO-02 (enum 3 ou 4 non verifie) : -0.25
- Score : 6.75
Coverage
- Base : 10
- BLQ-S5V2-02 (TC-NOM-04 absent + TC-INV-05 irrealisable) : -1
- MAJ-S5V2-02 (decompte incoherent) : -1
- ZO-08 (stabilite UUID en PENDING non testee) : -0.25
- Score : 7.75
Risk_mitigation
- Base : 10
- BLQ-S5V2-01 (verificationRequestId lifecycle menace) : -2
- MAJ-S5V2-03 (observabilite) : -0.25
- ZO-05 (taxonomie pendingReason) : -0.25
- Score : 7.5
Coherence
- Base : 10
- MAJ-S5V2-01 (projection vs mutation divergent) : -1
- MAJ-S5V2-04 (nomenclature INV/CA) : -0.25
- ZO-03 (module NestJS non precise) : -0.25
- MAJ-S5V2-02 (pending_since producteur externe) : -0.25
- Score : 8.25
5. Resume
| Critere | Score |
| feasibility | 6.75 |
| coverage | 7.75 |
| risk_mitigation | 7.5 |
| coherence | 8.25 |
| Moyenne | 7.56 |
Ecarts : 2 BLOQUANTS, 4 MAJEURS, 0 MINEUR. Amelioration : v1 5.5 → v2 7.56 (delta +2.06).