Multi-BSUID Support — CDP × CRM Phone Sync
Sync phone numbers with per-phone BSUID from CDP (contact-service, Go) to CRM (qontak.com, Rails), enabling CRM to persist the correct crm_phones.bsuid per row. Scoped to CDP × CRM integration only — Chat paths are explicitly out of scope.
Scope Changes
Backend
QA Lane
Lane B — keeps a human QA gate. Security/isolation: multi-org BSUID scoping for phone-number sync where a silent failure could cross org boundaries. No E2E test specs exist for this initiative yet, so the Lane-A entry bar (100% E2E, spec-mapped coverage) is unmet regardless. Classified 2026-06-29.
Initiatives
| Artifact | Path |
|---|---|
| PRD | prds/prd-multi-bsuids-cdp-x-crm.md |
| RFC | rfcs/rfc-multi-bsuids-cdp-x-crm.md |
| Delivery | delivery/timeline.md (not yet created) |
Jira Tickets
| Ticket | Service | Description |
|---|---|---|
| TF-3154 | CRM (qontak.com) | Schema prerequisite — add bsuid column to crm_phones + immutability guard |
| TF-3155 | CDP (contact-service) | Producer — new payload structs + feature-flag-gated sync |
| TF-3156 | CRM (qontak.com) | Consumer — backward-compatible normalize_phones in Crm::CentralizedContacts::Update |