PD-278 — Agent Developer : dip-audit-types¶
Module¶
dip-audit-types (C6)
Fichier modifie¶
src/modules/audit/types/audit-action.types.ts (lignes 95-98)
Modifications¶
Ajout de 3 nouveaux AuditActionType dans l'enum existante, apres le bloc PD-279 :
| Enum key | Valeur string | Usage spec |
|---|---|---|
DOCUMENT_DISSEMINATED | document.disseminated | Audit transition SEALED -> DIP reussie (INV-278-04) |
DOCUMENT_RETURNED | document.returned | Audit transition DIP -> SEALED reussie (INV-278-04) |
DOCUMENT_DISSEMINATION_DENIED | document.dissemination_denied | Audit refus securite 401/403/429/409-RETENTION-DUE (INV-278-04) |
Invariants respectes¶
- INV-278-04 (auditability) : Les 3 types couvrent les cas succes (DISSEMINATED, RETURNED) et refus securite (DISSEMINATION_DENIED).
- Non-regression : Aucun type existant modifie ou supprime. Les types PD-279, PD-84, PD-17, PD-37 etc. sont intacts.
Forbidden respectes¶
- Aucun
AuditActionTypeexistant modifie ou supprime.
Convention de nommage¶
Les valeurs string suivent le pattern domain.action existant (ex: document.upload, document.restitute). Les noms de cle enum suivent le pattern DOCUMENT_* majuscules avec underscore.
Verification¶
- TypeScript :
npx tsc --noEmit— 0 erreur. - Aucun fichier hors perimetre modifie.
Matrice de couverture¶
| Test ID | Fichier |
|---|---|
| TC-INV-04 | Consommateurs : C9 (DisseminationService), C11 (DisseminationAuditExceptionFilter) |
Hypotheses¶
Aucune hypothese supplementaire. Le module est purement declaratif (extension enum).
Decisions architecturales¶
- decision : Valeurs string en
document.*(pasdissemination.*) - rationale : Coherence avec le domaine existant (
document.restitute,document.seal, etc.). Le prefixedocument.identifie le domaine metier, l'action identifie l'evenement. - alternatives_considered :
dissemination.created/dissemination.returned/dissemination.denied - trade_offs :
document.*= coherence codebase mais prefixe plus long ;dissemination.*= plus specifique mais rompt la convention.