Bản lưu roadmap v6.1 — 26/09/2026

LỊCH SỬ — giữ nội dung trước đợt hợp nhất. Không dùng để giao việc hoặc mở .
Bản điều phối đề xuất: ROADMAP v7.0.
Nội dung cũ đặt trong khối mã để giữ nguyên chữ và đường dẫn lịch sử.
Ngày, giờ, trạng thái và tuyên bố đồng ý bên dưới chưa được xác minh lại.

# Roadmap Triển khai Chi tiết — CXK v6.1

> **Ngày:** 26/09/2026 | **Phiên bản:** v6.1 (nâng cấp từ v6.0 — thêm buffer, risk, PL8, sync camera)  
> **Xem thêm:** [Kiến trúc](../KIEN_TRUC_DU_AN.html) | [Phân tích](../PHAN_TICH_DU_AN.html) | [Camera Task Board](../CAMERA_MODULE_TASK_BOARD.html) | [Phản biện](../../reports/PHAN_BIEN_ROADMAP.html)  
> **Trạng thái:** Đề xuất — cần GVHD duyệt trước khi triển khai

---

## 1. Tổng quan Lộ trình

### 1.1 Timeline

```mermaid
gantt
    title Lộ trình 23 tuần - 8 Sprint + 2 Buffer (v6.0)
    dateFormat YYYY-MM-DD
    axisFormat %d/%m

    section NCS1 — Core MVP
    S1: Tái cấu trúc & Kickoff: s1, 2026-09-25, 14d
    S2: Vault & Knowledge (Thoái hoá khớp): s2, after s1, 21d
    S3: Knowledge (Đau lưng + Loãng xương): s3, after s2, 21d
    S4: Gate A & Context Loader: s4, after s3, 21d
    Buffer 1: milestone, b1, after s4, 7d
    S5: Safety + Backend + Gate B: s5, after b1, 21d
    S6: Frontend + Voice + Gate C: s6, after s5, 14d
    S7: Pilot 20-30 NCT: s7, after s6, 21d
    Buffer 2: milestone, b2, after s7, 7d
    S8: Báo cáo cuối + Gate D: s8, after b2, 14d

    section NCS2 — Camera POC
    C1: Setup + POC MediaPipe: c1, 2026-10-09, 14d
    C2: Đo TUG/5STS/Gait: c2, after c1, 14d
    C3: Safety + Camera Gate A: c3, after c2, 14d
    C4: Tích hợp + Pilot nội bộ: c4, after c3, 14d
```

### 1.2 Nguồn lực

| Vai trò | Người | Giờ/tuần | Phạm vi |
|---|---|---|---|
| **NCS1** | Võ Trần Gia Hiếu | ~29h | Core MVP (Sprint 1–8) |
| **NCS2** | Đỗ Đoàn Anh Tuấn | ~20h | Camera POC (Sprint C1–C4) |
| **CVYK** | Lương y Vũ Thế Sỹ | ~3–6h | Review thẻ tri thức, ký ngưỡng, duyệt safety |
| **GVHD** | Nguyễn Đảm | ~2h | Hướng dẫn NCKH, review output AI, ký gate |
| **AI Agent** | Antigravity / Gemini | Không giới hạn | Draft KC, code, automation, test generation |

### 1.3 Cổng kiểm soát (Quality Gates)

| Gate | Sprint | Người ký | Tiêu chí pass |
|---|---|---|---|
| **Gate A: Knowledge** | S4 (W11) | CVYK + GVHD | ≥80 thẻ tri thức APPROVED, taxonomy hoàn chỉnh |
| **Gate B: Technical** | S5 (W14) | NCS1 + GVHD | Context Loader + Safety + Backend hoạt động, ≥90% test pass |
| **Gate C: Clinical** | S6 (W16) | CVYK + GVHD | 100 test cases pass ≥95% clinical safety, UI WCAG pass |
| **Gate D: Final** | S8 (W21) | GVHD | Pilot report + Báo cáo ≤15 trang hoàn chỉnh |
| **Camera Gate A** | C3 (W8) | CVYK | POC TUG/5STS accuracy ≥85%, so sánh stopwatch |
| **Camera Gate B** | C4 (W10) | CVYK + GVHD | Pilot 5 người, 0 video lưu, báo cáo POC |

