Skip to content

Chỉ mục bàn giao (Delivery Index) — Tích hợp Pancake CRM (Pancake CRM Integration)

Mục đích: Cho team biết đọc file nào, ai làm gì, thứ tự triển khai, blocker còn mở, mức sẵn sàng đến đâu. Đọc trước: decision-brief.md → §Danh sách file → §Timeline → §Điểm còn mở. Canonical owner: handoff.md là canonical cho timeline, RACI, open items, blocker. PRD/UI/Dev/QA chỉ tham chiếu, không giữ version khác.

Đầu vào chuẩn (Canonical Inputs)

FileVai tròNếu conflict
SOURCE_OF_TRUTH.mdNguồn sự thật chuẩn + Solution Lock (25 DEC)Ưu tiên cao nhất
decision-brief.mdCửa vào package, tóm tắt 5 phútHandoff giữ timeline/RACI chi tiết
prd.md / ui-spec.md / dev-spec.md / qa-test-plan.mdHợp đồng chi tiếtHandoff chỉ tổng hợp
go-live-checklist.mdReadiness Pilot W1-W4, deploy gatesKhông duplicate chi tiết
TrườngGiá trị
Tính năngTích hợp Pancake CRM (Pancake CRM Integration) — MVP-1 inbound webhook
Phiên bản1.0
Ngày15/05/2026
Độ phức tạpL (Lớn)
Modulewebhook, crm-api, notification-v2-api (BE) + crm, settings (FE)
Effort~37 dev-days
Calendar5.5-6 tuần (W1-W4 pilot + 1.5-2 tuần dev đầu)
Team2 BE + 1 FE + 1 QA + 1 Ops (parallel)

1) Danh sách file deliverable

#FileNgười đọc chínhGhi chú
1Tóm tắt quyết địnhPO, Sếp, Tech Lead, nhóm deliveryĐọc đầu tiên — 5 phút nắm scope/DEC/impact/risk
2Nguồn sự thật chuẩnPO/BA, Tech Lead, subagent generationCanonical truth — 25 DEC + 19 Solution Lock
3Gói bằng chứngPO/BA, Tech LeadPhase 3 evidence + 12 critical gaps vs design doc
4PRDPO, Tech Lead, BE/FE/QAZ (Nhật ký quyết định) + A0-A12 + LIFECYCLE-001/002 + 6 FORMULA
5Đặc tả UIFE Dev, UI/UXB-PRE → B0-B9 → B-Extensions → 12-group edge cases. 5 SCR + 1 delta
6Đặc tả kỹ thuậtBE Dev, FE Dev, Tech LeadC1-C12 + 5 bảng + 8 migration + 6 cron + 15-step handler
7Kế hoạch kiểm thửQAD1-D5 + TC-001..018 + chaos test outage + load 100k/tháng
8Checklist phát hànhOps, Tech LeadPilot W1-W4 gates + rollback + monitoring

2) Bộ đọc trước cho từng vai trò

Vai tròThứ tự đọcThời lượng dự kiến
PO/BAdecision-brief → prd Z+A0+A5+A10 → SOURCE_OF_TRUTH §1+§830-45 phút
Sếp/Business Leaddecision-brief (toàn bộ) → prd A2+A3+A815 phút
Tech Leaddecision-brief → prd Z+A0 → dev-spec C1-C5 → SOURCE_OF_TRUTH §3+§460-90 phút
BE Devdecision-brief → prd A5+A10 → dev-spec C1-C12 → EVIDENCE_PACK §4+§790-120 phút
FE Devdecision-brief → prd A5 → ui-spec (full) → dev-spec C2+C660-90 phút
QAdecision-brief → prd A5+A7 → qa-test-plan → dev-spec C12 traceability60-90 phút
Ops + DevOpsdecision-brief → dev-spec C7+C8+C10 → go-live-checklist45-60 phút
UI/UX Designerdecision-brief → ui-spec B-PRE+B0+B1+B2+B7+B9 → EVIDENCE_PACK §2+§345-60 phút

3) RACI

