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) |
| QA before/after crosscheck (Lane B — no automation substitute) | QA 6.5 | Medium | 0/6.5 | migration-complete ~2026-08-27 → GA 09-07 [derived] | Start unknown — gated on Stage-0 DSN/query plan (🔴, no date); requirement only |
| Production migration | 24.5 total (CDP-side) | Medium | 0/24.5 | 2026-Q3 | Planned (gated on Stage-0 dry-run + CRM operational checks) |
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 breakdown-sourced (BE 17 / FE 1 / QA 6.5 = 24.5, medium confidence, Jeffer-confirmed
2026-07-01); DATA Team's own days remain
TBD. Forecast dates are withheld pending the CRM-owned Stage-0 gate (see Dependencies & gates). Lane-B QA-driven finish-by (derived, requirement not forecast): the 6.5d before/after crosscheck trails the migration run, so for GA by the 09-07 commitment the run must complete by ~08-27; the start is unknown (🔴 Stage-0 DSN/query plan has no committed date), so this is a finish-by requirement. Hendry's 6.5d here collides with Legacy Notes + Team Owner E2E in the same 08-20→09-07 window —capacity.md.
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 (resolved on capacity 2026-07-01) — Jeffer is also BE on
Customer Segmentation (P1); both now sized (Segmentation BE 4 d, this initiative 17 d), combined
load 0.40 clears under the sequencing policy. See
status/2026-07-01.
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.