---

## 2. Sprint Plan Chi tiết

### Sprint 1: Tái cấu trúc & Kickoff (Tuần 1–2)

**Mục tiêu:** Hoàn thành nền móng dự án — cấu trúc, tài liệu quản trị, và kickoff meeting.

| Đầu vào cần cung cấp | Nguồn |
|---|---|
| Phê duyệt kiến trúc v6.0 | GVHD ký |
| Xác nhận scope 7 nhóm bệnh MVP | CVYK + GVHD |
| Tài khoản server (IIS, MSSQL) | Công ty Vaga |

| # | Task | Vai trò | Đầu ra | Tiêu chí nghiệm thu | Giờ |
|---|---|---|---|---|---|
| 1.1 | Hoàn thiện cấu trúc folder 6 tầng | AI + NCS1 | Thư mục + redirect stubs | `check_structure.py` pass | NCS 2h, AI 2h |
| 1.2 | Tạo `source_registry.csv` | AI + NCS1 | CSV 61 nguồn (36 core + 25 camera) | Mỗi nguồn có URL, license, status | NCS 1h, AI 1h |
| 1.3 | Tạo `msk_taxonomy_v1.yaml` | AI + NCS1 | YAML 7 nhóm bệnh + sub-categories | CVYK review structure | NCS 2h, AI 1h |
| 1.4 | Soạn `safety_charter.md` bản chính thức | NCS1 + AI | Safety policy v1.0 | CVYK ký | NCS 2h, CVYK 1h |
| 1.5 | Cập nhật `project_charter.md` + `intended_use.md` | NCS1 + AI | Bản chính thức | GVHD ký | NCS 3h, AI 1h |
| 1.6 | Setup Obsidian vault + hướng dẫn CVYK | NCS1 | Vault trên shared drive + docs | CVYK mở được, edit được | NCS 5h, CVYK 1h |
| 1.7 | Tạo Obsidian templates (KC, FAQ, MOC) | AI + NCS1 | 4 templates | `validate_schema.py` pass | NCS 1h, AI 1h |
| 1.8 | Soạn kickoff slides (10–15 trang) | NCS1 + AI | PPT/PDF | GVHD duyệt | NCS 8h, AI 2h |
| 1.9 | Tạo `evidence_pyramid.yaml` | AI | YAML phân cấp bằng chứng | Có ≥5 mức | AI 1h |
| 1.10 | M0: Kickoff Meeting | NCS1 + GVHD | Biên bản + ảnh | GVHD ký biên bản | NCS 2h, GVHD 2h |

**Tổng giờ Sprint 1:** NCS1: 26h/46h (57%) | CVYK: 2h | GVHD: 2h | AI: 9h

**Kế hoạch tuần:** <code>📄 W1/</code> | <code>📄 W2/</code>

---

### Sprint 2: Vault & Knowledge — Thoái hóa khớp (Tuần 3–5)

**Mục tiêu:** Tạo 25 thẻ tri thức cho nhóm bệnh Thoái hóa khớp — nhóm bệnh chủ lực MVP.

| Đầu vào cần cung cấp | Nguồn |
|---|---|
| CVYK xác nhận mẫu KC đầu tiên (format) | CVYK duyệt template |
| Tài liệu y khoa: `21-thoai-hoa-khop.md` (24 KB) | `knowledge-base/sources/DHYHN/Tap2/` |
| Hướng dẫn BYT QĐ 361 — phần thoái hóa khớp | `knowledge-base/sources/` |

| # | Task | Vai trò | Đầu ra | Tiêu chí nghiệm thu | Giờ |
|---|---|---|---|---|---|
| 2.1 | Trích xuất 3 KC mẫu Thoái hóa khớp | AI draft → NCS1 review | 3 KC YAML | CVYK approve ≥2 mẫu | NCS 3h, AI 2h, CVYK 2h |
| 2.2 | Trích xuất 22 KC còn lại | AI draft → NCS1 review → CVYK approve | 22 KC YAML | `validate_schema.py` pass, CVYK approve ≥18 | NCS 8h, AI 3h, CVYK 7h |
| 2.3 | Tạo MOC (Map of Content) Thoái hóa khớp | NCS1 + AI | 1 MOC file | Liên kết đúng 25 KC | NCS 1h, AI 1h |
| 2.4 | Sinh 50 FAQ draft từ 25 KC | AI draft → NCS1 edit | 50 FAQ | ≥40 FAQ thông qua NCS1 review | NCS 2h, AI 2h |
| 2.5 | Nhật ký nghiên cứu Sprint 2 | NCS1 | Diary entries | Ghi đầy đủ mỗi ngày làm việc | NCS 3h |

