Delivery Timeline
Blocking dependency: This migration cannot start until Mention User in CDP Notes is shipped. See the initiative
README.mddepends_onfield and the roadmap cross-initiative dependencies section.
| Milestone | Effort (BE/FE/QA…) | Confidence | Progress | Target Date | Status |
|---|---|---|---|---|---|
| PRD v2.1 finalized | — | — | 0/0 | 2026-06-09 | Done |
| RFC review: Agentic-Ready / PROCEED | — | High | 0/0 | 2026-06-18 | Done |
| Development start | — | — | 0/0 | 2026-Q3 | Planned (code writable after P1 dependency clears) |
| Migration dry-run | — | — | 0/0 | TBD | Planned (runtime gates before real run) |
| Production migration | — | — | 0/0 | 2026-Q3 | Planned (gated on P1 shipped + runtime checks) |
RFC Readiness Notes
rfc-revieweron 2026-06-18 scored the RFC 8.5/10,Agentic-Ready, verdictPROCEED.- The build plan is ready: the RFC defines the CDP ingestion pipeline, idempotency, extraction interface, sanitizer, resolver, rollback, observability, and execution chunks.
- Runtime prerequisites remain before a real migration run: CRM extraction availability,
crm_data.id/ coverage validation, and the PM-owned notes-only type-id decision. - This initiative is still blocked from starting by Mention User in CDP Notes because migrated notes need the mention schema/rendering path to exist first.
- Effort and forecast remain
TBDuntil the DRI confirms per-discipline man-days.
Staffing
Implementors for RFC: Legacy Migration — CRM Contact Notes → CDP Notes:
| Discipline | Implementor |
|---|---|
| Backend | Berlianto |
| Data | DATA Team (external squad) |
| QA | Hendry (primary), Izzul (backup) |
Dependencies & gates
- 🔴 Legacy CRM Squad — net-new org-scoped Person-notes extraction endpoint (paginated; returns HTML,
creator_id, attachments,crm_note_type_id, timestamps); does NOT exist today (Decision 10, OQ-7). Hard prerequisite for any migration run. - 🔴 CDP — Mention User in CDP Notes (P1) — cross-initiative: migration cannot start until P1 ships so migrated notes render mentions consistently (tracked in
depends_on+ roadmap## Cross-initiative dependencies). - 🟡 Data Engineering — per-CID coverage ≥99% report before job start (OQ-2).
- 🟡 Legacy CRM Squad + CDP — load-test extraction at bulk throughput in staging before Internal QA (OQ-7, Stage-0 gate).
- 🟡 Infosec / CDP Infra / Legacy CRM — bluemonday deny-by-default policy approval (OQ-10); CRM bucket access (still
public-read) + re-uploaded-PII data residency (OQ-9). - 🟡 Platform / CSM — per-caller identity/audit on
/private/notes/migrate(OQ-11); CSM approval + maintenance window per CID (Stage 2+).
Internal critical path: CRM endpoint delivered (CRM squad) → contact-service ingestion pipeline deployed (flag OFF) → per-CID coverage gate → Ops triggers migration per CID. Build of chunks 1–10 can proceed now against a stubbed extraction interface.