Aller au contenu

PD-17 — Acceptabilité

Objectif

Vérifier que l’implémentation est conforme à la spécification, respecte l’ensemble des invariants ProbatioVault et ne présente aucune incohérence ou oubli critique.


Périmètre de vérification

La revue d’acceptabilité vérifie explicitement :

  • la conformité stricte à la spécification fonctionnelle
  • le respect de tous les invariants applicables
  • la couverture des scénarios de test définis
  • l’absence d’incohérences, oublis ou régressions

Écarts identifiés

Chaque écart constaté doit être documenté et classé selon sa gravité.

Classification des écarts

Niveau Définition
BLOQUANT Violation d’un invariant, faille de sécurité, non-conformité majeure à la spec
MAJEUR Fonction incomplète, comportement non conforme mais sans rupture de sécurité
MINEUR Détail, dette acceptable, amélioration non critique

Détail des écarts

ID Description Référence Gravité
E-01 Flux PD-17 ALLOW/DENY non implémentés : aucun guard/interceptor/service AccessAudit*, aucune insertion PD-17 dédiée dans audit_log, aucun usage des action types ACCESS_ALLOW/ACCESS_DENY. La structure canonique §5.0 (access_result, deny_code, context) n’est ni produite ni vérifiée. Spec §1, §4 (Unicité/Primauté/Signature/Append-only), §5.0/§5.1/§5.2 ; Plan §1.2/§2.1/§2.2 BLOQUANT
E-02 Schéma canonique PD-17 non contrôlé : aucune validation ou taxonomie de deny_code, context.* ou pd: "PD-17" dans entry_canonical; les métadonnées restent libres (AuditLogService metadata generic) et aucun test ne couvre les scénarios PD-17. Spec §5.0, §7 ; Plan §2.1/§2.2 (payload PD-17) MAJEUR

[2025-12-22] — Suivi E-01

  • Statut précédent : BLOQUANT
  • Statut actuel : RÉSOLU
  • Justification factuelle :
  • Implémentation des flux PD-17 ALLOW/DENY : service AccessAuditService (logAllow/logDeny/logAccess), guard AccessAuditGuard, interceptor AccessAuditInterceptor, décorateur @AuditedResource, action types ACCESS_ALLOW/ACCESS_DENY injectant des payloads PD-17 dans audit_log.
  • Tests unitaires (service/guard/interceptor/types) couvrent la production d’événements ACCESS_ALLOW/ACCESS_DENY.
  • Référence vérification :
  • src/modules/audit/services/access-audit.service.ts
  • src/modules/audit/guards/access-audit.guard.ts
  • src/modules/audit/interceptors/access-audit.interceptor.ts
  • src/modules/audit/decorators/audited-resource.decorator.ts
  • src/modules/audit/types/audit-action.types.ts
  • Tests : access-audit.service.spec.ts ; access-audit.guard.spec.ts ; access-audit.interceptor.spec.ts ; pd17-access-audit.types.spec.ts

[2025-12-22] — Suivi E-02

  • Statut précédent : MAJEUR
  • Statut actuel : RÉSOLU
  • Justification factuelle :
  • Taxonomie et schéma PD-17 formalisés (Pd17DenyCode, Pd17CanonicalPayload, Pd17Context) avec validation explicite validatePd17Payload() (pd, access_result, deny_code, context requis).
  • Tests dédiés vérifient la validation et les codes de refus (types/service/guard/interceptor).
  • Référence vérification :
  • src/modules/audit/types/pd17-access-audit.types.ts
  • src/modules/audit/services/access-audit.service.ts
  • Tests : pd17-access-audit.types.spec.ts ; access-audit.service.spec.ts ; access-audit.guard.spec.ts ; access-audit.interceptor.spec.ts

Conclusion d’acceptabilité

ACCEPTÉ

Motif : E-01 (flux PD-17) et E-02 (schéma canonique) résolus ; aucun écart BLOQUANT/MAJEUR/MINEUR restant.


Historique des verdicts

Date Verdict Version Commentaire
2025-12-22 ⛔ REFUSÉ n/a E-01 BLOQUANT (flux PD-17 non implémentés), E-02 MAJEUR (schéma canonique PD-17 non contrôlé)
2025-12-22 ✅ ACCEPTÉ n/a E-01 et E-02 résolus (flux PD-17 + validation canonique)