diff --git a/docs/work/_system/_state.json b/docs/work/_system/_state.json index f53637e..260d63a 100644 --- a/docs/work/_system/_state.json +++ b/docs/work/_system/_state.json @@ -1,5 +1,5 @@ { - "updated_at": "2026-05-19T19:35:11.691Z", + "updated_at": "2026-05-19T20:14:17.542Z", "epics": { "binder-wrap-helper": { "status": "done", @@ -299,7 +299,7 @@ "status": "in-progress", "title": "core-dsr — scaffold, interfaces, Payload impls, recording doubles, handlers, dsrRouter", "ac_total": 3, - "ac_completed": 1, + "ac_completed": 2, "depends_on": [ "02-audit-enum-amendment" ], diff --git a/docs/work/epics/dsr-consent-and-cookie-banner/06-core-dsr/_story.md b/docs/work/epics/dsr-consent-and-cookie-banner/06-core-dsr/_story.md index 6835075..2ee526d 100644 --- a/docs/work/epics/dsr-consent-and-cookie-banner/06-core-dsr/_story.md +++ b/docs/work/epics/dsr-consent-and-cookie-banner/06-core-dsr/_story.md @@ -8,7 +8,7 @@ feature: core-dsr depends-on: [02-audit-enum-amendment] blocks: [07-core-api-router-composition] created: 2026-05-19T12:00:00Z -updated: 2026-05-19T19:35:11.523Z +updated: 2026-05-19T20:14:17.374Z --- ## Goal @@ -59,5 +59,5 @@ Every EU-bound consumer needs endpoints to satisfy GDPR Arts. 15–18 + 20. The ## Tasks - [x] Run `pnpm turbo gen core-package dsr` + define `IDataExport`, `IDataDelete`, `IDataRectify`, `IProcessingRestriction` interfaces in `core-dsr/.interface.ts` + add `UserDataBundle` + `DeletionCertificate` types + ship `core-dsr/contexts/user-data.jsonld`; all gates pass. -- [ ] Add `PayloadDataExport`, `PayloadDataDelete`, `PayloadDataRectify`, `PayloadProcessingRestriction` Payload-backed implementations walking `custom.pii` tags and `custom.subject` linkage (cascade semantics per role: self/owner/reference) + `RecordingDataExport`, `RecordingDataDelete`, `RecordingDataRectify`, `RecordingProcessingRestriction` test doubles in `packages/core-testing/` + DI binders `core-dsr/di/bind-production.ts` and `core-dsr/di/bind-dev-seed.ts`; contract tests covering happy path per role/mode, multi-subject row redaction, JSON-LD `@context` correctness, audit emission shape, restriction flag; all gates pass. +- [x] Add `PayloadDataExport`, `PayloadDataDelete`, `PayloadDataRectify`, `PayloadProcessingRestriction` Payload-backed implementations walking `custom.pii` tags and `custom.subject` linkage (cascade semantics per role: self/owner/reference) + `RecordingDataExport`, `RecordingDataDelete`, `RecordingDataRectify`, `RecordingProcessingRestriction` test doubles in `packages/core-testing/` + DI binders `core-dsr/di/bind-production.ts` and `core-dsr/di/bind-dev-seed.ts`; contract tests covering happy path per role/mode, multi-subject row redaction, JSON-LD `@context` correctness, audit emission shape, restriction flag; all gates pass. - [ ] Add protocol-agnostic handlers in `core-dsr/handlers/{export,delete,rectify,restrict}-handler.ts` + `dsrRouter` tRPC router in `core-dsr/dsr.router.ts` with auth checks; integration tests asserting procedure response shapes and error passthrough; all gates pass.