Delivery Timeline
The delivery surface (upload → job → XLSX → email + Billing token) is reuse / low-risk; the schedule is gated by two cross-team blockers — the BI datamart/data contract (OQ-BI) and Legal cross-tenant consent (OQ-P1).
| Milestone | Target | Effort | Confidence | Progress | Status |
|---|---|---|---|---|---|
| PRD v2.0 reformatted + grounded | 2026-07-08 | — | — | 0/0 | Done |
| OQ-P1: Legal sign-off on cross-CID aggregation | 2026-07-18 | — | — | 0/0 | Pending (blocking cross-company signals) |
| OQ-BI: datamart data contract + BI owner | 2026-07-18 | — | — | 0/0 | Pending (blocking, largest risk) |
| Data Foundation — datamart + 6 Ready signals + daily refresh (BI) | Jul 2026 | — | — | 0/0 | Planned |
| CSV Upload MVP — UI, validation, lookup, email, Billing token | Aug 2026 | — | — | 0/0 | Planned |
| Pilot Launch — 5 clients, free tier (3 tokens) | Aug 2026 | — | — | 0/0 | Planned |
| Pilot Eval — decision gate; WA + Industry finalized; pricing | Sep 2026 | — | — | 0/0 | Planned |
| GA — token packs, all 8 signals | Q4 2026 | — | — | 0/0 | Planned |
Staffing
Staffing TBD — fill once the Epic + RFC are created. Note the split ownership: CDP (upload/lookup/XLSX/email/FE + Billing integration), Data/BI (datamart + 8 signals + refresh), Billing/Commercial (ENRICHMENT-* code + pack SKUs + pricing).
| Discipline | Implementor |
|---|---|
| Backend (CDP) | TBD |
| Frontend (CDP) | TBD |
| Data / BI | TBD |
| Design | TBD |
| QA | TBD |
Dependencies & gates
- 🔴 Data/BI —
customer_behavioral_enrichmentdatamart + 8 signals + daily 08:00 WIB refresh; zero app connectivity today (OQ-BI). Largest schedule risk. - 🔴 Legal + PM — cross-tenant consent for cross-CID aggregation (OQ-P1); until resolved, ship single-CID signals only (NEG-2).
- 🔴 CDP Backend — net-new Hologres query layer in
contact-service(Mongo/PG/Redis only today). - 🟡 Billing / Commercial — new
ENRICHMENT-*billing code + Free/S/M/L SKUs + pricing (OQ-8/OQ-12); quota plumbing already exists. - 🟡 Platform/Omnichannel — WA Business API check for the WA Valid Number fallback (OQ-1), conditional.
Reuse (low risk, unblocked once the datamart contract lands): the bulk-import async scaffold + SendEmailWithAttachment + BulkUploadPage.vue/BillingStore.