feat(training): separate opt-in contribution receipts with withdrawable tombstones
Quality gates / quality (pull_request) Successful in 3m44s

A journal save now records no training contribution. A contribution is a second
consent: the privacy page states consent version training-consent-v1 and the
receipt (contribution id, included fields, never-included fields) before the
confirm control is enabled, the receipt is queued on this device only and copies
no photo bytes, note text, or symptom answers, and withdrawal keeps a tombstone
naming every derived artifact by contribution id. Delete-all clears the receipts
with the ledger.

Closes #24
This commit is contained in:
timmy committed 2026-10-21 10:58:50 +00:00
1 parent d0b3c10aea
commit ef22ea8970
11 files changed
+559 -6

No files matched your search

+1
View File
@@ -59,6 +59,7 @@ jobs:
npm run test:worker-readiness
npm run test:pattern-summary
npm run test:photo-lifecycle
npm run test:training-contribution
- name: Dependency audit
run: npm audit --audit-level=high
- name: Syntax checks