noCV
RCONSENT-102 · Model explicit choices

Record the notice version shown when a preference changes

Practice briefStoryIntermediate

The database stores only the latest boolean, so support cannot tell which choice text the member saw.

Focused work estimate
2h + prerequisites
Priority in the scenario
Medium
Engineering practice
Event history · Versioning

Estimated field mix

  • Privacy engineering50%
  • Data engineering30%
  • Security20%

Field percentages are editorial estimates of the ticket's engineering focus. They total 100%; they are not measured time, proficiency scores, or ownership evidence.

Your next step

Review it, then add it to your workspace.

The board opens an editable draft; nothing is saved until you confirm it. Sign-in and workspace permissions apply, and Demo boards remain ephemeral.

Project context

A fictional event workspace offers optional product announcements and operational booking messages. Its product policy treats these as separate purposes. A stale audience cache currently sends optional messages after a member opts out. The brief implements fictional preference rules and makes no legal-consent certification.

Setup prerequisites

  • Create synthetic members, versioned notice text and two purpose-tagged message types.
  • Use a fake dispatch provider with controllable queueing and acknowledgement; send no real messages.

Preceding work

Complete these dependencies, or supply their agreed outputs before taking this ticket.

Acceptance criteria

  • Append subject, purpose, choice, UTC instant and notice version for each accepted change.
  • Preserve the prior event and derive current state deterministically.
  • Reject unknown notice versions and keep notice content immutable once referenced.
  • Derive the subject from authenticated authority and enforce subject/tenant authorization for preference mutations at the repository boundary.

Implementation constraints

  • Use bounded metadata; do not collect device fingerprints or unrelated browsing history to record a choice.

Verification to include

  • Change a preference twice under two published notice versions and inspect the retained events.
  • Submit an unknown version and verify no state change or append.
  • Attempt a foreign subject and a foreign tenant through the mutation boundary; verify denial with no preference state change or appended event.

Deliverables

  • Versioned preference events and immutable notice fixtures

Rollout and recovery

Publish notice versions before accepting their changes; corrections create new versions.

Value of the work

For the engineer: Practice purpose modeling, versioned user choices, dispatch-time checks and consistency under retries.

For the team: Create an inspectable preference workflow that can be reviewed against a company-approved communication policy.

Evidence boundaries

Outcome Evidence: Tests, patches, and runbooks are requested deliverables. They become Outcome Evidence only through a qualified Mission and immutable Evidence IDs.

Ownership Evidence: Independent adaptation must be observed under a declared verification policy and cite immutable Evidence IDs. Completing a planning ticket establishes no Ownership Evidence.