feat(core-consent): add PayloadConsent, RecordingConsent and DI binders

Implements the Payload-backed IConsent that reads/writes users.consentState
and emits CONSENT_GRANT/CONSENT_WITHDRAW audit entries via injected auditLog.
Adds RecordingConsent test double in core-testing for unit-test injection.
Adds bindProductionConsent/bindDevSeedConsent DI binders and InMemoryConsent
for dev/seed contexts. Contract tests cover grant/withdraw/isGranted round-trip,
audit entry shape, metadata persistence (bannerVersion/policyVersion/method),
and getCategories reflection of state.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
2026-05-19 12:39:31 +00:00
parent 5792b7412a
commit 7dd46b68b2
20 changed files with 936 additions and 27 deletions

View File

@@ -1,18 +1,18 @@
{
"generatedAt": "2026-05-19T11:00:08.934Z",
"commit": "9cb2fa3",
"generatedAt": "2026-05-19T12:37:46.347Z",
"commit": "5792b74",
"repo": {
"statements": 96.5,
"branches": 91.82,
"functions": 96.89,
"lines": 96.5,
"statements": 96.55,
"branches": 91.42,
"functions": 96.39,
"lines": 96.55,
"counts": {
"lf": 4291,
"lh": 4141,
"brf": 819,
"brh": 752,
"fnf": 257,
"fnh": 249
"lf": 4469,
"lh": 4315,
"brf": 874,
"brh": 799,
"fnf": 277,
"fnh": 267
}
},
"byPackage": {
@@ -59,17 +59,17 @@
}
},
"@repo/core-consent": {
"statements": 100,
"branches": 100,
"functions": 100,
"lines": 100,
"statements": 97.87,
"branches": 86.44,
"functions": 91.67,
"lines": 97.87,
"counts": {
"lf": 10,
"lh": 10,
"brf": 4,
"brh": 4,
"fnf": 4,
"fnh": 4
"lf": 188,
"lh": 184,
"brf": 59,
"brh": 51,
"fnf": 24,
"fnh": 22
}
},
"@repo/core-shared": {