Skip to content

Hệ thống test và QC ​

Mục tiêu của bản lệnh 18.10.2026: cực nhanh, tối giản, rẻ, đủ chặn lỗi người dùng cảm thấy, và tự động hết mức. Chủ dự án không phải làm tay bước nào; agent chỉ hỏi khi cần một quyết định thật.

Nguyên tắc gốc: mỗi chặng chỉ kiểm thứ nó còn bắt được rẻ. Lỗi bắt được ở pre-commit thì đừng để CI bắt lại bằng một job riêng; thứ đắt (E2E) thì để lượt hằng tuần.

Năm chặng ​

ChặngChạy gìNgân sách
pre-commitKiểm ổ đĩa, node_modules khớp lockfile, tự sửa file sinh, eslint + typecheck file đã stage, cổng khớp đường dẫndưới 5 s
pre-pushTypecheck toàn repo khi có code, unit test workspace bị đụng và workspace dùng chúngdưới 60 s
CIMỘT job: phạm vi thay đổi, cài từ cache, typecheck + lint + unit test + test API song song, check:code, check:docs, migration, deploydưới 5 phút
Hằng tuầncheck:report, nâng phiên bản thư viện, npm audit, 10% E2E quan trọng nhất; trên máy, $0dưới 15 phút
ProductionKiểm từ ngoài vào sau mỗi deploy và theo lịch, đối chiếu bản đang chạy với main

Thứ tự làm ​

Bản lệnh bắt làm theo thứ tự, mỗi phần commit riêng, và đo hiện trạng trước khi sửa:

  1. Audit: liệt kê mọi chỗ test chạy, đo từng gate một lần.
  2. Một danh sách gate, ba tầng.
  3. Git hooks.
  4. Hooks của Claude Code.
  5. CI một job.
  6. Lượt kiểm hằng tuần.
  7. Tiêu chuẩn code.
  8. Site harness này.
  9. Bẫy đã gặp thật, mỗi bẫy phải có máy chặn.

Xong khi ​

  • Bảng trước/sau: thời gian pre-commit, pre-push, CI; số phút Actions mỗi tháng; số gate mỗi tầng.
  • Mọi gate chặn xanh trên main; test của hooks và gate xanh; một lượt npm run weekly chạy thật từ đầu tới cuối (kể cả đường nâng xanh rồi tự push) và log ghi đúng exit code.
  • Không còn tham chiếu tới quy trình cũ ngoài phần ghi lịch sử.
  • Trang harness đã deploy và trả 200; memory và CLAUDE.md ghi quy trình mới.
  • Báo chủ dự án một bảng: lỗi gặp trong phiên, nguyên nhân gốc, cách chặn theo thứ bậc hook > gate/test > luật > skill > memory (chặn càng sớm, càng ít phải nhớ).

Ở Conan hôm nay ​

ChặngỞ Conan (đo 18.10.2026)
pre-commitKhông có git hook. Hook Claude Code PostToolUse bắt gạch dài ngay khi sửa file; Stop chạy qc-scan + workspace-deps (khoảng 0,6 s).
pre-pushHook Claude Code (không phải git hook) chạy run-guards --fast: 14 gác, khoảng 1,3 s. Không typecheck, không test.
CIci-checks trên PR, tới 16 job (trung bình 3,1); 16 workflow deploy riêng trên main. Khoảng 2.580 phút Actions mỗi tháng.
Hằng tuầnKhông có. Có vòng QC đêm (routine cloud 03:00) và làn mã chết.
Productionsmoke-production.mjs sau mọi deploy, d1-invariants mỗi đêm, sổ lỗi tự động. Sentry đã nối nhưng chưa có DSN.

Chi tiết và kết luận từng chặng: Audit.