**Tổng giờ Sprint 2:** NCS1: 17h/69h (25%) | CVYK: 9h/9.6h (94%) ⚠️ | AI: 8h

**Kế hoạch tuần:** <code>📄 W3/</code> | <code>📄 W4/</code> | <code>📄 W5/</code>

> ⚠️ **Rủi ro:** CVYK load 94% — cần rải review đều 3 tuần, không dồn cuối sprint.

---

### Sprint 3: Knowledge — Đau lưng + Loãng xương + Té ngã (Tuần 6–8)

**Mục tiêu:** Mở rộng kho tri thức sang 3 nhóm bệnh tiếp theo, hoàn thành Gate A phần 1.

| Đầu vào cần cung cấp | Nguồn |
|---|---|
| `28-dau-vung-that-lung.md` (52 KB) | Tap2 |
| `22-loang-xuong.md` (32 KB) | Tap2 |
| `27-dinh-huong-chan-doan-dau-xuong-khop.md` (29 KB) — Red flag rules | Tap2 |
| CVYK feedback từ Sprint 2 (format + nội dung) | CVYK |

| # | Task | Vai trò | Đầu ra | Tiêu chí nghiệm thu | Giờ |
|---|---|---|---|---|---|
| 3.1 | Trích xuất 15 KC Đau lưng | AI → NCS1 → CVYK | 15 KC YAML | CVYK approve ≥12 | NCS 6h, AI 2h, CVYK 4h |
| 3.2 | Trích xuất 10 KC Loãng xương | AI → NCS1 → CVYK | 10 KC YAML | CVYK approve ≥8 | NCS 4h, AI 2h, CVYK 3h |
| 3.3 | Trích xuất 5 KC Té ngã/Phòng ngã | AI → NCS1 → CVYK | 5 KC YAML | CVYK approve ≥4 | NCS 2h, AI 1h, CVYK 2h |
| 3.4 | Red flag rules YAML (từ chương 27) | NCS1 + AI + CVYK | `red_flag_rules.yaml` | CVYK ký, ≥20 cờ đỏ | NCS 3h, AI 2h, CVYK 2h |
| 3.5 | Gate A phần 1: ≥55 KC | NCS1 + CVYK | Biên bản | ≥55 KC approved | NCS 1h, CVYK 1h |
| 3.6 | Nhật ký Sprint 3 | NCS1 | Diary entries | Mỗi ngày | NCS 3h |

**Tổng giờ Sprint 3:** NCS1: 19h/69h (28%) | CVYK: 12h/9.6h ⚠️ VƯỢT | AI: 7h

**Kế hoạch tuần:** <code>📄 W6/</code> | <code>📄 W7/</code> | <code>📄 W8/</code>

> ⚠️ **CVYK vượt load** — cần thương lượng tăng giờ lên 4h/tuần hoặc rải sang Sprint 4.

---

### Sprint 4: Gate A + Context Loader (Tuần 9–11)

**Mục tiêu:** Hoàn thành ≥80 KC, pass Gate A, xây dựng Context Loader module.

| Đầu vào cần cung cấp | Nguồn |
|---|---|
| `14-viem-khop-dang-thap.md` (39 KB), `20-benh-gut.md` (45 KB) | Tap2 |
| `35-kham-benh-o-nguoi-cao-tuoi.md` (58 KB) — Lão khoa | Tap1 |
| API key Gemini 2.5 Pro/Flash | NCS1 đăng ký |
| Server access (SSH/RDP) | Công ty Vaga |

