RFC โ Team Owner backfill, blocked pending CRM Team โ USMAN migration
Bucket item: A9 (pending append) ยท Class: ๐ก Standard, not startable โ see Open Questions ยท Jira Story: TBD (not yet minted) ยท Epic: TF-3500
Context / Problemโ
Team Owner Field & Team Permission (P4)
adds team_owner_ids to CDP contacts and needs a backfill pass so existing / previously-migrated
contacts don't launch with an empty team-owner field.
Raised at Sprint 2 planning (2026-07-21): that backfill cannot run yet. It depends on CRM's own Team data being migrated into USMAN first โ until CRM's teams live in USMAN, there is no authoritative team-to-user/contact mapping for a backfill job to read against. That CRM โ USMAN Team migration is owned by CRM/Platform, not CDP, and has no committed date today.
Rather than let this open-ended, externally-gated dependency sit inside the Team Owner initiative's own P4 scope (revenue commitment 2026-08-31) โ where it would read as a CDP-owned slip โ it is tracked here as its own bucket item instead: Team Owner ships its field/permission/UI scope behind the flag on its own timeline; this backfill is a separate, later pass that starts only once CRM's Team โ USMAN migration lands. See the initiative README's note for the cross-reference back to this item.
Proposed changeโ
- Do not build the backfill job now. Wait for CRM/Platform to confirm the Team โ USMAN migration has shipped and to confirm (or expose) whatever read path CDP will use to resolve a contact's owning team once it has.
- Once unblocked, mint this item's Jira Story and design the backfill (source data, batching, idempotency, dry-run) the same way the other data-migration items in this bucket are designed โ this RFC is intentionally not that design yet, since the shape of CRM's migrated Team data is unknown today.
Open Questionsโ
- [blocking] No committed date for CRM's Team โ USMAN migration exists yet. Owner: CRM
Squad / Platform-USMAN. Until this lands, this item cannot move past
backlog. - [important] What CDP will actually read once USMAN has the data (a USMAN API, a CRM-side export, something else) is undetermined โ depends entirely on how CRM's migration exposes Team data downstream.
- [important] Whether this backfill's contact population is scoped to Team-Owner-native CDP contacts only, or also intersects with the contacts already being backfilled by Legacy Migration: CRM Notes โ CDP / Legacy Migration: CRM Activity Logs โ CDP โ needs a DRI call once CRM's migration lands, to avoid double-backfilling the same contacts.
Handoff noteโ
This RFC is step 1 of the bucket's "how the bucket grows" process. Not yet done, pending confirmation:
- Append a tracker row (
A9,backlog,Added: 2026-07-21, ScopeBackend, Data, DRI Ghozi, QA Hendry, Jira Story_pending mint_). - Mint the Jira Story under Epic TF-3500 once appended โ no rush; nothing about this item is actionable until the CRM/USMAN dependency resolves.
- Mirror the external dependency into the roadmap
## External & cross-squad dependenciestable.
Ready for agent execution: no โ this is a placeholder tracking an external dependency, not a buildable design. Do not start engineering work against it until the Open Questions above are resolved.