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 | — |
| MT-11x Hồi quy 0B (Arkon substrate) | 8 cờ + MRP 2 cổng + preserveVerbatim + biên Space (F1) + rollback + user/persona/MCP token + reconciler + nguồn không kẹt | 🔴 MT-110, MT-111, MT-114, MT-115 |
| MT-12x Board polish 0C | Palette + mention đa persona + comment realtime + auto-retro draft/sweep + room Space | 🔴 MT-121, MT-126 |
Fake client chỉ ghi lại lời gọi mà không xác thực nó: UAT-0B lòi 8 bug production + 1 rò xuyên
Space + 1 tính năng chỉ chạy cho đúng 1 tài khoản, trong khi test tự động vẫn xanh. Chi tiết
từng case: MANUAL-TEST-PLAN.md §16–§17.
Bất biến gốc của cả hai chặng: mọi cờ TẮT = Phase 1 (MT-110 cho 0B, MT-121 cho 0C). Case này
FAIL thì không cờ nào đáng tin: sources chưa mount phải 404, 8 route wiki sâu phải 404 (kể cả 4
route ghi — cờ tắt nghĩa là bề mặt không tồn tại), /api/wiki/pages + /api/wiki/drafts vẫn 200.
Sáu ca MT-12x có phần chỉ mắt người thấy được: chỉ báo header đổi màu (MT-126.1), comment
hiện ở tab thứ hai không reload (MT-123), và cảm giác Cmd+K (MT-121) — test tự động phủ phần
lớn nhưng không thay được ba cảm nhận này.
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 |