Hạng mục bàn giaoPO/BATech LeadBE DevFE DevQAOps/DevOps
Phê duyệt scope MVP-1ACIIII
PRD (Z + A1-A12)ARCCCI
UI Spec (B-PRE → B-EXT)CCIRCI
Dev Spec (C1-C12)IARCCC
Schema migration (4 bảng + 2 ALTER + 8 sequence)IARCC
Hasura metadata YAML + permissionIARCC
Webhook handler pancake.goICRCI
Event handler 15-step event_pancake_process_record.goIARCI
Refactor GetTicketUpdates public helperIARCI
7 cron handlers (pancake_*)IARCI
REST client + circuit breaker pkg/pancake/IARCI
FE Settings UI 4 tabs + 1 containerCIRCI
FE delta dropdown source slot 9 (3 file)IIRCI
3 notification template seedCIRCI
Permission module pancake_crm_integration (6 actions)CARCCI
QA Test Plan + TC-001..018CICCRI
Chaos test outage + duplicate stressICCCRC
Load test 100k events/thángICCIRC
PD-001/002 Pancake support verificationCIIIR/A
PD-003 customer_consent.marketing key confirmAIRII
PD-008 Pilot source list (W1-W4)ACIICI
PD-011 KPI baseline manual workflow đo 1 tuầnAIIICI
Prometheus metrics + alertmanager rulesIACIR
Grafana dashboard (post-MVP-1)ICIIR
Pilot W1 launch + bug fixARCCCC
Pilot W2-W4 rolloutARCCCC
Sign-off Go-LiveARIICC

R = Responsible (làm), A = Accountable (chốt), C = Consulted (hỏi ý kiến), I = Informed (báo).


4) Timeline / kế hoạch 5.5-6 tuần calendar

Sprint 2 tuần. Tuần 0 = pre-work / out-of-band. Tuần 1-4 = Pilot rollout với feature flag 3 mức.

Tuần 0 — Pre-work (parallel với W1 dev)

MốcMục tiêuPhụ tráchPhụ thuộc
0.1 PD-001 + PD-002: gọi Pancake support 0972273341 xin HMAC + IP whitelist21/05/2026Ops
0.2 PD-003: PO confirm customer_consent.consent_data key opt-out marketing22/05/2026PO + BE
0.3 PD-011: Manager đo baseline manual workflow response time 1 tuần21/05/2026PO + Manager
0.4 PD-008: PO chọn 1 source low-volume cho W128/05/2026PO + Marketing
0.5 PD-009: TL verify Hasura concurrency: 1 cron support22/05/2026Tech Lead

Sprint 1 (Tuần 1-2): Foundation BE + UI shell

MốcMục tiêuOwnerEffortPhụ thuộc
1.1 Migration 8 file (4 ALTER + 4 CREATE + master data + permission + template + app_setting)BE1.5d
1.2 Backfill normalized_phone script PL/pgSQL batch 10k row/txBE0.5d1.1
1.3 services/webhook/handler/pancake.go (fail-open + verify + dedup)BE2d1.1
1.4 services/crm-api/event/event_pancake_process_record.go (15 STEP)BE3.5d1.1, 1.3
1.5 pkg/pancake/ (REST client + phone_normalize + advisory lock)BE1.5d1.1
1.6 Refactor GetTicketUpdates thành public helperBE1d
1.7 Pancake handler call helper sau INSERT ticket (STEP 9-10)BE0.5d1.4, 1.6
1.8 Hasura event trigger + 4 YAML metadata + permission AdminBE0.5d1.1
1.9 3 notification template seed + handler call STEP 12BE1.5d1.1
1.10 customer_consent Go struct buildBE0.25d
1.11 FE delta dropdown source (3 file: types.ts + vi.ts + sourceDescriptions)FE1d1.1
1.12 FE Settings container + tab routing skeletonFE0.5d
End of Sprint 1: BE webhook receiver + handler + ticket creation ready cho W1 pilot

Sprint 2 (Tuần 3-4): Outage recovery + Settings UI full + Pilot W1-W3