| # | Task | Vai trò | Đầu ra | Tiêu chí nghiệm thu | Giờ |
|---|---|---|---|---|---|
| 4.1 | Trích xuất 17 KC (Viêm khớp, Gout, Nhiễm khuẩn) | AI → NCS1 → CVYK | 17 KC YAML | CVYK approve ≥14 | NCS 7h, AI 2h, CVYK 5h |
| 4.2 | Trích xuất 8 KC Lão khoa + Sarcopenia | AI → NCS1 → CVYK | 8 KC YAML | CVYK approve ≥6 | NCS 3h, AI 1h, CVYK 2h |
| 4.3 | **M2: Gate A pass (≥80 KC approved)** | NCS1 + CVYK + GVHD | Biên bản Gate A | GVHD ký | NCS 2h, CVYK 1h, GVHD 1h |
| 4.4 | Xây dựng Context Loader module | NCS1 + AI | Python module | Load ≤2MB files, ≤5s | NCS 6h, AI 8h |
| 4.5 | Xây dựng Prompt Template system | NCS1 + AI | Template files | ≥5 prompt templates, citation format | NCS 3h, AI 4h |
| 4.6 | Nhật ký Sprint 4 | NCS1 | Diary entries | Mỗi ngày | NCS 3h |

**Tổng giờ Sprint 4:** NCS1: 24h/69h (35%) | CVYK: 8h/9.6h (83%) | GVHD: 1h | AI: 15h

**Kế hoạch tuần:** <code>📄 W9/</code> | <code>📄 W10/</code> | <code>📄 W11/</code>

---

### Sprint 5: Safety + Backend + Gate B (Tuần 12–14)

**Mục tiêu:** Xây dựng backend hoạt động: Safety engine + API + LLM integration + 100 test cases.

| Đầu vào cần cung cấp | Nguồn |
|---|---|
| Gate A passed (≥80 KC) | Sprint 4 output |
| Context Loader module | Sprint 4 output |
| `red_flag_rules.yaml` | Sprint 3 output |
| Server IIS + MSSQL ready | Công ty Vaga |

| # | Task | Vai trò | Đầu ra | Tiêu chí nghiệm thu | Giờ |
|---|---|---|---|---|---|
| 5.1 | Safety engine (3 lớp: pre-check, prompt, post-check) | NCS1 + AI | Python module | Phát hiện ≥95% cờ đỏ trong test | NCS 6h, AI 8h, CVYK 2h |
| 5.2 | Sinh 100 test cases (gold label) | AI draft → CVYK label | JSON test suite | CVYK label ≥80 cases, ≥20% cờ đỏ | NCS 3h, AI 4h, CVYK 3h |
| 5.3 | Backend API (FastAPI) + LLM integration | NCS1 + AI | API endpoints | /ask, /health, /feedback hoạt động | NCS 8h, AI 10h |
| 5.4 | Citation engine | NCS1 + AI | Module trích dẫn | ≥90% câu trả lời có citation | NCS 3h, AI 4h |
| 5.5 | Deploy trên IIS + MSSQL audit log | NCS1 | Hệ thống chạy | URL truy cập được từ ngoài | NCS 4h |
| 5.6 | **M4: Gate B pass (Technical)** | NCS1 + GVHD | Biên bản Gate B | ≥90% test pass, API ổn định | NCS 2h, GVHD 1h |
| 5.7 | Nhật ký Sprint 5 | NCS1 | Diary entries | Mỗi ngày | NCS 3h |

**Tổng giờ Sprint 5:** NCS1: 29h/69h (42%) | CVYK: 5h | GVHD: 1h | AI: 26h

**Kế hoạch tuần:** <code>📄 W12/</code> | <code>📄 W13/</code> | <code>📄 W14/</code>

---

### Sprint 6: Frontend + Voice + Gate C (Tuần 15–16)

**Mục tiêu:** Giao diện web + Voice + test nội bộ + pass Clinical Safety gate.

| Đầu vào cần cung cấp | Nguồn |
|---|---|
| Backend API hoạt động | Sprint 5 output |
| 100 test cases + gold labels | Sprint 5 output |
| Wireframe / design mockup | NCS1 + AI |

