Delivery Timeline
| Milestone | Effort (BE/FE/QA…) | Confidence | Progress | Target Date | Status |
|---|---|---|---|---|---|
| PRD v2.1 finalized | — | — | 0/0 | 2026-06-09 | Done |
| RFC review R2: 8.0/10 Strong / PROCEED with notes (7-chunk scope) | — | High | 0/0 | 2026-06-18 | Done |
Task breakdown expanded to 9 chunks (+ Task 8 SyncWatermarkResolver, Task 9 AssociationLogEnricher) | BE +4 / QA +1.5 | Medium | 0/0 | 2026-07-01 | Done — R2 review not yet re-run against this scope |
| Development start | BE 17 / FE 1 / QA 6.5 | Medium | 0/24.5 | 2026-Q3 | Planned (all 9 chunks writable; Task 9 highest-risk, buildable against fixtures) |
| Stage-0 operational gates | — | — | 0/0 | TBD | Pending before migration run — no committed date from CRM/Platform |
| Migration dry-run | — | — | 0/0 | TBD | Planned (after Stage-0 gates) |
| Production migration | 24.5 total (CDP-side) | Medium | 0/24.5 | 2026-Q3 | Planned (gated on dry-run + operational checks); date vs. Julio Jeffer's P2 sequencing unresolved — see Dependencies & gates |
RFC Readiness Notes
rfc-reviewerR2 on 2026-06-18 scored the RFC 8.0/10,Strong, verdictPROCEED with notes, against the 7-chunk scope (reviewed_rfc_last_updated: 2026-06-18).- The RFC itself was subsequently expanded (
last_updated: 2026-06-30) to add Task 8 (SyncWatermarkResolver) and Task 9 (AssociationLogEnricher) — the review has not been re-run against this 9-chunk scope; Task 9 in particular (highest-risk, depends on OQ-13 match-key collision-safety) is unreviewed net-new work. Recommend an R3 delta review before treating Task 9 as PROCEED-equivalent to the rest. - The code path is implementation-ready: all 9 chunks are writable, including the IAG session-authenticated migration-status proxy for the frontend indicator, and Task 9 is unit-testable against fixtures today.
- Stage-0 operational gates still block the migration run, not the build: CRM read-only DSN,
extraction query plan on the
auditstable, per-account contact coverage, and remaining edge confirmations for actor/category mapping. - Effort is now breakdown-sourced (BE 17 / FE 1 / QA 6.5 = 24.5, medium confidence) but pending
formal DRI/Julio Jeffer sign-off; DATA Team's own days remain
TBD. Forecast dates are withheld (see Dependencies & gates) until Julio Jeffer's queue against Customer Segmentation (P2) is resolved.
Staffing
Implementors for RFC: Legacy Migration — CRM Contact Activity Logs → CDP:
| Discipline | Implementor | Committed days (this initiative) |
|---|---|---|
| Backend | Jeffer (= Julio Jeffer, also BE on Customer Segmentation P2) | 17 |
| Data | DATA Team (external squad) | TBD |
| Frontend | TBD (minor — migration status indicator, CALM-S05) | 1 |
| QA | Hendry (primary), Izzul (backup) | 6.5 |
Dependencies & gates
- 🔴 CRM Squad + Platform — read-only Postgres DSN / read-replica scoped to
SELECTonaudits+users(Gate A, OQ-1). - 🔴 CRM DBA —
EXPLAIN ANALYZEextraction query plan + CRM index before Stage 0; no-go until it passes (Gate B, OQ-2). - 🟡 Platform / USMAN — confirm
GetUsersByEmailsdeactivated-user representation for actor mapping (Gate D, OQ-9). - 🟡 Design — Figma frames for the badge + status indicator before Stage 1 FE (OQ-10).
- 🟡 CRM + CDP — Deal–Person / Deal–Company join-model class names + won/done/resolved id-sets (Gate E, OQ-12); safe fallthrough to generic
…/updateuntil confirmed. - 🟡 Internal — shared BE owner — Jeffer (Julio Jeffer) is also the sole named BE for Customer
Segmentation (P2, hard date 2026-07-21, BE effort still unsized). Per the roadmap sequencing
policy his queue must serve P2 first; until P2's BE is sized, it cannot be confirmed that 17 BE
days still fit before this initiative's 2026-08-04 commitment. Tracked here and on
cdp/delivery/roadmap.md## Program-level risks.
Internal critical path: BE chunks 1–6, 8–9 + FE chunk 7 build now (pending Jeffer's P2 queue clearing) → Stage-0 gates (DSN, query plan, per-account Contact source_id coverage ≥99%) → migration dry-run → production migration per account.