MốcMục tiêuOwnerEffortPhụ thuộc
2.1 Cron 3 sources sync hourlyBE1d1.5
2.2 Cron 4 outage detect (state machine)BE1d1.1
2.3 Cron 6 adaptive polling fallbackBE3d2.1, 2.2
2.4 Cron 7 daily reconciliation 25h windowBE2d1.5, 2.1
2.5 Cron pancake_test_event_cleanup + pancake_dlq_retryBE1d1.1
2.6 DLQ Replay UI Tab 3 (panel + detail + replay action + bulk) + Hasura action pancake_replay_eventBE + FE3d1.4
2.7 SCR-01 Tab Kết nối Pancake (form + kiểm tra kết nối button)FE1d1.12
2.8 SCR-02 Tab Map source → branch (inline-edit + manual sync button)FE1.5d2.1
2.9 SCR-03 Tab Audit + DLQ replay UIFE1.5d2.6
2.10 SCR-04 Tab Sức khỏe (metrics + outage history)FE0.5d2.2
2.11 Backfill custom window endpoint + UI modalBE+FE1.5d2.4
2.12 Circuit breaker REST sony/gobreaker integration + testsBE1d1.5
2.13 Advisory lock + dedup race fix integration testBE1d1.4
2.14 Prometheus metrics + alertmanager rulesBE + DevOps2.5d
2.15 Pilot W1 launch 1 source low-volume + bug fixAll2d1.1-1.12
2.16 Pilot W2 5 source mid-volumeAll1d2.15
2.17 Pilot W3 15 source high-volume (load test 100 req/s)All3d2.16
End of Sprint 2: Production-ready cho W4 launch

Sprint 3 (Tuần 5-6): Production launch + monitoring

MốcMục tiêuOwnerEffortPhụ thuộc
3.1 Pilot W4 production launch 40+ sourceAll4d2.17
3.2 PD-001 HMAC signature deployment (nếu Pancake support response trước W4)Ops + BE0.5d0.1
3.3 PD-002 IP whitelist enforcementOps + BE0.5d0.1
3.4 Chaos test outage simulation + duplicate retry stressQA2d2.3, 2.4, 2.6
3.5 KPI baseline measurement post-launch (so sánh với PD-011)PO + Manager1 tuần (passive)3.1
3.6 Grafana dashboard (5 KPI section)DevOps2d2.14, 3.1
3.7 Sign-off Go-LivePO + TL0.5d3.1, 3.4
3.8 Phase 7 AUTO-PUBLISH /publish-doc pancake-crm-integrationPO/BA0.5d3.7
End of Sprint 3: Production live + full observability + signed off

5) Điểm còn mở / blocker (12 PD + risks)

IDLoạiNội dungPhụ tráchHạn chótTrạng tháiBlock
PD-001PD-block-launchPancake webhook HMAC signature header tên gì (X-Pancake-Signature?)Ops25/06/2026 (W4)OpenLaunch W4
PD-002PD-block-launchPancake IP whitelist rangeOps + Dev25/06/2026OpenLaunch W4
PD-003PD-block-phasecustomer_consent.consent_data key opt-out marketingBE + PO22/05/2026OpenPhase 4 FR-017
PD-004PD-non-blockVIP tag IDs initial seedPO04/06/2026 (W2)OpenNon-block
PD-005PD-non-blockPancake retry policy chi tiếtQAW1 testOpenNon-block
PD-006PD-non-blockPancake REST /sources rate limitQAW1 testOpenNon-block
PD-008PD-non-blockPilot 4 tuần exact source listPO + Marketing28/05/2026 (W1)OpenW1 setup
PD-009PD-non-blockHasura concurrency: 1 cron supported?TL22/05/2026OpenNon-block (fallback advisory lock)
PD-011PD-block-measureKPI baseline manual workflow response timePO + Manager21/05/2026 (trước W1)OpenKPI measurement
PD-012PD-non-blockNotification noti_pancake_outage kênhPOW1OpenNon-block (default push admin)
RSK-001Risk-caoPancake auto-suspend webhook (80% error / 30 phút)BE + OpsMitigated by DEC-003 + DEC-015Mitigated
RSK-002Risk-caoRace tạo account trùng cùng phoneBEMitigated by DEC-020 advisory lockMitigated
RSK-005Risk-tbFE delta hardcode source slot ngoài TicketSources (report module)FEGrep audit W1OpenPhase 4 FR-018
DEP-001Dep-externalPancake support phản hồi PD-001/002Ops25/06/2026PendingLaunch W4
DEP-002Dep-internalBackfill normalized_phone ~1M account chạy ~8 phútBE + DevOpsSprint 1PendingMigration 1.1
DEP-003Dep-internalDevOps deploy public HTTPS endpoint cho webhook (TLS termination reverse proxy)DevOpsSprint 1Pending1.3
DEP-004Dep-internalNotification-v2-api template seed phải apply trước handler callBESprint 1Pending1.9 → 1.4

