Audit Standard · Chặn phát hành, Pilot Gate, quy trình và mẫu báo cáo
Một phần của Audit Standard. Danh sách 30 chỉ báo chặn phát hành, Pilot Gate đầy đủ, quy trình audit, ánh xạ AS và QG, mẫu báo cáo audit.
Danh sách 🔴 chặn phát hành (tổng hợp, 30 chỉ báo)
Giữ nguyên 26 chỉ báo 🔴 từ v0.1 (không đổi ý nghĩa) cộng 4 thay đổi mới trong v0.2 — đánh dấu rõ dưới đây, không âm thầm thêm/bớt:
| Chỉ báo | Trạng thái trong v0.2 |
|---|---|
| AS-01.4.1, AS-03.2.4, AS-03.4.1, AS-04.1.1, AS-04.1.4, AS-04.2.2, AS-05.2.2, AS-05.4.1, AS-06.3.1, AS-06.4.2, AS-06.4.3, AS-07.1.1, AS-07.2.1, AS-07.2.2, AS-07.2.3, AS-07.3.2, AS-07.5.1, AS-07.5.2, AS-08.2.2, AS-08.4.3, AS-09.3.1, AS-10.1.1, AS-10.1.2, AS-10.3.1, AS-10.3.5, AS-10.4.1 | Giữ nguyên từ v0.1 (26 chỉ báo) |
| AS-04.6.1, AS-04.6.3, AS-04.6.4 | Mới trong v0.2 (tiêu chí AS-04.6) |
| AS-04.5.5 | Nâng cấp từ thường → 🔴 trong v0.2 (lý do: pilot chạm dữ liệu trẻ em thật — §1.3) |
Pilot Gate — danh sách đầy đủ
Điều kiện go/no-go cho đợt mở thử 2 ngày tới (2026-08-15 → dự kiến 2026-08-17), bổ sung cho REQ-DOC-06 chứ không thay thế (§3.3). 100% các dòng dưới đây phải PASS:
| Chỉ báo | Vì sao thuộc Pilot Gate |
|---|---|
| AS-07.1.1 | Endpoint không public thiếu auth = học sinh khác đọc được dữ liệu nhau |
| AS-07.2.1 | Authz backend cho learner data — không chỉ ẩn ở UI |
| AS-07.2.3 | Parent chỉ thấy con mình — có test, không chỉ "tin là đúng" |
| AS-07.3.2 | Đồng thuận: từ 2026-08-15 chỉ còn là DẤU VẾT theo quyết định của chủ dự án (SRC-137). Rủi ro pháp lý dữ liệu trẻ em vẫn còn nguyên và đã được nêu — đây là quyết định sản phẩm, không phải sơ suất kỹ thuật |
| AS-07.1.4 | Cloudflare Access chắn khu nội bộ — đã PASS theo đính chính Audit #001, giữ trong gate để không âm thầm tắt lại |
| AS-04.6.1 | Đối soát migration — phát hiện đúng lớp sự cố vừa xảy ra 2026-08-15 |
| AS-04.6.3 | Schema-diff thật — production không lệch âm thầm với migration trên đĩa |
| AS-04.6.4 | Không migration phá hoại lọt production kể từ hôm nay |
| AS-04.1.1 | Numbering migration không trùng (SRC-1340) — đã CI-enforced, giữ trong gate làm bằng chứng sống |
| AS-04.5.5 | Backup/restore đã thử ít nhất 1 lần — dữ liệu trẻ em thật, hỏng giữa pilot không được phép không có đường lùi |
| AS-03.5.3 | Không apply migration production ngoài CI — chặn đúng nguyên nhân gốc sự cố đa-agent |
| AS-08.4.1 | CI chạy test/typecheck/lint trước deploy — bảo vệ 2 ngày pilot khỏi các phiên AI khác tiếp tục ghi đè nhau |
| AS-08.2.2 | DLQ cấu hình — message lỗi không biến mất im lặng |
| AS-01.4.1 | gen:reference không lệch — docs không nói sai về hệ đang chạy thật trong lúc pilot |
| AS-03.2.4 | Contract diff — không phá client web/learn/marlins đang chạy khi có PR mới trong 2 ngày pilot |
| AS-10.3.1 | Context Builder duy nhất — nếu pilot chạm tính năng AI, đây là chốt chặn learner data |
| AS-10.3.5 | Test learner A không lọt sang context learner B — dữ liệu trẻ em thật trộn lẫn là sự cố nghiêm trọng nhất có thể xảy ra |
| AS-10.4.1 | Nội dung AI không publish thẳng tới trẻ em thật chưa qua kiểm |
Còn lại (nội dung dài hạn, UI polish, AI cost dashboard, real exam bank…) — ghi nhận là nợ, gắn REQ ⏳ có lý do+ngày theo AS-02.4.5 sẵn có, xử lý sau pilot theo chu kỳ ở §13.
13. Quy trình audit
- Chốt phạm vi — commit hash + ngày. Mọi bằng chứng phải thuộc phạm vi đó.
- Chạy máy trước —
npm run check:docs,npm run gen:reference,npm run typecheck,npm test,npm run contract:diff,npm run migrate:dryrun,npm run verify:bindings,wrangler d1 migrations list --remote. Những gì máy phán được thì không chấm bằng cảm nhận. - Chấm từng bộ theo thứ tự AS-01 → AS-10, ghi bằng chứng ngay khi chấm. Bỏ trống bằng chứng ⇒ KHÔNG PASS (L3), mã lý do mặc định CM.
- Rà 🔴 trước tiên, sau đó rà 🚸 nếu đang chuẩn bị một đợt mở thử — một 🔴 hỏng chặn release, một 🚸 hỏng chặn đúng đợt mở thử đó.
- Xuất báo cáo theo mẫu §15, lưu vào
docs/quality/audits/YYYY-MM-DD.md. Bao gồm bảng tách theo mã CX/CM/HH (§3.2) và bảng "bó hành động + giờ ước lượng" (canonized từ Audit #001 §4 — xem mẫu). - Mỗi KHÔNG PASS sinh một hành động có người chịu trách nhiệm và hạn; nếu là nợ chấp nhận được thì ghi vào
open-questions/index.mdvới ký hiệu ✍️.
Chu kỳ đề xuất: toàn bộ 10 bộ mỗi quý; AS-07 (bảo mật) + AS-04 (dữ liệu) mỗi tháng; AS-04.6 (đối soát production) mỗi tuần trong giai đoạn nhiều agent/phiên chạy song song — tần suất cao hơn phần còn lại của AS-04 vì đây đúng loại lỗi đã tái diễn 2 lần trong cùng một ngày; AS-01 mỗi lần docs đổi đáng kể.
14. Ánh xạ AS và QG
| Bộ AS | Quality Gate liên quan |
|---|---|
| AS-01 Tài liệu & Đóng vết | QG-001 |
| AS-02 Yêu cầu & Sản phẩm | QG-002 |
| AS-03 Kiến trúc & Hợp đồng | QG-003 |
| AS-04 Dữ liệu & Migration | QG-004 |
| AS-05 Trí tuệ học tập | QG-005 |
| AS-06 Nội dung & Tri thức | QG-006, QG-011 |
| AS-07 Bảo mật & Riêng tư | QG-008 |
| AS-08 Tin cậy & Vận hành | QG-009 |
| AS-09 Trải nghiệm & DS | QG-007 |
| AS-10 AI Governance | QG-010 |
QG là cổng cho một thay đổi; AS là thước cho cả hệ. Một hệ có thể qua mọi QG mà vẫn điểm AS thấp — vì QG chỉ chặn cái mới, không đo cái đã tích tụ.
15. Mẫu báo cáo
# Audit YYYY-MM-DD — commit <hash>
## Tổng kết
| Bộ | PASS/tổng | % | Mức |
|----|-----------|---|-----|
| AS-01 | 21/25 | 84% | Vững |
| ... |
| AS-04 | xx/30 | xx% | ... |
| ... |
| **Toàn hệ** | **xxx/255** | **xx%** | **<mức>** |
## Đọc đúng — tách KHÔNG PASS theo mã lý do
| Mã | Số lượng | % trong tổng KHÔNG PASS |
|----|----------|--------------------------|
| CX (chưa xây) | | |
| CM (chưa chứng minh) | | |
| HH (hỏng) | | |
> Chỉ số đáng lo là %HH — không phải % KHÔNG PASS nói chung.
## 🔴 Chặn release
| Chỉ báo | Mã lý do | Sự thật quan sát được | Hành động | Người | Hạn |
## 🚸 Pilot Gate (nếu đang chuẩn bị mở thử)
| Chỉ báo | PASS? | Bằng chứng |
| ... |
| **Go/No-go** | **<18/18 hay chưa>** | |
## Chi tiết theo chỉ báo
| ID | Kết quả | Mã lý do (nếu KHÔNG PASS) | Bằng chứng | Ghi chú |
| AS-01.1.1 | PASS | — | `find` trả 0 file ngoài docs/ | |
| AS-04.6.1 | KHÔNG PASS | HH | 2 dòng mồ côi trong d1_migrations chưa ghi ở đâu | |
## Hành động sinh ra từ audit này (canonized từ Audit #001 §4)
| # | Hành động | Đóng được chỉ báo | Ước lượng | Người | Hạn |
| --- | --- | --- | --- | --- | --- |