Plan a full CRM resynchronization without erasing local edits
A corrupted cursor requires a new import while staff continue editing customer records.
- Focused work estimate
- 5h + prerequisites
- Priority in the scenario
- High
- Engineering practice
- Migration design · Consistency
Estimated field mix
- System design40%
- Integrations40%
- Distributed systems20%
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 account team sees overwritten edits, duplicate contacts, and stale opt-out preferences after synchronization retries.
Setup prerequisites
- Create a local CRM double and synthetic contact records for two organizations; no real personal data or CRM credentials.
Preceding work
Complete these dependencies, or supply their agreed outputs before taking this ticket.
- BCRM-101 · Define contact field ownership between the app and CRM
- BCRM-102 · Separate external contact identity from email addresses
- BCRM-103 · Checkpoint CRM pagination only after local batch commit
- BCRM-104 · Apply contact updates with explicit conflict detection
- BCRM-106 · Handle provider rate limits without skipping contacts
- BCRM-105 · Propagate communication opt-outs ahead of ordinary profile updates
- BCRM-107 · Represent deleted CRM records with tombstone semantics
- BCRM-108 · Reconcile contact drift using bounded hashes and counts
Acceptance criteria
- Freeze an import boundary and preserve concurrent local revisions.
- Compare merge strategies and conflict workload.
- Rehearse resumption and cancellation without bulk replacement.
Implementation constraints
- Keep the exercise bounded to the synthetic dataset.
Verification to include
- Resume an interrupted full import.
- Edit a contact mid-import and verify conflict preservation.
Deliverables
- Resynchronization decision record.
Rollout and recovery
Run read-only comparison first; apply reviewed differences in bounded batches.
Value of the work
For the engineer: Practice sync cursors, conflict policies, privacy boundaries, and replay.
For the team: Provide predictable customer-data synchronization with inspectable conflicts.
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.