| # | Task | Vai trò | Đầu ra | Tiêu chí nghiệm thu | Giờ |
|---|---|---|---|---|---|
| 6.1 | Design wireframe (trợ năng ưu tiên) | NCS1 + AI | Figma/HTML mockup | Font ≥18px, contrast ≥4.5:1, ≤4 CTA | NCS 4h, AI 4h |
| 6.2 | Web MVP (Vue 3) | NCS1 + AI | Vue 3 build | Chat hoạt động, responsive, WCAG AA | NCS 6h, AI 8h |
| 6.3 | Voice STT/TTS integration | NCS1 + AI | Voice module | Nhận diện tiếng Việt, xác nhận transcript | NCS 4h, AI 4h |
| 6.4 | Test nội bộ (3–5 người) | NCS1 | Log + feedback | ≥3 người test, mỗi người ≥10 câu | NCS 8h |
| 6.5 | **M6: Gate C (Clinical Safety)** | CVYK + GVHD | Biên bản Gate C | ≥95% clinical safety score, CVYK ký | NCS 2h, CVYK 2h, GVHD 1h |
| 6.6 | Nhật ký Sprint 6 | NCS1 | Diary entries | Mỗi ngày | NCS 3h |

**Tổng giờ Sprint 6:** NCS1: 27h/46h (59%) | CVYK: 2h | GVHD: 1h | AI: 16h

**Kế hoạch tuần:** <code>📄 W15/</code> | <code>📄 W16/</code>

---

### Sprint 7: Pilot 20–30 NCT (Tuần 17–19)

**Mục tiêu:** Thử nghiệm thực tế với 20–30 người cao tuổi, thu thập data + feedback.

| Đầu vào cần cung cấp | Nguồn |
|---|---|
| Gate C passed | Sprint 6 output |
| Phiếu đồng thuận (consent form) | NCS1 soạn, GVHD duyệt |
| Danh sách NCT tham gia | NCS1 tuyển |
| Hệ thống hoạt động ổn định | Sprint 6 output |

| # | Task | Vai trò | Đầu ra | Tiêu chí nghiệm thu | Giờ |
|---|---|---|---|---|---|
| 7.1 | Soạn phiếu consent + tuyển NCT | NCS1 | Consent forms + danh sách | ≥20 NCT ký consent, ẩn danh PL6 | NCS 12h |
| 7.2 | **M7: Pilot 20–30 NCT** (2 tuần) | NCS1 + CVYK | Log hệ thống + field notes | ≥20 NCT, mỗi NCT ≥5 câu hỏi | NCS 12h, CVYK 2h |
| 7.3 | Hỗ trợ NCT sử dụng / fix bugs | NCS1 + AI | Bug fixes + updates | Response time ≤4h cho bug critical | NCS 6h, AI 3h |
| 7.4 | Phỏng vấn 5 NCT (SUS + open-ended) | NCS1 | Transcript + điểm SUS | ≥5 NCT phỏng vấn | NCS 8h |
| 7.5 | Nhật ký Sprint 7 | NCS1 | Diary entries | Mỗi ngày | NCS 3h |

**Tổng giờ Sprint 7:** NCS1: 41h/69h (59%) | CVYK: 2h | AI: 3h

**Kế hoạch tuần:** <code>📄 W17/</code> | <code>📄 W18/</code> | <code>📄 W19/</code>

---

### Sprint 8: Báo cáo cuối + Gate D (Tuần 20–21)

**Mục tiêu:** Phân tích kết quả pilot, viết báo cáo ≤15 trang, chuẩn bị bảo vệ.

| Đầu vào cần cung cấp | Nguồn |
|---|---|
| Pilot data (logs, feedback, interviews) | Sprint 7 output |
| Template báo cáo PL6 | `docs/reports/OUTLINE_BAO_CAO_15_TRANG.md` |
| Chiến lược bảo vệ PL8 | `docs/research/reports/CHIEN_LUOC_BAO_VE_PL8.md` |