Quy tắc severity:

  • Block-launch: PHẢI resolve trước W4 production
  • Block-phase: Block phase tiếp theo của workflow
  • Block-measure: Block KPI measurement post-launch
  • Non-block: Parallel ok, có default tạm thời
  • Mitigated: Đã có DEC + implementation plan
  • Risk-cao/tb/thấp: Theo PRD A7

6) Thứ tự deploy production

KHÔNG được skip thứ tự — risk DB corruption hoặc Hasura metadata drift.

Thứ tựBướcOwnerVerify
1Apply 8 migration sequence (1777870069928..935) — schema + master data + permission + template + app_settingBEHasura console schema view
2Apply Hasura metadata: 4 bảng pancake_* YAML + permission Admin + event trigger + cron triggersBEhasura metadata apply success
3Deploy services/webhook (PR 1: pancake handler)DevOpsHealth check /healthz
4Deploy services/crm-api (PR 2: event handler + 7 cron + REST client + refactor distribute_ticket)DevOpsHealth check + cron list verify
5Deploy diva-admin FE (PR 3: 3 file delta + 5 Settings pages mới + routes + menu + permission)DevOpsSmoke test admin login → Settings/Pancake menu visible
6Setup Pancake admin: nhập webhook URL https://diva.com.vn/api/pancake/record/{token} + api_keyOpsTab 1 button "Kiểm tra kết nối" pass
7Enable W1 pilot: 1 source is_active=true (kill switch off để dev mode)PO + OpsTab 3 audit log có event đầu tiên
8Sau 24h W1 stable: enable kill switch ON + W2 5 sourcePO + OpsKPI dashboard event success ≥ 99.5%
9W3 15 source + load test verifyQALatency p95 ≤ 30s
10W4 40+ source production launchPO + TLSign-off Go-Live

Rollback plan: xem go-live-checklist.md E3.


7) Bộ tài liệu liên quan

  • Design doc Mode A nguồn: docs/superpowers/specs/2026-05-04-pancake-crm-record-webhook-design.md (v2.2 — base cho PRD này)
  • Pancake CRM API docs: /Users/st/Downloads/document.yaml (Swagger 2.0) + document webhook.yaml (OpenAPI 3.0)
  • CLAUDE.md project rules: đặc biệt Diva Common Pitfalls Map (4 traps migration safety, REPLACE silent no-op)
  • SKILL.md po-ba-workflow: workflow 7 phase + HARD-GATEs
  • Diva Permission Model: references/diva-permission-model.md (default seed + dynamic override)

8) Lien hệ + escalation

Vấn đềLiên hệ chínhBackup
Pancake support (PD-001/002)Ops leadZalo 0972273341
PD-003 customer_consent keyPO/BABE Lead
Schema migration sự cốTech LeadDevOps lead
Hasura metadata driftTech LeadBE Lead
Webhook endpoint DDoSDevOps leadTech Lead
Production outage PancakeOps leadPO/BA
KPI/Conversion dataPO/BAManager

Hết Delivery Index v1.0. Sẵn sàng bàn giao team. Phase 7 AUTO-PUBLISH sẽ chạy sau khi PO sign-off.


9) Pass 1 Resolutions v1.1 (Phase 5.2 Multi-Perspective Review)

Date: 15/05/2026 | Trigger: 4 reviewer feedback (PO/BA + Tech Lead BLOCK + QA/DevOps + FE/UX).

9.1) Effort + timeline updates

ItemMớiΔ
Total dev-days37d44.25d+7.25d
Calendar5.5-6 tuần6 tuần (tight)+0.5 tuần
BE allocation2 BE × 14d2 BE × ~16.5d each+2.5d each BE
FE allocation1 FE × 7d1 FE × ~9.5d+2.5d FE
QA allocation1 QA × 6d1 QA × 8d (+2d new TC)+2d QA
DevOps allocation(chưa explicit)1 Ops × 3d explicitNEW

