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:
2026-05-19 11:55:05 +02:00
parent ae886a4499
commit 5abf7fe623
13 changed files with 806 additions and 3 deletions

View File

@@ -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.