| # | Task | Vai trò | Đầu ra | Tiêu chí nghiệm thu | Giờ |
|---|---|---|---|---|---|
| 8.1 | Phân tích log + Insight report | NCS1 + AI | Báo cáo phân tích | Có biểu đồ, thống kê, so sánh | NCS 6h, AI 4h, CVYK 2h |
| 8.2 | Viết Báo cáo cuối (≤15 trang PL6) | NCS1 (100% draft) + AI (format) | Báo cáo .md → PDF | ≤15 trang, NCS viết 100% bản đầu + kết luận (**STT 4, 10 PL8**), AI chỉ kiểm format/chính tả (**STT 6, 14**) | NCS 18h, AI 3h |
| 8.3 | Soạn slides bảo vệ (15–20 trang) | NCS1 + AI | PPT/PDF | Có demo video, dữ liệu thực | NCS 6h, AI 2h |
| 8.4 | Chuẩn bị 8 exhibit vật lý | NCS1 | In ấn | Đủ 8 exhibit (xem CHIEN_LUOC_BAO_VE_PL8) | NCS 3h |
| 8.5 | **M8: Gate D (Final)** | NCS1 + GVHD | Biên bản Gate D | GVHD ký, tất cả deliverable đủ | NCS 2h, GVHD 2h |
| 8.6 | Nhật ký Sprint 8 | NCS1 | Diary entries | Mỗi ngày | NCS 3h |

> **[CẬP NHẬT] Tuân thủ PL8:** Task 8.2 — NCS1 **tự viết 100% bản đầu** (first draft) và kết luận.
> AI Agent chỉ hỗ trợ kiểm tra format, chính tả, ngữ pháp sau khi NCS1 đã có bản nháp hoàn chỉnh.
> Xem: [CHIEN_LUOC_BAO_VE_PL8.md](../../reports/CHIEN_LUOC_BAO_VE_PL8.html)

**Tổng giờ Sprint 8:** NCS1: 38h/46h (83%) | CVYK: 2h | GVHD: 2h | AI: 9h

**Kế hoạch tuần:** <code>📄 W20/</code> | <code>📄 W21/</code>

---

## 3. Sprint Camera — NCS2 (Song song)

> NCS2 chạy độc lập, báo cáo cùng phiên với NCS1. Xem chi tiết: [CAMERA_MODULE_TASK_BOARD.md](../CAMERA_MODULE_TASK_BOARD.html)
> **[CẬP NHẬT]** Đồng bộ với Task Board v1.0: 4 sprint (C1–C4), 29 tasks, 173h, W3–W10.

### Sprint C1: Setup + POC MediaPipe (Tuần 3–4)

**Mục tiêu:** Cài đặt môi trường, chạy được MediaPipe BlazePose trên trình duyệt.

| # | Task | Đầu ra | Tiêu chí | Giờ NCS2 |
|---|---|---|---|---|
| C1.1–C1.7 | Setup dev + POC capture 33 keypoint + đo FPS | Repo, demo, báo cáo FPS | Build chạy ≥15 FPS trên Chrome | 34h |

### Sprint C2: Đo Chỉ số Vận động (Tuần 5–6)

**Mục tiêu:** Đo TUG, 5STS, Gait Speed trên video mẫu nội bộ.

| # | Task | Đầu ra | Tiêu chí | Giờ NCS2 |
|---|---|---|---|---|
| C2.1–C2.7 | Implement TUG + 5STS + Gait Speed + calibration | Module đo 3 chỉ số | TUG ±2s, 5STS ±1 lần, Gait ±0.1m/s vs stopwatch | 55h |

### Sprint C3: Bộ lọc An toàn + Camera Gate A (Tuần 7–8)

**Mục tiêu:** Bộ lọc an toàn (safety layer) camera, 15 test cases, red-team. Đạt Camera Gate A.

| # | Task | Đầu ra | Tiêu chí | Giờ NCS2 |
|---|---|---|---|---|
| C3.1–C3.8 | Safety rules + 15 test cases + Red-team + CVYK review ngưỡng | Biên bản Camera Gate A | CVYK ký, accuracy ≥85%, 0 chẩn đoán leak | 39h |

### Sprint C4: Tích hợp + Pilot nội bộ (Tuần 9–10)

**Mục tiêu:** Tích hợp vào MVP (chỉ khi MVP ≥80%), pilot nội bộ 5 người.

> **[CẬP NHẬT] Ràng buộc phụ thuộc:** Camera tích hợp vào UI/API **chỉ khi MVP core ≥80%**
> (Backend S5 + Frontend S6 xong). Nếu MVP chưa đủ → C4 chạy standalone demo, tích hợp hoãn.

