update skill and docs

This commit is contained in:
Canhchimlac
2026-09-22 13:46:36 +07:00
parent 343ad8bbbc
commit 51506aabc7
149 changed files with 43752 additions and 300 deletions

View File

@@ -0,0 +1,116 @@
# HANDOFF — Gói bàn giao DEV — <PROJECT> · <phạm vi: US / module / release>
| | |
|---|---|
| **Version** | 1.0 |
| **Date** | YYYY-MM-DD |
| **Author** | <SA> (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/<P>/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_<US>_…` | | | G3 | ☐ |
| 5 | `AC` mỗi US, đủ nhánh lỗi | `…/03-specification/AC_<US>_…` | | | 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/<P>/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/<module>.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/<kho>/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_…` · `<repo>/<module mẫu>` | | | 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 <file>` | ☐ |
| `IF` → `CTR` 100%, `DAT` → `PDM` 100% | `sa-conformance --mode full` | ☐ |
| Sơ đồ Archify validate | `diagram-check.mjs --md <SAD> --md <SRS…>` | ☐ |
## 6. Xác nhận đã nhận
| Vai | Tên | Ngày | Ghi chú |
|---|---|---|---|
| Tech Lead | | | |
| Dev BE | | | |
| Dev FE | | | |
| QA | | | |