chore(work): decompose dsr-consent-and-cookie-banner epic
Generated 1 epic + 11 stories under docs/work/epics/ from the approved PRD docs/work/prds/dsr-consent-and-cookie-banner.prd.md. Stories cover subject-linkage types, ADR-018 audit enum amendment, core-consent foundation + impl + react, core-dsr (4 interfaces), core-api router composition, core-ui scaffold + CookieConsentBanner, auth signup migration, and documentation. Ready for `pnpm work dispatch --execute`.
This commit is contained in:
@@ -0,0 +1,44 @@
|
||||
---
|
||||
id: 02-audit-enum-amendment
|
||||
epic: dsr-consent-and-cookie-banner
|
||||
title: Audit action enum amendment (ADR-018)
|
||||
type: technical-story
|
||||
status: todo
|
||||
feature: core-shared
|
||||
depends-on: [01-subject-linkage-types]
|
||||
blocks: [03-core-consent-foundation, 06-core-dsr]
|
||||
created: 2026-05-19T12:00:00Z
|
||||
updated: 2026-05-19T09:55:07.020Z
|
||||
---
|
||||
|
||||
## Goal
|
||||
|
||||
Extend the audit action enum with four new action types needed by consent and DSR, and amend ADR-018 to document the addition.
|
||||
|
||||
## Why
|
||||
|
||||
`core-consent`'s `IConsent.grant` / `IConsent.withdraw` emit `CONSENT_GRANT` / `CONSENT_WITHDRAW` for Art. 7 legal proof. `core-dsr`'s `IProcessingRestriction` emits `RESTRICT` / `UNRESTRICT` for Art. 18. Both optional cores must emit via `core-audit`'s existing channel; the action types must exist in `core-shared`'s enum before either optional core can be implemented.
|
||||
|
||||
## Done when
|
||||
|
||||
- The audit action enum in `core-shared/audit/` gains `CONSENT_GRANT`, `CONSENT_WITHDRAW`, `RESTRICT`, `UNRESTRICT`.
|
||||
- `core-audit`'s `IAuditLog.record` accepts the new action types without type errors.
|
||||
- `docs/guides/audit-and-compliance.md` is updated to list the new action types.
|
||||
- `docs/decisions/ADR-018.md` gains an `## Amendments` section recording the date and the reason (consent + restriction events added for Epic B).
|
||||
- `pnpm typecheck && pnpm lint && pnpm test && pnpm conformance && pnpm fallow:audit && pnpm coverage:diff` all pass.
|
||||
|
||||
## In scope
|
||||
|
||||
- Audit action enum extension (four new values) in `core-shared/audit/`.
|
||||
- `core-audit` type update so `IAuditLog.record` is compatible with the new values (no new interface methods).
|
||||
- `docs/guides/audit-and-compliance.md` update — "Six action types" wording amended to reflect the new count.
|
||||
- ADR-018 amendment section.
|
||||
|
||||
## Out of scope
|
||||
|
||||
- New audit emission call sites (Stories 04 and 06 — they live in the optional-core implementations).
|
||||
- `eraseSubject` flow changes — existing post-DSR-delete pseudonymization is unchanged.
|
||||
|
||||
## Tasks
|
||||
|
||||
- [ ] Add `CONSENT_GRANT`, `CONSENT_WITHDRAW`, `RESTRICT`, `UNRESTRICT` to the audit action enum in `packages/core-shared/src/audit/` + update `core-audit`'s `IAuditLog` type to accept the new values + update `docs/guides/audit-and-compliance.md` with the new action types + add `## Amendments` section to `docs/decisions/ADR-018.md` recording the date and reason; all gates pass.
|
||||
Reference in New Issue
Block a user