Appearance
Quality Gates (QG)
Mỗi REQ active phải có ít nhất một QG kiểm chứng. Giai đoạn hiện tại (docs + scaffold): các check đánh dấu 📋 chạy thủ công khi review; khi có CI đầy đủ chuyển sang 🤖 CI-enforced. Không production change nào (code, migration, content, rubric, prompt, algorithm) được publish mà không qua gate tương ứng (SDD-006 §15).
| ID | Tên | Kiểm gì | Cách kiểm | Trạng thái |
|---|---|---|---|---|
| QG-001 | Docs Integrity | Frontmatter hợp lệ (id, status, sources, satisfies, verified_by); broken links; intake ledger đủ; trace closure 2 chiều (REQ↔SDD↔QG↔US); không có doc mồ côi | script scripts/check-docs.mjs + review | 📋 (script sẽ thêm) |
| QG-002 | Requirements Quality | REQ rõ ràng, testable, có nguồn (SRC), có priority; user story đúng format + acceptance criteria; đánh giá theo framework requirements-assessment kế thừa chuyenchon (8 clusters/40 criteria) | rubric review | 📋 |
| QG-003 | API Contract | OpenAPI sinh từ router (không viết tay); mọi route có zod schema; backward compatibility (không breaking trong /v1); error taxonomy đúng SDD-006 §11 | typecheck + contract diff CI | 📋→🤖 |
| QG-004 | Data & Migrations | Một sequence migration duy nhất; idempotent; không DML destructive trộn DDL; migration tương thích deploy trước code; cấm email làm khóa (RISK-001); timestamps chuẩn | review + wrangler d1 migrations dry-run CI | 📋→🤖 |
| QG-005 | Learner Intelligence Correctness | Thuật toán mastery/confidence/priority có unit tests hành vi (cấm source-regex tests — RISK-015); model versioning ghi đủ; recommendation có reason + versions; stopping criteria hoạt động | behavior tests + review | 📋→🤖 |
| QG-006 | Content Quality | Rubric CC-QAF gốc; quality profile đủ 8 chiều có evidence; multi-evaluator variance check; candidate-version lifecycle (không sửa production trực tiếp); learner-evidence feedback loop | Quality Engine (SDD-003) + human review | 📋 |
| QG-007 | Design System Compliance | Chỉ dùng tokens; không fork component; không CSS per-page; sàn 14px; WCAG AA contrast/focus/touch-target; theme chỉ đổi lớp accent | lint + visual review | 📋→🤖 |
| QG-008 | Security & Privacy | Backend authz mọi truy cập learner data (parent↔family, mentor↔assignment); RBAC không so sánh email (RISK-013); không hardcode secret/domain/audience; audit log; child-data: minimization, consent parent-first, retention; media moderation trước public | security review checklist + tests | 📋 |
| QG-009 | Reliability | 5 câu hỏi production-ready (SDD-006 §16); idempotency consumer; DLQ cấu hình; graceful degradation có fallback; observability bật mọi worker; binding được CI verify tồn tại (RISK-026); availability tier khai báo | review + smoke tests | 📋 |
| QG-010 | AI Governance | 100% AI calls qua AI Gateway nemo12 (cấm probe-fallback — RISK-022); prompt registry versioned; output quan trọng lưu model/prompt_version/input_ref/confidence; Context Builder là đường duy nhất AI chạm learner data; cost dashboard | code review + gateway logs | 📋 |
Pipeline CI bắt buộc (khi code vào)
text
typecheck → lint → unit/behavior tests → API contract check → migration dry-run
→ design-system lint → docs check (QG-001) → security checks → deploy staging → deploy prodTrace
- REQ-DOC-02/03 → QG-001/002.
- Cột QG trong PRD-001 §5 chỉ định gate cho từng REQ; traceability.md tổng hợp.