9.2) RACI updates cho new conditions

Hạng mục bàn giao mớiPO/BATech LeadBE DevFE DevQAOps/DevOps
pkg/pancake/db.go pgxpool foundation (DEC-028)IARCC
External backfill Go jobICRIC
Migration #3 contact_book cleanup + verify duplicateIARCC
F18 4-file delta (CustomerTicketManager.tsx thêm)IIRCI
XJsonViewer + XMetricCard build newICRCI
3 alertmanager rules thêmIACR
Deploy step 9a/9b splitIACCR
HMAC verification path spec (post PD-001)IACCR
Permission audit lint scriptIRCCCI
Rollback drill staging rehearsalICRICR
DEC-026/027/028 sign-offARCCCC
PD-013 resolution (ticket.first_response_at)ACRII
PD-014 resolution (Pancake /records endpoint verify)CIIAR

9.3) Blocker severity updates

IDMớiLý do
PD-003Phase-block FR-017Phase-block + audit data coverage ACCompliance risk thực
PD-008Non-blockBlock-W1-startQA setup data
PD-011Mismatch (Non-block decision-brief / Block-pilot handoff)Block-pilot-start consistent 3 file
PD-013 NEWBlock-KPI-measurefirst_response_at field cho FORMULA-002
PD-014 NEWBlock-Cron-7Pancake /records?modified_since endpoint verify

9.4) Sprint plan revised

Sprint 1 (Tuần 1-2) — Foundation + critical infra:

  • W1 day 1-3: DEC-028 pgxpool foundation (BE-1 + Tech Lead pair) — block other tasks
  • W1 day 4-7: Migration 1-8 (with revisions C13.3) + Hasura YAML conventions sweep
  • W1 day 8-10: 15-step handler implementation theo pgxpool architecture
  • W2: Settings UI 4 tabs + 7 cron handlers + DLQ replay

Sprint 2 (Tuần 3-4) — Outage recovery + Pilot W1-W3:

  • W3 day 1: 3 alertmanager rules thêm + HMAC spec
  • W3 day 2-3: Rollback drill rehearsal staging
  • Pilot W1-W3 execute

Sprint 3 (Tuần 5-6) — Production launch W4 + monitoring + publish:

  • W4 production launch
  • Phase 6 finalize + Phase 7 publish dva-doc + GitHub push

9.5) Document index updates

FileUpdate
REVIEW_REPORT.md (NEW)Tổng hợp 4 reviewer feedback + 22 P0 + 15 P1 + 3 DEC mới + 2 PD mới
EVIDENCE_PACK.md§11 Pass 1 Resolutions — contact_book truth + architecture mismatch + F18 = 4 file
SOURCE_OF_TRUTH.md§10 Pass 1 Resolutions — DEC-006 revised + DEC-026..028 mới + PD-013..014
prd.mdZ' Decision Log v1.1 — DEC updates + new DEC + new PD + new RSK + FR corrections
dev-spec.mdC13 Pass 1 Resolutions — direct pgxpool architecture + migration revisions + 13 new tasks
ui-spec.md(pending) B-Resolutions — F18 4 file + component audit + B-Voice banner outage
qa-test-plan.mdD7 Pass 1 Resolutions — 11 new TC + DS-002 v2 + entry/exit updates
handoff.mdSection §9 này
go-live-checklist.md(pending) E7 Pass 1 Resolutions — 3 alert rules + HMAC spec + step 9a/9b split
decision-brief.md(pending) §9 PD severity sync

9.6) Sign-off conditions cho Phase 6

Trước khi Phase 6 DELIVER finalize, các điều kiện sau phải pass:

  1. ✅ Pass 1 fix applied (4 file critical + tracking)
  2. ⏳ ui-spec + go-live + decision-brief sync (sẽ làm tiếp)
  3. ⏳ Re-run 4 lint scripts → 0 ERROR
  4. ⏳ Optional Pass 2 verification re-review (Tech Lead confirm DEC-028 architecture)
  5. ⏳ PO confirm DEC-026, DEC-027, DEC-028 (3 new decision)
  6. ⏳ PO confirm PD-013, PD-014 (2 new pending decision)

Sau khi all condition pass → Phase 7 AUTO-PUBLISH + GitHub push.