| # | Task | Đầu ra | Tiêu chí | Giờ NCS2 |
|---|---|---|---|---|
| C4.1–C4.7 | Tích hợp UI + API + Pilot 5 người + Báo cáo camera | Báo cáo POC + Camera Gate B | ≥5 người test, 0 video lưu, CVYK ký | 45h |

---

## 4. Milestones & Critical Path

| Milestone | Tuần | Gate | Deliverable chính | Phụ thuộc |
|---|---|---|---|---|
| **M0: Kickoff** | W2 | — | Biên bản kickoff, slides | Không |
| **M1: Vault & Taxonomy** | W5 | — | Obsidian vault + 25 KC Thoái hóa | M0 |
| **M2: Gate A (Knowledge)** | W11 | Gate A | ≥80 KC approved + taxonomy | M1 |
| *Buffer 1* | *W12* | *—* | *Bù trễ S1–S4, CVYK catch-up* | *M2* |
| **M3: Context Loader** | W15 | — | Module Python hoạt động | M2 |
| **M4: Gate B (Technical)** | W15 | Gate B | Backend MVP + ≥90% test pass | M3 |
| **M5: Frontend + Voice** | W17 | — | Web Vue 3 + STT/TTS | M4 |
| **M6: Gate C (Clinical)** | W17 | Gate C | ≥95% clinical safety | M5 |
| **M7: Pilot** | W20 | — | ≥20 NCT tested | M6 |
| *Buffer 2* | *W21* | *—* | *Bù trễ S5–S7, sửa bug pilot* | *M7* |
| **M8: Gate D (Final)** | W23 | Gate D | Báo cáo ≤15 trang | M7 |
| **Camera Gate A** | W8 | Camera A | TUG/5STS accuracy ≥85% | C3 |
| **Camera Gate B** | W10 | Camera B | Pilot 5 người + tích hợp | C4 |

**Critical Path:** M0 → M1 → M2 → Buffer 1 → M3 → M4 → M5 → M6 → M7 → Buffer 2 → M8

**Bottleneck dự kiến:** CVYK review (Sprint 2–4). Giải pháp: NCS1 draft → AI pre-check → CVYK chỉ approve/reject.

---

## 5. Academic Presentations

### 5.1 Kickoff Meeting (Sprint 1, Tuần 2)
- **Mục tiêu:** Thống nhất scope, phê duyệt kiến trúc.
- **Outline (10–15 slides):**
  1. Bối cảnh: NCT Việt Nam + CXK
  2. Mục tiêu đề tài + Giới hạn (intended use)
  3. Kiến trúc v6.0 (Context Loading, không RAG)
  4. Bộ lọc an toàn 3 lớp
  5. Kho tri thức: schema + quy trình duyệt
  6. Module Camera (NCS2) — GO CÓ ĐIỀU KIỆN
  7. Lộ trình 8 sprint + 4 cổng kiểm soát
  8. Tuân thủ PL8 (AI tạo sinh)
  9. Phân công + lịch báo cáo
  10. Q&A

### 5.2 Weekly Progress (Mỗi thứ 6)
- Nhật ký tuần: file trong `docs/diary/`
- Báo cáo tiến độ: email hoặc meeting ngắn 15 phút

### 5.3 Final Defense (Sprint 8, Tuần 21)
- Báo cáo ≤15 trang (PL6): [OUTLINE_BAO_CAO_15_TRANG.md](../../reports/OUTLINE_BAO_CAO_15_TRANG.html)
- Chiến lược bảo vệ PL8: [CHIEN_LUOC_BAO_VE_PL8.md](../../reports/CHIEN_LUOC_BAO_VE_PL8.html)
- 8 exhibit vật lý (xem file 14)
- Demo live hoặc video

---

## 6. Tổng hợp Workload

> **[CẬP NHẬT]** Timeline mở rộng 21 → 23 tuần (thêm 2 buffer week). Camera đồng bộ Task Board 173h.

