---
url: https://docs.nemo12.com/apps/grammar/grammar-audit-2026-10-12.md
description: >-
  Rà 115 bài NEMO GRAMMAR A1-C1 theo chuẩn CEFR SRC-1318 và PRD-008 §14: độ đủ
  câu hỏi, lời giải, video, kiểu bài, cách đo đạt level.
---

# Audit NEMO GRAMMAR 12.10.2026 (SRC-1373)

**Phạm vi.** Toàn bộ danh mục `packages/grammar-catalog/catalog.json` trên `main` ngày 12.10.2026: 5 level, 29 unit,
115 bài, 3.155 câu hỏi trong `apps/grammar/src/content/`. Đo bằng script trên mọi file; nội dung câu được đọc
mẫu, không soát ngữ pháp từng câu.

**Thước đo.** Hai chuẩn đã có, audit này không đặt chuẩn mới:

1. [Chuẩn ngữ pháp CEFR](./grammar-cefr-standard.md) (SRC-1318): mỗi level gồm chủ điểm nào.
2. [PRD-008 §14](./prd-008-grammar.md): một bài đạt chuẩn khi có 35 câu (Quick 5, Practice 10, Mastery 20),
   lời giải ít nhất 40 ký tự nói vì sao; một unit đạt chuẩn khi có thêm Unit review 20 câu.

## 1. Kết luận

1. **Khung CEFR đã đúng.** Mọi chủ điểm A1-C1 của chuẩn đều có bài, không bài nào sai level; test
   `cefrStandard.test.ts` gác điều này. Không cần làm lại phần "tiêu chuẩn là gì".
2. **Nửa dưới đạt, nửa trên mỏng.** A1, A2, B1: 82/82 bài và 18/18 unit đạt §14. B2: 3/14 bài, C1: 1/19 bài,
   0/11 unit. Phần lớn bài B2 và C1 chỉ có 5 câu Quick.
3. **Chỗ mỏng trùng đúng chỗ IELTS cần.** IELTS GRA band 5.5-6.5 ứng với B2, band 7-8 ứng với C1. Learner nhắm
   band 6 trở lên học đúng hai level đang thiếu bài nhất.
4. **Learner chưa có cách biết mình "đạt A2".** Bài kiểm tra xếp level trên trang chủ Grammar còn ghi "coming soon",
   và không có bài kiểm tra cuối level. Chuẩn nói một level gồm gì, nhưng sản phẩm chưa đo learner theo chuẩn đó.
5. **Bài tập chỉ đo nhận biết và điền dạng.** 3.155 câu đều là `choice` hoặc `gap`. Không có câu nào bắt learner
   tự viết câu, sửa lỗi hay viết lại câu, trong khi CEFR mô tả năng lực bằng "làm được gì".

## 2. Số liệu theo level

| Level | CEFR | Unit | Bài | Bài đạt §14 | Unit đạt §14 | Câu hỏi | Tỉ lệ `gap` | Lời giải dưới 40 ký tự | Bài có video |
| --- | --- | --- | --- | --- | --- | --- | --- | --- | --- |
| Starter | A1 | 6 | 27 | 27 | 6/6 | 945 | 41% | 0 | 14 |
| Elementary | A2 | 6 | 28 | 28 | 6/6 | 980 | 43% | 0 | 15 |
| Intermediate | B1 | 6 | 27 | 27 | 6/6 | 945 | 47% | 0 | 9 |
| Upper-intermediate | B2 | 5 | 14 | 3 | 0/5 | 160 | 44% | 48 (30%) | 3 |
| Advanced | C1 | 6 | 19 | 1 | 0/6 | 125 | 42% | 90 (72%) | 0 |
| **Tổng** | | **29** | **115** | **86** | **18/29** | **3.155** | | **138** | **41** |

Nguồn: `npm run grammar:coverage --workspace @nemo12/learn` cho hai cột "đạt §14"; script đọc trực tiếp file nội
dung cho các cột còn lại. Video tính theo trường `video_id` trong file bài.

