| Couverture TC-* | 34/36 (27 complets, 7 partiels, 2 non couverts) |
| Qualité assertions | ⚠️ |
| Isolation | ✅ |
| Edge cases | ⚠️ |
| Verdict : ⚠️ RÉSERVES | |
| ## Matrice de couverture | |
| TC-ID | Implémenté |
| ------- | ------------ |
| TC-NOM-01 | ✅ |
| TC-NOM-02 | ✅ |
| TC-NOM-03 | ✅ |
| TC-NOM-04 | ⚠️ |
| TC-NOM-05 | ✅ |
| TC-NOM-06 | ✅ |
| TC-NOM-07 | ✅ |
| TC-NOM-08 | ⚠️ |
| TC-NOM-09 | ❌ |
| TC-ERR-01..07 | ✅ |
| TC-ERR-08 | ⚠️ |
| TC-INV-06 | ✅ |
| TC-INV-07 | ⚠️ |
| TC-INV-09/10 | ✅ |
| TC-NR-02 | ❌ |
| TC-NR-05 | ⚠️ |
| TC-NEG-01..10 | ✅ |
| ## Points à améliorer | |
| ID | Description |
| ---- | ------------- |
| T-01 | Ajouter un vrai test nominal Mode B (TC-NOM-09) avec succès crypto + vérification OCSP online. |
| T-02 | Renforcer TC-NOM-08 avec transaction réelle (pre/post-commit) et vérification DB explicite rollback/persist. |
| T-03 | Compléter TC-NOM-04/ERR-08 pour prouver Mode A/Mode B avec trust-store et motifs d’échec conformes. |
| T-04 | Remplacer assertions génériques (toBeDefined, toBeTruthy) par assertions contractuelles sur contenu/motif. |
| T-05 | TC-INV-07: transformer la preuve “par commentaire” en assertions exécutables (spy I/O, absence persistance). |
| ## Tests manquants | |
| - TC-NOM-09 nominal (Mode B réussi) non implémenté. | |
| - TC-NR-02 non-régression explicite d’alignement PD-280 absente. | |
- Vérification contractuelle @Roles() (403 + body {} + audit ACCESS_DENIED) : non démontrée dans les tests fournis ; si endpoints protégés existent dans le périmètre, il manque la preuve contractuelle dédiée. | |