Nghiệm thu trước go-live — kế hoạch & biên bản
Đối tượng: QA / người nghiệm thu + sysadmin mở hệ thống cho user thật. Nguồn chi tiết từng case:
MANUAL-TEST-PLAN.mdtrong repo (48+ test do người thật chạy). Môi trường: DEV FULL-STACK hoặc PRODUCTION — không chạy trên DEV-LITE (bypass phân quyền).
Cách dùng & chuẩn bị
- Chuẩn bị 1 repo mẫu (có remote để thử
create-pr; hoặc repo mới) + 2–3 email test đóng nhiều role. - Chạy lần lượt 11 nhóm dưới; ghi kết quả vào biên bản §"Biên bản" (PASS / FAIL + số lỗi / BLOCKED + lý do).
- Test 🔴 FAIL → dừng, không có "sẽ sửa sau". Chi tiết bước từng mã:
MANUAL-TEST-PLAN.md.
11 nhóm test
| Nhóm | Nội dung | Mã đáng chú ý |
|---|---|---|
| MT-0x Toàn vẹn môi trường | 11 service lên, hết preflight, UI + WS, agent khả dụng | — |
| MT-1x Danh tính & phân quyền | Đúng người, đổi danh tính, ma trận 4 role, không xoá owner cuối | 🔴 MT-13, MT-14, MT-15 |
| MT-2x Space & provisioning | Tạo Space, tới được Arkon, rollback sạch, list lọc membership | 🔴 MT-21 |
| MT-3x Vòng đời task & agent | Tạo/chạy/dừng/follow-up, worktree cách ly, result.json, bơm Wiki, repair loop | — |
| MT-4x AI Planner | Sinh cây, sửa trước apply, chặn cycle, apply nguyên tử | (BLOCKED nếu chưa có LLM key) |
| MT-5x Phụ thuộc & song song | Không mở non, mở khi done, maxConcurrency, Stop Group | 🔴 MT-51 |
| MT-6x Review & Human Gate | Approve + merge, member không approve được, service token không bypass, reviewer độc lập, rework, chặn 3 vòng | 🔴 MT-61, MT-62, MT-63 |
| MT-7x Merge & xung đột | Repo gốc sạch khi conflict, auto-rework 1 lần, create-pr, manual | 🔴 MT-71 |
| MT-8x/9x Tri thức & chịu lỗi | Đọc/search Wiki, MRP, agent đề xuất wiki, upload file, crash recovery, suy biến mềm, timeout, rate limit, backup + restore thật | 🔴 MT-91 |
| MT-10x OpenRouter & per-model | Provider→Model, badge origin, cô lập params, reset, guard Preview/Diagnose, diagnose 6 checks, ingest E2E, fail-loud key giả, Planner live | — |
9 test 🔴 chặn go-live (tóm tắt kỳ vọng)
| Mã | Tên | Kỳ vọng |
|---|---|---|
| MT-13 | PENTEST giả mạo header | Header x-forwarded-* giả approve → 403 |
| MT-14 | PENTEST Human Gate | Actor không phải người approve → 403 |
| MT-15 | PENTEST RBAC fail-closed | Người lạ GET task → 403 |
| MT-21 | Tạo Space | Provisioning nguyên tử: Department + Wiki Home + 5 persona + owner |
| MT-51 | Không bỏ chặn non | Blocker ở review → task phụ thuộc vẫn chặn; chỉ mở khi done |
| MT-61 | Human Gate approve + merge | Người approve → merge --no-ff → done/approved + audit human |
| MT-62 | Member không approve được | 403 đúng thiết kế |
| MT-63 | Service token không bypass | 403, không có đường vòng |
| MT-71 | Xung đột: repo gốc sạch | Conflict → abort ngay, repo gốc sạch, task merge-conflict + 409 |
| MT-91 | Khôi phục sau crash | Restart → task về idle + Activity system_recovery, worktree nguyên |
Biên bản (copy ra file riêng khi chạy)
| Trường | Giá trị |
|---|---|
| Ngày chạy / Người chạy | |
| Môi trường | ☐ DEV FULL-STACK ☐ PRODUCTION |
| Agent | ☐ giả lập (ScriptedProvider) ☐ thật (loại: ______) |
| LLM Planner | ☐ live ☐ replay (nhóm MT-4x = BLOCKED) |
| Commit / image tag |
Ghi 1 dòng cho mỗi mã MT-01…MT-95, MT-101…MT-111: PASS / FAIL (số lỗi) / BLOCKED (lý do).
Bảng mẫu đầy đủ: MANUAL-TEST-PLAN.md §12 + §15.
Tiêu chí thông qua
| Mức | Điều kiện |
|---|---|
| Chặn go-live | Bất kỳ test 🔴 nào FAIL. Không ngoại lệ, không "sẽ sửa sau" |
| Chặn mở cho user thật | MT-01, MT-02, MT-21, MT-31, MT-61 FAIL |
| Ghi nhận, không chặn | Test còn lại FAIL — phải có số hiệu lỗi và người phụ trách |
| BLOCKED chấp nhận được | MT-4x và MT-64 khi chưa có LLM key/model; MT-63 khi chưa dùng service token; MT-73 khi repo không remote |
Kết luận: ☐ THÔNG QUA (mọi 🔴 pass) · ☐ THÔNG QUA CÓ ĐIỀU KIỆN (ghi rõ: ______) · ☐ KHÔNG THÔNG QUA (🔴 FAIL: ______). Người ký / Ngày: ______