| Sprint | Tuần | NCS1 (h) | NCS2 (h) | CVYK (h) | GVHD (h) | AI (h) |
|---|---|---|---|---|---|---|
| S1 | W1–2 | 26 | — | 2 | 2 | 9 |
| S2 | W3–5 | 17 | — | 9 | — | 8 |
| S3 | W6–8 | 19 | — | 10 ⚠️ | — | 7 |
| S4 | W9–11 | 24 | — | 8 | 1 | 15 |
| *Buffer 1* | *W12* | *0* | *—* | *0* | *0* | *0* |
| S5 | W13–15 | 29 | — | 5 | 1 | 26 |
| S6 | W16–17 | 27 | — | 2 | 1 | 16 |
| S7 | W18–20 | 41 | — | 2 | — | 3 |
| *Buffer 2* | *W21* | *0* | *—* | *0* | *0* | *0* |
| S8 | W22–23 | 38 | — | 2 | 2 | 9 |
| **Tổng NCS1** | **23 tuần** | **221h** | — | **40h** | **7h** | **93h** |
| C1–C4 | W3–10 | — | **173h** | ~5h | — | — |

> **NCS1:** 221h / 667h khả dụng (23 tuần × 29h) = **33%** → Khả thi ✅  
> **CVYK:** 40h / 69–138h khả dụng (23 tuần × 3–6h) = **29–58%** → Cải thiện so với trước  
> **NCS2:** 173h / 200h khả dụng (10 tuần × 20h) = **87%** → Cao nhưng khả thi (chỉ 10 tuần)

### 6.1 Giải pháp CVYK Bottleneck

> **[CẬP NHẬT]** Sprint 3 CVYK giảm từ 12h → 10h nhờ cơ chế batch review.

| Cơ chế | Mô tả | Sprint áp dụng |
|---|---|---|
| AI Pre-screen | AI chạy `validate_schema.py` + `check_glossary.py` trước khi gửi CVYK | S2–S4 |
| NCS Pre-label | NCS1 gán tag confidence (cao/trung bình/thấp) cho từng KC | S2–S4 |
| CVYK Batch review | CVYK review 5–8 KC/phiên (2h/phiên), chỉ approve/reject/comment | S2–S4 |
| Rải đều 3 tuần | Không dồn review cuối sprint — NCS1 gửi batch mỗi tuần | S2–S4 |

---

## 7. Quản lý Rủi ro

> **[CẬP NHẬT]** Bổ sung bảng rủi ro + giải pháp dự phòng.

| # | Rủi ro | Xác suất | Tác động | Giải pháp dự phòng |
|---|---|---|---|---|
| R1 | CVYK bận/bệnh 2 tuần | Trung bình | Rất cao | Buffer 1 hấp thụ trễ. NCS1 tích lũy KC draft, CVYK batch review khi trở lại. |
| R2 | Kỳ thi NCS (giữa kỳ/cuối kỳ) | Cao | Cao | Xác nhận lịch thi trước → giảm workload tuần thi xuống 50%. Buffer 2 bù. |
| R3 | Server Vaga chưa sẵn sàng (S5) | Thấp | Rất cao | Dùng local dev server (localhost) cho S5. Deploy production khi server ready. |
| R4 | NCT từ chối pilot (< 20 người) | Trung bình | Cao | Tuyển 30 NCT (dư 50%). Liên hệ CLB sức khoẻ NCT, hội phụ huynh. |
| R5 | API Gemini quota / downtime | Thấp | Trung bình | Cache responses. Fallback: Gemini Flash thay Pro khi quota gần hết. |
| R6 | License tài liệu y khoa (ĐHYHN) | Trung bình | Cao | Task 1.11: Kiểm tra license trước khi trích xuất. Chỉ dùng nội dung giáo dục. |
| R7 | Camera chẩn đoán sai / thiên kiến | Thấp | Rất cao | 15 test cases đa dạng (vóc dáng, trang phục). Kill criteria: accuracy < 70%. |

---

> **Ghi chú cuối:** File này chứa roadmap triển khai. Xem:
> - [Kiến trúc dự án](../KIEN_TRUC_DU_AN.html) — ADR, tech stack, sơ đồ hạ tầng
> - [Phân tích dự án](../PHAN_TICH_DU_AN.html) — Gap analysis, rủi ro, Quick Wins
> - [Phản biện Roadmap](../../reports/PHAN_BIEN_ROADMAP.html) — Chấm điểm, findings, nâng cấp