# HANDOFF — Gói bàn giao DEV — · | | | |---|---| | **Version** | 1.0 | | **Date** | YYYY-MM-DD | | **Author** | (skill sa-3-enablement) | | **Status** | 🟡 Draft | | **Approved by** | Tech Lead: — · Dev BE: — · Dev FE: — · QA: — *(ký "đã nhận và đọc")* | | **Source** | INDEX của BA và SA · mọi artifact liệt kê ở §2 | | **Scope** | | | **Confidence** | 🟢 *(chỉ là mục lục — 🔴 nếu còn dòng "dự kiến")* | ## Change Log | Version | Date | Người sửa | Thay đổi | |---|---|---|---| | 1.0 | | | Bản đầu | > **Tài liệu này không có nội dung mới.** Nó trả lời đúng một câu cho dev: *"tôi cần đọc gì, ở đâu, > bản nào, đã được ai ký, và còn thiếu gì?"* Mọi dòng là đường dẫn thật + version + status chép từ > header. Dòng nào ghi "dự kiến"/"sẽ có" ⇒ gói chưa bàn giao được. --- ## 1. Đọc theo vai | Bạn là | Đọc theo thứ tự | Rồi mở | |---|---|---| | Dev BE | `AGD` §2 reference implementation → `CTR` (OpenAPI của module) → `PDM` §2 + `schema/` → `SRS` PART 2 + `AC` của US → `FAIL` §2 | `ADR` liên quan trong `SAD` §8 | | Dev FE | `SRS` §2 (màn hình, bảng field) + `WF`/`HIFI`/`DSPEC` → `UICONV` + `DS` → `CTR` (OpenAPI) → `ICD` §6 hành vi khi API lỗi | `AC` | | QA | `AC` + `SRS` §3, §4.1 (mã lỗi) → `QAS` (bài đo) → `CTR` (contract test) → `FIT` | `RBAC`, `BR` | | DevOps/SRE | `INF` → `FAIL` → `PDM` §4 migration → `AGD` §5 log/metric | `ADR` hạ tầng | --- ## 2. Checklist bàn giao — mọi dòng phải ✅ bằng đường dẫn thật ### 2.1 Nghiệp vụ và đặc tả (bộ BA) | # | Cần có | Đường dẫn | Version | Status | Gate | ✅/☐ | |---|---|---|---|---|---|---| | 1 | `PROFILE` + `INDEX` BA | `ba-output/

/00-index/…` | | | — | ☐ | | 2 | `BACKLOG` — US trong phạm vi bàn giao | `…/02-analysis/BACKLOG_…` | | | G2 | ☐ | | 3 | `BR` + `RBAC` | `…/02-analysis/BR_…`, `RBAC_…` | | | G2 | ☐ | | 4 | `SRS` **mỗi US** trong phạm vi | `…/03-specification/SRS__…` | | | G3 | ☐ | | 5 | `AC` mỗi US, đủ nhánh lỗi | `…/03-specification/AC__…` | | | G3 | ☐ | | 6 | `NFR` | | | | G3 | ☐ | | 7 | `API` (đề xuất của BA) — đã đối chiếu `CTR` §3 | | | | G3 | ☐ | | 8 | *(screen)* `UICONV`, `WF`, `DS`, `HIFI`, `DSPEC` | | | | G3 | ☐ | | 9 | `RTM` coverage US→AC 100% | `…/00-index/RTM_…` | | | G3 | ☐ | ### 2.2 Kiến trúc và thiết kế kỹ thuật (bộ SA) | # | Cần có | Đường dẫn | Version | Status | Gate | ✅/☐ | |---|---|---|---|---|---|---| | 10 | `QAS` — có "đo bằng cách nào" cho mọi Must | `sa-output/

/02-architecture/QAS_…` | | | AG2 | ☐ | | 11 | `SAD` — C4 Container + bảng `CMP` + deployment | | | | AG2 | ☐ | | 12 | `ADR` Accepted liên quan phạm vi (liệt kê ID) | `…/adr/ADR-…` | — | Accepted | AG2 | ☐ | | 13 | `ICD` — mọi `IF` của phạm vi | | | | AG2 | ☐ | | 14 | **`CTR` + file contract thật** (OpenAPI/AsyncAPI, lint pass) | `…/contracts/openapi/.yaml` | | | AG2 | ☐ | | 15 | `DOM` — class diagram bounded context liên quan | | | | AG2 | ☐ | | 16 | `DAT` | | | | AG2 | ☐ | | 17 | **`PDM` + DDL/migration chạy được từ rỗng, có down** | `…/schema//V001__…sql` | | | AG2 | ☐ | | 18 | `SEC` — authn/authz, map `ROLE` → quyền kỹ thuật | | | | AG2 | ☐ | | 19 | `INF` — môi trường dev/stg, cách deploy | | | | AG2 | ☐ | | 20 | `FAIL` — timeout/retry/idempotent cho mọi phụ thuộc phạm vi | | | | AG2 | ☐ | | 21 | `AGD` + **reference implementation chạy được** | `…/03-enablement/AGD_…` · `/` | | | AG3 | ☐ | | 22 | `FIT` — bài kiểm đã bật (ít nhất chế độ cảnh báo) | | | | AG3 | ☐ | | 23 | Sơ đồ đã `deliver` (HTML Archify) cho `SAD`, `SRS` sequence | `…/diagrams/*.html` | — | — | — | ☐ | ### 2.3 Thứ dev còn phải tự quyết — ghi rõ để không ai tưởng đã có | Việc | Thuộc ai | Ràng buộc từ tài liệu nào | |---|---|---| | Quy ước đặt tên biến, cấu trúc thư mục ngoài reference implementation | Tech Lead | `AGD` §1 (không quy định) | | Thư viện tiện ích không chạm `ADR` | Dev | `decision-radar.md` điểm < 3 | | | | | --- ## 3. Việc còn mở ảnh hưởng thi công | `OQ` | Câu hỏi | Ai trả lời | Chặn US/CMP nào | Dev làm gì trong lúc chờ | |---|---|---|---|---| 🔴 Còn `OQ` chặn **hành vi** của US trong phạm vi ⇒ US đó **không** trong gói bàn giao; ghi rõ. --- ## 4. Kênh hỏi và cam kết trả lời | Loại câu hỏi | Hỏi ai | Ghi vào | Trả lời trong | |---|---|---|---| | Nghiệp vụ, AC, mã lỗi | BA | `QLOG` (ba-4) | 1 ngày làm việc | | Thiết kế, contract, dữ liệu | SA | `DREV` (sa-3) | 2 ngày làm việc | | Thay đổi phạm vi | PO qua BA | `CR` | theo quy trình CR | --- ## 5. Kiểm bằng máy *(người điều phối chạy, chép kết quả)* | Kiểm | Lệnh | Kết quả | |---|---|---| | Mọi đường dẫn §2 tồn tại và header khớp version/status | `node .claude/skills/sa-3-enablement/scripts/handoff-check.mjs --handoff ` | ☐ | | `IF` → `CTR` 100%, `DAT` → `PDM` 100% | `sa-conformance --mode full` | ☐ | | Sơ đồ Archify validate | `diagram-check.mjs --md --md ` | ☐ | ## 6. Xác nhận đã nhận | Vai | Tên | Ngày | Ghi chú | |---|---|---|---| | Tech Lead | | | | | Dev BE | | | | | Dev FE | | | | | QA | | | |