Skip to content

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áoTrạ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.1Giữ nguyên từ v0.1 (26 chỉ báo)
AS-04.6.1, AS-04.6.3, AS-04.6.4Mới trong v0.2 (tiêu chí AS-04.6)
AS-04.5.5Nâ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áoVì sao thuộc Pilot Gate
AS-07.1.1Endpoint không public thiếu auth = học sinh khác đọc được dữ liệu nhau
AS-07.2.1Authz backend cho learner data — không chỉ ẩn ở UI
AS-07.2.3Parent 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.4Cloudflare 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.3Schema-diff thật — production không lệch âm thầm với migration trên đĩa
AS-04.6.4Không migration phá hoại lọt production kể từ hôm nay
AS-04.1.1Numbering migration không trùng (SRC-1340) — đã CI-enforced, giữ trong gate làm bằng chứng sống
AS-04.5.5Backup/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.3Không apply migration production ngoài CI — chặn đúng nguyên nhân gốc sự cố đa-agent
AS-08.4.1CI 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.2DLQ cấu hình — message lỗi không biến mất im lặng
AS-01.4.1gen: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.4Contract diff — không phá client web/learn/marlins đang chạy khi có PR mới trong 2 ngày pilot
AS-10.3.1Context 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.5Test 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.1Nộ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 ​

  1. Chốt phạm vi — commit hash + ngày. Mọi bằng chứng phải thuộc phạm vi đó.
  2. 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.
  3. 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.
  4. 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ử đó.
  5. 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).
  6. 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.md vớ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ộ ASQuality Gate liên quan
AS-01 Tài liệu & Đóng vếtQG-001
AS-02 Yêu cầu & Sản phẩmQG-002
AS-03 Kiến trúc & Hợp đồngQG-003
AS-04 Dữ liệu & MigrationQG-004
AS-05 Trí tuệ học tậpQG-005
AS-06 Nội dung & Tri thứcQG-006, QG-011
AS-07 Bảo mật & Riêng tưQG-008
AS-08 Tin cậy & Vận hànhQG-009
AS-09 Trải nghiệm & DSQG-007
AS-10 AI GovernanceQG-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 ​

markdown
# 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 |
| --- | --- | --- | --- | --- | --- |