## 3. Phát hiện

| # | Mức | Phát hiện | Bằng chứng |
| --- | --- | --- | --- |
| F1 | Cao | 11/14 bài B2 và 18/19 bài C1 chưa có Practice và Mastery; 11 unit B2-C1 chưa có Unit review | §2; PRD-008 §14d dừng ở lượt 3 (Intermediate) |
| F2 | Cao | 138 lời giải ở B2-C1 ngắn dưới 40 ký tự, chỉ gọi tên luật, không nói vì sao | Ví dụ `advanced/as-if-and-as-though`: "Mẫu as if.", "Không có thật: were." |
| F3 | Trung bình | Chưa có bài xếp level đầu vào và bài kiểm tra cuối level | `GrammarApp.tsx`: "A 10-question placement test is coming soon" |
| F4 | Trung bình | Chỉ hai kiểu câu (`choice`, `gap`); chưa đo được learner tự dùng cấu trúc | 3.155/3.155 câu |
| F5 | Trung bình | 41/115 bài có video; C1 không có video nào; đa số video là 36 video cũ của khu IELTS Grammar đã gỡ | Trường `video_id`; `tools/videos/registry.json` |
| F6 | Thấp | 4 câu trùng nguyên văn giữa hai bài khác nhau (ví dụ "We \_\_\_ English on Mondays." ở cả `starter/i-work-she-works` và `elementary/present-simple-or-continuous`) | So `prompt` trên toàn kho; không tính các câu dẫn chung kiểu "Which sentence is correct?" |
| F7 | Thấp | Chuẩn chỉ liệt kê chủ điểm, chưa ghi learner cần chính xác tới đâu ở mỗi level, nên chưa có ngưỡng "đạt level" | `cefr-standard.ts` chỉ có `topic`, `vi`, `lessons` |

Không phải phát hiện: C2 chưa mở là quyết định có ghi ở chuẩn (Core Inventory không có đồng thuận cho C2).

## 4. Đề xuất, theo thứ tự làm

1. **Lượt 4 và 5 của PRD-008 §14d** (F1, F2): Practice + Mastery cho 11 bài B2 và 18 bài C1, Unit review cho 11
   unit, viết lại 138 lời giải ngắn. Khối lượng khoảng 29 × 30 + 11 × 20 = 1.090 câu mới. Làm B2 trước vì nó ứng
   với band IELTS phụ huynh hay đặt nhất.

2. **Ngưỡng đạt level** (F7, F3): thêm vào chuẩn một dòng "đạt level" cho mỗi level, ví dụ đúng ít nhất 80% một bài
   kiểm tra cuối level rút từ Mastery của mọi bài trong level. Từ đó dựng bài kiểm tra cuối level, rồi bài xếp level
   đầu vào 10 câu đang hứa trên trang chủ.

3. **Thêm một kiểu câu sửa lỗi** (F4): learner thấy một câu sai, gõ lại câu đúng. Máy chấm được như `gap` (so với
   `answer` và `accept`), và lấy nguyên liệu sẵn từ 3 `pitfalls` của mỗi bài. Viết câu tự do để sau, khi có chấm
   bằng AI.

4. **Video** (F5): ưu tiên B2 và C1, mỗi level 5 bài quan trọng nhất trước, theo luật render tiết kiệm.
   **Tiến độ 12.10.2026.** Bước 1 xong (115/115 bài, 29/29 unit đạt §14). Bước 2 xong: Level test và
   Placement test chạy được; điểm lưu ở máy chủ (bảng `grammar_test_results`). Bước 3 xong ở dạng Fix it dựng từ `pitfalls`.
   Bước 4 (video) chưa làm: theo luật render tiết kiệm, cần chủ dự án chọn 5 bài đầu tiên.

5. **Dọn 4 câu trùng** (F6) trong lượt sửa kế tiếp của level tương ứng.
