Delivery Timeline
| Milestone | Effort (BE/FE/QA…) | Confidence | Progress | Target Date | Status |
|---|---|---|---|---|---|
| PRD v2.1 finalized | — | — | 0/0 | 2026-06-09 | Done |
| OQ-7: export job status store | — | — | 0/0 | 2026-06-18 | Done (reuse bulk_upload_jobs) |
| OQ-9: field-properties endpoint confirmed | — | — | 0/0 | 2026-06-18 | Done |
| RFC review R1: Strong / PROCEED with notes | — | High | 0/0 | 2026-06-18 | Done |
| RFC synced to PRD v2.6 | — | Medium | 0/0 | 2026-06-30 | Done |
| RFC review R2: 8.5/10 Agentic-Ready / PROCEED (core pipeline) | — | High | 0/0 | 2026-06-30 | Done |
| OQ-10: notification ingest channel | BE chunk 7 | Medium | 0/0 | TBD | Pending before notification client |
| OQ-14: per-route rate-limit decision | BE chunk 9 | Medium | 0/0 | TBD | Pending before handler/rate-limit |
| OQ-15: localStorage v1 PM sign-off | — | — | 0/0 | TBD | Pending before GA |
| OQ-16: OSS data-residency / quota confirmation | — | — | 0/0 | TBD | Stage-0 gate |
| OQ-17: export-history cross-team path | BE chunk 19 | Low | 0/0 | TBD | Blocked (non-core pipeline) |
| OQ-18/OQ-19/OQ-20/OQ-21: v2.6 selection/panel decisions | BE/FE chunks 18/20/21 | Medium | 0/0 | TBD | Pending before expanded scope |
| Development start | BE 15 / FE 7.5 / Mobile 5 / QA 5 | Medium | 0/32.5 | 2026-Q3 | Planned (core chunks can start) |
| Release | 32.5 total | Medium | 0/32.5 | 2026-Q3 | Planned (gated on open OQs) |
RFC Readiness Notes
rfc-reviewerR1 on 2026-06-18 scored the RFC 8.0/10,Strong, verdictPROCEED with notes; BE chunks 1-6 can start immediately.rfc-reviewerR2 on 2026-06-30 (post v2.6 sync) re-scored 8.5/10,Agentic-Ready, verdictPROCEEDfor the core pipeline (EXP-S01-S07, S09); EXP-S08 stays specified-but-not-buildable (OQ-17, cross-team, Should-Have only). R2 found 6 new findings against the v2.6 scope (REV-12..17):first_10k_sorted_idtie-breaker (OQ-18), FEMAX_SELECTIONvs 10K cap (OQ-19), timezone value format ambiguity (OQ-20, major), Source enum gap (OQ-21) — these are the chunks 18/20/21 effort added to FE/QA below.- Resolved review findings include per-type formatting, custom-field resolution, FE pathing, field-properties response shape, and the rate-limit design being isolated to chunk 9.
- Open gates remain for notification channel confirmation, per-route rate-limit decision, localStorage-vs-durable PM sign-off, OSS compliance/quota, export-history cross-team support, and the v2.6 expanded-scope decisions above.
Staffing
Implementors for RFC: Export Customer Data with Layout:
| Discipline | Implementor |
|---|---|
| Backend | Ghozi |
| Frontend | Jovi |
| Mobile | Alfi |
| QA | Hendry (primary), Izzul (backup) |
Capacity & Allocation
This initiative's BE effort (15 man-days) is confirmed by Ghozi (3 man-weeks, incl. 1 man-week buffer).
FE is now confirmed by Jovi at 7.5 days (was 3.5) — matching the 2026-06-30 breakdown update
that added v2.6 chunks 20/21 (first_10k shortcut, right-panel completion); QA (5 days, was 3.5,
chunks 18/20/21) remains sourced from
rfc-export-customer-data.task-breakdown.md.
Mobile (5 man-days = 1 man-week) is confirmed by Alfi. All are mirrored from the initiative README. Sequencing follows the 2026-Q3
policy in cdp/delivery/roadmap.md. QA is assigned to Hendry by
default, with Izzul used only as backup if timeline clashes. Forecast p85 is 2026-09-19 (p50
2026-09-02), mirrored from the initiative README — pushed out ~1 week from the prior 2026-09-11 by
the +4 FE days now ahead of Jovi's queue; recompute once Create-Ticket-web Task 1 (1.5 FE days) is
also slotted in.
| Implementor | Discipline | Committed days (this initiative) | Window |
|---|---|---|---|
| Ghozi | Backend | 15 | 2026-Q3 |
| Jovi | Frontend | 7.5 | 2026-Q3 |
| Alfi | Mobile | 5 | 2026-Q3 |
| Hendry | QA | 5 | 2026-Q3 |
Dependencies & gates
- 🔴 Billing/IAG + Chat/Omnichannel — no CDP "Customer Data" quota type and no s2s export-history register path today (OQ-17); gates EXP-S08 (a Should-Have). Core pipeline (EXP-S01–07, S09) is unblocked.
- 🟡 One Notification Team — confirm notification ingest channel (REST vs Kafka); publishing is net-new for
contact-service(OQ-10), before the notification-client chunk. - 🟡 Alibaba OSS / CDP Infra — confirm OSS quota headroom for ~5–15 MB export files at 48 h retention (OQ-4); Stage-0 gate.
- 🟡 Mobile (mobile-qontak-crm) — optional in-app tap-through routing entry (OQ-12); email is the primary delivery channel, so non-blocking.
- ✅ ~18 in-repo dependencies (gocraft/work, excelize, Alibaba OSS SDK, email service, IAG router, field-properties endpoint, @mekari/pixel3) verified present and reused.
Internal critical path: BE chunks 1–6 (reuse infra) build now → resolve OQ-10 / OQ-14 before the notification + rate-limit handlers → FE panel (complete ExportCustomerDrawer.vue) + v2.6 selection decisions (OQ-18/19/20/21) → release.