Audit #007 — Dữ liệu học liệu
Audit chuyên đề cho toàn bộ dữ liệu học: Package, Module, Unit, Learning Experience, Assessment Experience, item bank và Lab. Không đặt thang điểm mới (lý do). Câu hỏi dẫn đường của chủ dự án: đủ về số lượng chưa — đủ so với cái gì; ổn về chất lượng chưa — ổn so với cái gì.
1. Chuẩn so sánh (đọc ra từ chính mã đang chạy, không tự bịa)
| Dữ liệu | "Đủ" nghĩa là | Nguồn của chuẩn |
|---|---|---|
| Package · Module · Unit | Khớp cây đã chốt từ Pearl; seed script dừng hẳn khi tên Unit lệch, nên cây trong D1 là cây Pearl theo cấu trúc | seed-b21-tree.mjs, seed-unit-prereqs.mjs (chặn unit không tồn tại) |
| Learning Experience | Mỗi Unit tối thiểu 3 ô học, trần 6; ô chỉ mọc khi node có câu | unitPath() trong apps/learn/src/Learning.tsx (SRC-295, SRC-374) |
| Assessment Experience | assessReady = unitItems >= 6 — Unit dưới 6 câu published thì Học vượt · Đo giữa · Đo cuối khoá | apps/learn/src/Learning.tsx (SRC-077) |
| Lab | Mỗi Unit hiện với learner có một lab live; idx_labs_one_per_unit chặn quá một | quỹ đạo SRC-399 → SRC-436 của chủ dự án |
| Item | Khuôn 4 vai canonical → variant → discriminator → boundary; 4 lựa chọn; đáp án xoay vị trí | seed-items-from-json.mjs |
Bảng learning_experiences | Mặt phẳng sinh nội dung của Coral — không phải nguồn chạy runtime; đường đi của learner được suy ra từ item bank + labs | workers/api module coral |
Ghi chú về mốc: 6 câu/Unit là sàn chức năng (mở được bài đo). Mốc 16 câu/node (SRC-155, để phiên luyện 10 câu không lấn kho đề) chỉ ba môn lõi Toán · Văn · Anh đạt; ghi nhận là mốc vươn tới, không tính là thiếu ở audit này.
2. Số lượng — đo ngày 2026-08-21, chỉ tính strand đang HIỆN
| Môn | Unit hiện | Unit <6 câu (bài đo khoá) | Câu cần thêm | Unit chưa có lab |
|---|---|---|---|---|
| math | 142 | 0 | 0 | 0 |
| vietnamese | 142 | 0 | 0 | 0 |
| english | 64 | 0 | 0 | 0 |
| biology | 78 | 0 | 0 | 6 |
| genai | 17 | 0 | 0 | 0 |
| physics | 279 | 199 | 398 | 207 |
| chemistry | 275 | 201 | 402 | 205 |
| informatics | 180 | 180 | 360 | 0 |
| ap | 18 | 13 | 48 | 0 |
| ielts | 18 | 13 | 46 | 0 |
| sat | 18 | 12 | 44 | 0 |
| Tổng | 1.231 | 618 | 1.298 | 418 |
Phát hiện nặng nhất: 605 Unit khoa học + 33 Unit luyện thi đang hiện với learner mà cả ba bài đo đều khoá — learner học xong không có cách nào "xong Unit", đúng họ hàng với vòng lặp "Việc hôm nay" đã chữa ở SRC-417. Nguyên nhân: các đợt câu SRC-190/pearl và SRC-432 soạn đúng khuôn 4 câu/bài, mà sàn của bài đo là 6.
Không có node nào 0 câu; không Unit nào 0 câu — thiếu là thiếu cách sàn 2 câu, không phải trống.
3. Chất lượng — kiểm bằng máy trên toàn kho
| Kiểm | Kết quả |
|---|---|
audit-data.mjs (21 phép kiểm: options hợp lệ, FK, prereq 2 chiều, lab parse được…) | ✓ sạch |
check-labs-ib.mjs (34 lab IB) | ✓ sạch |
| difficulty ngoài [0,1] | 0 |
| Câu khác 4 lựa chọn | 0 |
| Trùng khít prompt+options trong cùng node | 0 (72 bản đã retire ở SRC-416) |
| Trùng khít prompt+options khác node | 17 bản → 9 bản b21g89-* retire trong audit này (bản sao cùng Unit với b21-*, learner gặp cùng câu hai lần một phiên); 1 cặp chemistry khác Unit sẽ viết lại khi bù câu; số còn lại là trùng chấp nhận được (đề khung "Which sentence is correct?" với bộ lựa chọn khác nhau) |
| Vị trí đáp án toàn kho | 4150 · 4036 · 2601 · 2359 — lệch về ô A/B, di sản các đợt trước khi có luật xoay; các đợt mới cân (35/35/35/35). Ghi nhận, chữa bằng xoay cơ học có kiểm soát khi có dịp, không chặn |
| Cạnh prerequisite ngược lớp | 0 trên cả 11 môn |
Bảng learning_experiences | 6 dòng (Coral, draft) — đúng vai, không phải lỗ hổng runtime |
4. Việc phải làm nốt (theo thứ tự chặn nặng trước)
- T1 — Bù câu cho 638 Unit dưới sàn (+1.298 câu, khuôn discriminator/boundary bổ sung): informatics 360 · chemistry 402 · physics 398 · ap 48 · ielts 46 · sat 44. Mở khoá bài đo — đây là chỗ learner đang kẹt thật.
- T2 — 418 lab còn thiếu: physics 207 (AP·AT·CH·DT·NH·QH cũ) · chemistry 205 (CB·LK·NT·PU·TT·HC) · biology 6.
- T3 — Viết lại 1 câu chemistry trùng xuyên Unit (gộp vào T1).
- T4 — Cân lại vị trí đáp án kho cũ bằng xoay cơ học + kiểm phân bố (không đổi nội dung).
Tiến độ từng mục ghi ở intake theo SRC.