Compare source and replica preferences without exporting contacts
Operators suspect a gap but a full data export would spread contact information across incident tooling.
- Focused work estimate
- 3h + prerequisites
- Priority in the scenario
- Medium
- Engineering practice
- Reconciliation · Privacy
Estimated field mix
- Data engineering60%
- Privacy engineering40%
Field percentages are editorial estimates of the ticket's engineering focus. They total 100%; they are not measured time, proficiency scores, or ownership evidence.
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 messaging service builds a read model from database changes. Restarts and schema changes can re-enable preferences that customers disabled.
Setup prerequisites
- Create synthetic preference records and a replayable local change log.
- Use adapters or fixtures without provisioning a production broker.
Preceding work
Complete these dependencies, or supply their agreed outputs before taking this ticket.
- ACDC-101 · Define the preference change envelope with source position
- ACDC-103 · Represent preference deletion as a durable tombstone
- ACDC-104 · Advance the feed checkpoint only with the projected transaction
- ACDC-105 · Reject a stale preference update after a partition retry
- ACDC-106 · Handoff a preference snapshot to live changes without a gap
- ACDC-107 · Evolve a preference value enum without silently coercing unknown values
Acceptance criteria
- Compare keyed hashes and safe row counts by bounded scope.
- Report missing, extra and mismatched record tokens.
- Keep raw preference payloads out of the report.
Implementation constraints
- Use stable canonical hashing and documented null handling.
Verification to include
- Compare equal synthetic source and replica states.
- Alter one value and delete one row; identify both discrepancy categories.
Deliverables
- Scoped reconciliation report
Rollout and recovery
Run read-only reconciliation first; expire generated diagnostic artifacts after review.
Value of the work
For the engineer: Practice change-feed ordering, snapshots and privacy-preserving deletion.
For the team: Review whether replicated customer preferences remain correct during recovery.
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.