Appearance
Decision Brief — Sales/CSKH debt follow-up và bàn giao khách hàng
Canonical Inputs
SOURCE_OF_TRUTH.mdEVIDENCE_PACK.mdprd.mdui-spec.mddev-spec.mdqa-test-plan.mdgo-live-checklist.mdhandoff.md
1. Tóm tắt 5 phút
Package này chuyển HTML Sales-CSKH_Debt_Spec.html thành bộ đặc tả triển khai L-profile cho Diva. Kết luận quan trọng nhất: phần lớn capability công nợ đã tồn tại trong codebase, gồm web dashboard, daily alert planner, follow-up task, handover action/rollback, notification templates và mobile debt module.
Do đó phạm vi chính không phải “xây mới từ đầu”, mà là chuẩn hóa delta để tính năng đủ an toàn khi vận hành: quyền Dynamic Permission v2, branch/self scoping, least-data cho dữ liệu nhạy cảm, chốt schedule cảnh báo, QA đầy đủ cho handover/rollback và export.
2. Package map
| File | Người đọc chính | Vai trò |
|---|---|---|
EVIDENCE_PACK.md | PO, TL, BA | Bằng chứng từ HTML và codebase |
SOURCE_OF_TRUTH.md | All | Quyết định canonical, scope lock, pending decisions |
prd.md | PO, TL, QA | Yêu cầu nghiệp vụ, FR/AC, glossary, formulas |
ui-spec.md | Designer, FE, QA | As-Is inventory, delta contract, copy, state, permission matrix |
dev-spec.md | BE, FE, DBA, TL | Impact kỹ thuật, data/API/permission, tasks |
qa-test-plan.md | QA | Test matrix, seed data, entry/exit |
go-live-checklist.md | TL, Ops, QA | Gates triển khai, deploy, monitor, rollback |
handoff.md | Team triển khai | RACI, timeline, blockers |
_consistency-matrix.md | BA, QA, TL | Cross-check FR/UI/Dev/QA/Permission/Notification |
3. Scope lock
In scope
| Nhóm | Scope |
|---|---|
| Web debt manager | Giữ /dm/debt, 3 tab hiện hữu, chuẩn hóa quyền, export, state và QA |
| Debt alert | Giữ config/planner/template hiện hữu, chốt schedule, permission settings và monitor |
| Follow-up | Tạo lịch nhắc, nhận notification, ghi nhận liên hệ, hoàn tất task |
| Handover | Wizard 3 bước, preview, audit, rollback 24 giờ, chống conflict |
| Mobile | Reuse debt list/detail/reminder, align quyền và notification route |
| Security | Dynamic Permission v2, branch scope, least-data cho số điện thoại/tiền nợ/handover |
Out of scope
| Hạng mục | Ghi chú |
|---|---|
| Auto-assign debt owner | Cần policy riêng |
| SLA escalation nhiều cấp | Không có trong intent nguồn |
| Bảng snapshot bắt buộc | Chỉ xem xét nếu capacity gate fail |
| New mobile app/API riêng | Flutter staff app đã có module debt |
4. Quyết định chính
| Quyết định | Chọn | Không chọn |
|---|---|---|
| Build mode | Delta-first trên module đã có | Greenfield theo HTML |
| Web entry | /dm/debt hiện hữu | Route dashboard mới |
| Alert | Reuse planner/config/template | Tạo scheduler mới |
| Handover | Reuse action + log + rollback | Tạo bảng workflow mới |
| Data reporting | Reuse SQL functions hiện hữu | Thêm snapshot mặc định |
| Permission | Dynamic Permission v2 + backend least-data | Chỉ hide bằng FE |
5. Rủi ro cần xử lý trước UAT
| Mức | Rủi ro | Owner | Hướng xử lý |
|---|---|---|---|
| P0 | Hasura table permissions cho debt/handover/follow-up đang rộng | TL/BE | Harden metadata hoặc chuyển sang scoped views/actions |
| P0 | Chưa thấy default role grants cho debt_manager modules | TL/DB | Seed grants theo portal trước UAT |
| P1 | Cron daily alert đang 17:05, có thể lệch kỳ vọng “đầu ngày” | PO/Ops | Chốt PD-002 và cập nhật metadata/runbook |
| P1 | Mobile dùng static RolePermission cho debt filter scope | Mobile/TL | Bridge với dynamic permissions hoặc ghi rõ Day-1 exception |
| P1 | Reset wizard handover có default khác initial state | FE | Verify và sửa nếu tái hiện |
6. Handoff pointers
- TL nên đọc
SOURCE_OF_TRUTH.mdtrước rồi quadev-spec.md. - FE nên bắt đầu từ
ui-spec.mdB0/B2 và taskFE-*trongdev-spec.md. - BE/DB nên xử lý quyền/metadata ở
dev-spec.mdC7/C8 trước khi tối ưu báo cáo. - QA dùng
qa-test-plan.mdD2/D3 và_consistency-matrix.mdđể trace đủ FR. - Ops dùng
go-live-checklist.mdcho cron, notification, monitor và rollback.