PD-28 — Acceptabilité¶
1. Références¶
- Spécification : PD-28-specification.md
- Tests contractuels : PD-28-tests.md
- Plan d’implémentation : PD-28-plan.md
- Commit / version évaluée : non fourni (exécution de tests fournie)
- Date de la revue : 2026-01-27
2. Synthèse exécutive¶
Les tests contractuels PD-28 fournis passent (6 suites, 48 tests). La traçabilité Spec → Tests → Code est couverte par la matrice fournie, et les mécanismes décrits dans le plan sont présents dans le module session. Aucun écart contractuel bloquant ou majeur n’a été identifié sur la base des éléments fournis.
3. Résultats des tests contractuels¶
| Test ID | Statut (PASS/FAIL/ABSENT) | Preuve d’exécution | Commentaire |
|---|---|---|---|
| TC-INV-01 | PASS | npm test -- --testPathPattern="test/unit/modules/auth/session"; session-validation.guard.spec.ts | Validation homogène V1–V5 |
| TC-INV-02 | PASS | npm test -- --testPathPattern="test/unit/modules/auth/session"; session-revocation.store.spec.ts | Révocation |
| TC-INV-03 | PASS | npm test -- --testPathPattern="test/unit/modules/auth/session"; session-revocation.listener.spec.ts, session-integration.spec.ts | Rupture de confiance |
| TC-INV-04 | PASS | npm test -- --testPathPattern="test/unit/modules/auth/session"; access-decision-audit.service.spec.ts | Auditabilité |
| TC-NOM-01 | PASS | npm test -- --testPathPattern="test/unit/modules/auth/session"; session-validation.guard.spec.ts | Session valide |
| TC-NOM-02 | PASS | npm test -- --testPathPattern="test/unit/modules/auth/session"; session-integration.spec.ts | Maintien sans rupture |
| TC-NOM-03 | PASS | npm test -- --testPathPattern="test/unit/modules/auth/session"; access-decision-audit.service.spec.ts | Logs décision |
| TC-NOM-04 | PASS | npm test -- --testPathPattern="test/unit/modules/auth/session"; session-validation.guard.spec.ts | Rejet sans effet de bord |
| TC-NOM-05 | PASS | npm test -- --testPathPattern="test/unit/modules/auth/session"; session-revocation.listener.spec.ts, session-integration.spec.ts | Portée révocation |
| TC-ERR-01 | PASS | npm test -- --testPathPattern="test/unit/modules/auth/session"; session-validation.guard.spec.ts | Session absente/invalide |
| TC-ERR-02 | PASS | npm test -- --testPathPattern="test/unit/modules/auth/session"; session-validation.guard.spec.ts | Session révoquée |
| TC-ERR-03 | PASS | npm test -- --testPathPattern="test/unit/modules/auth/session"; session-validation.guard.spec.ts | Ré-auth exigée |
| TC-ERR-04 | PASS | npm test -- --testPathPattern="test/unit/modules/auth/session"; access-decision-audit.service.spec.ts | Non-conformité audit |
| TC-NEG-01 | PASS | npm test -- --testPathPattern="test/unit/modules/auth/session"; session-integration.spec.ts | Rejeu session révoquée |
| TC-NEG-02 | PASS | npm test -- --testPathPattern="test/unit/modules/auth/session"; session-integration.spec.ts | Session invalide |
| TC-NEG-03 | PASS | npm test -- --testPathPattern="test/unit/modules/auth/session"; session-integration.spec.ts | Bruit de rejets |
| TC-NEG-04 | PASS | npm test -- --testPathPattern="test/unit/modules/auth/session"; session-integration.spec.ts | Rupture PD-27 |
| TC-NR-01 | PASS | npm test -- --testPathPattern="test/unit/modules/auth/session"; session-revocation.store.spec.ts | Non-régression révocation |
| TC-NR-02 | ABSENT | Non exécuté ; test interne non contractuel | Non opposable |
| TC-NR-03 | PASS | npm test -- --testPathPattern="test/unit/modules/auth/session"; protected-endpoint-registry.service.spec.ts | Non-régression endpoints |
4. Écarts identifiés¶
Classification des écarts¶
| Niveau | Définition |
|---|---|
| BLOQUANT | Violation d’invariant, faille de sécurité, non-conformité majeure |
| MAJEUR | Fonction incomplète ou non conforme sans rupture de sécurité |
| MINEUR | Détail ou dette non critique |
Détail des écarts¶
Aucun écart contractuel identifié sur la base des éléments fournis.
5. Hypothèses et TODO recensés¶
- Hypothèses complémentaires : dépendances PD-27 pour la taxonomie des événements de rupture de confiance (R-28-04) et politiques de sécurité externes (durées, conservation des journaux).
- TODO restants (non bloquants) : n/a.
6. Verdict d’acceptabilité (unique)¶
- ⛔ REFUSÉ
- ⚠️ ACCEPTÉ AVEC RÉSERVES
- ✅ ACCEPTÉ
Verdict actuel : ✅ ACCEPTÉ Date : 2026-01-27 Motif synthétique : Tous les tests contractuels exécutés sont PASS et la traçabilité Spec → Tests → Code est démontrée par la matrice fournie.