---
url: https://docs.nemo12.com/product/prd-008-grammar.md
description: >-
  Bản nháp PRD-008 Program Grammar: ngữ pháp tiếng Anh theo 5 level, mười quyết
  định đã chốt, danh mục và trang giới thiệu (SRC-1104, SRC-1106).
---

# PRD-008 - Program Grammar

> Nguồn: SRC-1104 (chủ dự án 28.09.2026). Mười câu hỏi xác nhận, chủ dự án chốt "OK hết".
> Thiết kế: [SDD-048](../architecture/sdd-048-grammar-program.md). Địa chỉ: `learn.nemo12.com/grammar`.

## 1. Là gì

Một chương trình riêng để học ngữ pháp tiếng Anh, chia 5 level. Learner tự chọn level và học từng bài.
Vòng đầu chỉ dựng **tên và vỏ** (danh mục + khung trang) để chủ dự án nhìn được tổng quan; nội dung bài
làm ở các vòng sau.

## 2. Mười quyết định

| # | Quyết định |
| --- | --- |
| 1 | `/grammar` là chương trình độc lập, lớn hơn. 36 chủ đề của `/ielts/grammar` được xếp vào đúng level (đánh dấu ↗ bên dưới) và bài ở `/grammar` trỏ sang chủ đề ấy; `/ielts/grammar` giữ nguyên, không mất tiến độ |
| 2 | Chỉ bám **khung chủ đề và thứ tự học** của bộ English Grammar in Use (Essential, Intermediate, Advanced). Tên bài, ví dụ, bài tập Nemo tự viết; không chép chữ nào của sách; trang không ghi tên sách, chỉ ghi A1-C1 |
| 3 | Năm level: Starter (A1), Elementary (A2), Intermediate (B1), Upper-intermediate (B2), Advanced (C1) |
| 4 | Level → Mảng (6 mảng mỗi level) → Bài (3-5 bài mỗi mảng); tổng 103 bài |
| 5 | Learner tự chọn level, mọi level đều mở. Bài xếp lớp 10 câu để vòng sau |
| 6 | Ngôn ngữ như sân IELTS: tên level, mảng, bài tiếng Anh; phần Nemo giải thích tiếng Việt |
| 7 | Bắt đăng nhập như `/ielts/**`; dùng chung gói Membership và free trial 14 ngày của IELTS |
| 8 | Giao diện dùng lại khung `/ielts`: thanh tối, vệt đường dẫn, ô số liệu, danh sách dòng có mũi tên. Thanh ghi NEMO GRAMMAR, chip duy nhất là phút học hôm nay |
| 9 | Trang bài có năm khung: Video, Rule, 3 Examples, 3 Common mistakes, 5 Practice (level 1-5), vòng này ghi "Coming soon". Dashboard ba ô: phút tuần này, số bài đã xong, level đang học |
| 10 | Tài liệu: trang này (kèm danh mục) và SDD-048 |

## 3. Danh mục

Nguồn máy đọc: `packages/grammar-catalog/catalog.json`. Bảng dưới sinh từ file ấy; đổi danh mục thì sửa JSON
rồi sinh lại bảng. ↗ = đã có bài luyện ở `/ielts/grammar`.

### Level 1: Starter (A1, 21 bài)

Những khối cơ bản nhất: động từ be, hiện tại đơn, danh từ, đại từ. Đủ để giới thiệu bản thân và nói về cuộc sống hằng ngày.

| Mảng | Bài |
| --- | --- |
| The verb be | I am, you are, he is · Am I? Is she? Are they? · Short answers: Yes, I am · There is and there are ↗ |
| Present simple | I work, she works ↗ · I don't work ↗ · Do you work? ↗ · Adverbs of frequency: always, never ↗ |
| Nouns and articles | a and an · Singular and plural ↗ · the ↗ · this, that, these, those |
| Pronouns and possessives | I, me, my, mine ↗ · Possessive 's ↗ · Whose is this? |
| Place and time | in, on, at for places ↗ · in, on, at for time ↗ · Prepositions of position |
| Ability and requests | can and can't ↗ · Can I...? Could you...? · Imperatives: Sit down, Don't talk |

### Level 2: Elementary (A2, 21 bài)

Nói về quá khứ và tương lai, so sánh, và đếm được hay không đếm được.

| Mảng | Bài |
| --- | --- |
| Present continuous | I am working now ↗ · Present simple or continuous? · Verbs we rarely use in -ing |
| Past simple | was and were · Regular verbs: worked, played ↗ · Irregular verbs: went, saw · Did you...? I didn't... |
| Future forms | going to for plans ↗ · will for decisions and predictions · Present continuous for arrangements |
| Quantity | Countable and uncountable ↗ · some and any ↗ · much, many, a lot of ↗ · a few and a little |
| Comparing | Comparatives: bigger, more useful ↗ · Superlatives: the biggest ↗ · as ... as · too and enough ↗ |
| Obligation and advice | must and have to ↗ · should and shouldn't ↗ · need to |

### Level 3: Intermediate (B1, 23 bài)

Các thì hoàn thành, câu điều kiện, bị động, và nối ý bằng mệnh đề.

| Mảng | Bài |
| --- | --- |
| Past and perfect | Past continuous ↗ · Present perfect: experience ↗ · Present perfect: for and since · Present perfect or past simple? · Used to |
| Conditionals | Zero conditional · First conditional ↗ · Second conditional · unless and in case |
| Passive voice | Present and past passive ↗ · Passive with modals · get something done |
| Verb patterns | Verb + -ing ↗ · Verb + to infinitive · Verb + object + infinitive · Prepositions + -ing |
| Relative clauses | who, which, that ↗ · Leaving out the relative pronoun · where and whose |
| Adjectives and adverbs | -ed and -ing adjectives ↗ · Adjective order ↗ · Adverbs of manner · Adverb position |

### Level 4: Upper-intermediate (B2, 20 bài)

Thì phức hợp, điều kiện loại ba, câu tường thuật, và các từ nối để viết mạch lạc.

| Mảng | Bài |
| --- | --- |
| Perfect and continuous | Present perfect continuous · Past perfect · Past perfect continuous · Future continuous and future perfect |
| Advanced conditionals | Third conditional · Mixed conditionals · wish and if only |
| Reported speech | Reporting statements ↗ · Reporting questions · Reporting verbs: suggest, warn, admit |
| Modals of deduction | must, might, can't for now · must have, might have for the past · should have and could have |
| Linking and contrast | although, though, even though ↗ · despite and in spite of · Linking words for reasons and results · Joining ideas in one sentence ↗ |
| Agreement and word order | Subject-verb agreement ↗ · Word order in questions and statements ↗ · Indirect questions |

### Level 5: Advanced (C1, 18 bài)

Cấu trúc nhấn mạnh, đảo ngữ, mệnh đề rút gọn, và văn phong trang trọng.

| Mảng | Bài |
| --- | --- |
| Emphasis and inversion | Cleft sentences: What I need is... · Inversion after negative adverbs · Fronting for emphasis |
| Advanced passive | It is said that... · Passive with reporting verbs · Causative have and get |
| Participle clauses | Present participle clauses · Past participle clauses · Having done |
| Hypothetical meaning | It's time, would rather · Inverted conditionals: Had I known · as if and as though |
| Noun phrases | Nominalisation · Compound nouns · Determiners: each, every, either, neither |
| Formal and informal style | Ellipsis and substitution · Hedging: tend to, appear to · Discourse markers in writing |

## 4. Trang giới thiệu trên nemo12.com (SRC-1106)

Chủ dự án 28.09.2026: Grammar là chương trình thứ ba để vào đại học, cạnh IELTS và SAT, dùng cho cả thi
vào lớp 10, thi tốt nghiệp THPT và IELTS. Trang công khai ở `nemo12.com/{students|parents}/university/grammar`
cùng ba trang con `who-is-it-for`, `levels`, `how-it-works`; nút chính trỏ về `learn.nemo12.com/grammar`.
Luật và danh sách URL: [public-web-ia §6](public-web-ia.md).

## 5. Ngoài phạm vi vòng đầu

* Nội dung từng bài (video, công thức, ví dụ, lỗi hay gặp, 5 bài luyện).
* Bài xếp lớp 10 câu.
* Số thật cho ba ô dashboard (tiến độ và phút học ghi vào `learning_events`).

## 6. Nội dung level Starter (SRC-1105, 28.09.2026)

Cả 21 bài Starter đã có nội dung: đoạn giới thiệu tiếng Việt, công thức, 3 ví dụ, 3 lỗi hay gặp, 5 bài
luyện level 1-5 (làm từng câu một, đúng lần đầu được cộng 2 phút học như khu Grammar của IELTS).

* **12 bài có ↗** dùng lại nguyên nội dung chủ đề tương ứng ở `/ielts/grammar` và chung tiến độ với nó:
  một nội dung không có hai bản.
* **9 bài viết mới**: I am, you are, he is · Am I? Is she? Are they? · Short answers · a and an ·
  this, that, these, those · Whose is this? · Prepositions of position · Can I...? Could you...? · Imperatives.
* **Chưa có:** video cho 9 bài mới (render tốn tiền nên để chủ dự án quyết); bốn level còn lại vẫn là vỏ.

## 7. Nội dung level Elementary (SRC-1107, 28.09.2026)

Cả 21 bài Elementary đã có nội dung, cùng khuôn với Starter.

* **11 bài có ↗** dùng lại nội dung chủ đề ở `/ielts/grammar`, chung tiến độ.
* **10 bài viết mới**: Present simple or continuous? · Verbs we rarely use in -ing · was and were ·
  Irregular verbs · Did you...? I didn't... · will for decisions and predictions · Present continuous for
  arrangements · a few and a little · as ... as · need to.
* **Chưa có:** video cho 10 bài mới.

## 8. Nội dung level Intermediate (SRC-1111, 28.09.2026)

Cả 23 bài Intermediate đã có nội dung, cùng khuôn với Starter và Elementary.

* **8 bài có ↗** dùng lại nội dung chủ đề ở `/ielts/grammar`, chung tiến độ.
* **15 bài viết mới**: Present perfect for and since · Present perfect or past simple? · Used to ·
  Zero conditional · Second conditional · unless and in case · Passive with modals · get something done ·
  Verb + to infinitive · Verb + object + infinitive · Prepositions + -ing · Leaving out the relative
  pronoun · where and whose · Adverbs of manner · Adverb position.
* **Chưa có:** video cho 15 bài mới. Hai level còn lại (Upper-intermediate, Advanced) vẫn là vỏ.

## 9. Nội dung level Upper-intermediate và rà soát bài cũ (SRC-1112, 28.09.2026)

**Upper-intermediate:** cả 20 bài đã có nội dung. 5 bài có ↗ dùng lại chủ đề `/ielts/grammar`; 15 bài viết
mới (các thì hoàn thành tiếp diễn, tương lai tiếp diễn và hoàn thành, điều kiện loại 3 và hỗn hợp, wish,
tường thuật câu hỏi, động từ tường thuật, suy đoán hiện tại và quá khứ, should have / could have, despite,
từ nối nguyên nhân - kết quả, câu hỏi gián tiếp). Chỉ còn Advanced là vỏ.

**Rà soát bài cũ:** cổng `scripts/audit-content.mjs` nay quét cả `grammar/content/**`: 85 file, cả 85 đạt 100
điểm (đủ giới thiệu, công thức, 3 ví dụ, 3 lỗi, 5 bài level 1-5, đáp án nằm trong lựa chọn). Ba chỗ thiếu đã bù:

* **Tiến độ đứng ở 0/5 sau khi làm xong 5/5** (ảnh chủ dự án 28.09.2026): tiến độ chỉ đọc lại từ localStorage,
  nên trình duyệt chặn localStorage là bộ đếm không lên. Nay có bản trong bộ nhớ gộp với localStorage.
* **Chip "min today" đứng ở 0:** chip chỉ tải một lần lúc mở trang; nay đọc lại sau mỗi bài làm đúng.
* **Video:** 36 bài dùng chung với `/ielts/grammar` nay hiện video 1 phút đã có. Bài viết mới vẫn chưa có
  video (render tốn tiền, chờ chủ dự án quyết).
* Trang level hiện tiến độ `n/5` cạnh từng bài.

## 10. Nội dung level Advanced (SRC-1114, 28.09.2026)

Cả 18 bài Advanced đã có nội dung, đều viết mới (không có chủ đề tương ứng ở `/ielts/grammar`): câu chẻ,
đảo ngữ sau trạng từ phủ định, fronting, It is said that, bị động với động từ tường thuật, thể sai khiến,
mệnh đề phân từ hiện tại và quá khứ, Having done, It's time / would rather, đảo ngữ câu điều kiện, as if,
danh từ hóa, danh từ ghép, each / every / either / neither, tỉnh lược và thay thế, hedging, từ nối trong bài
viết. **Program Grammar nay đủ 103/103 bài**; còn thiếu video cho 67 bài viết mới.

## 11. Video cho 5 bài quan trọng nhất (SRC-1119, 28.09.2026)

Chủ dự án: làm video cho 5 bài quan trọng nhất (luật render tiết kiệm SRC-1081: không dựng cả kho). Chọn theo
số người học và độ dễ sai, mỗi level đầu ít nhất một bài: **I am, you are, he is** (Starter) · **Did you...?
I didn't...** (Elementary) · **Present perfect or past simple?** và **Second conditional** (Intermediate) ·
**Linking words for reasons and results** (Upper-intermediate). Kịch bản cùng khuôn video Grammar cũ (hook,
luật, ví dụ, lỗi hay gặp, lời mời luyện); id `grammar-<bài>`; file nội dung bài ghi `video_id` để trang bài
hiện video. Video xưng NEMO IELTS như 36 video Grammar cũ, vì thương hiệu suy từ tiền tố id và đổi nó là sửa
`tools/videos/src/`, tức đổi vân tay cả kho. 62 bài viết mới còn lại chưa có video.

## 12. Video Grammar xưng NEMO GRAMMAR (SRC-1126, 29.09.2026)

Chủ dự án chọn đổi thương hiệu video Grammar từ NEMO IELTS sang **NEMO GRAMMAR**. `brandOf` trong
`tools/videos/src/Frame.tsx` nay đọc tiền tố `grammar-` thành GRAMMAR, cho cả 41 video Grammar (36 của
`/ielts/grammar` và 5 của Program Grammar). Vì đây là sửa `tools/videos/src/`, vân tay mọi video đổi; theo luật
render tiết kiệm (SRC-1081) chỉ dựng lại **5 video của Program Grammar** trong lượt này. 36 video cũ giữ chữ
NEMO IELTS cho tới khi chủ dự án chỉ định dựng lại (khoảng 36 × 3 = 108 phút Actions).

## 13. Giao diện tiếng Anh, căn giữa (SRC-1173, 01.10.2026)

Chủ dự án: mọi nhãn và nút trên giao diện `learn.nemo12.com/grammar/**` là **tiếng Anh**; nội dung bài (lấy
từ kho nội dung: `title_vi`, `intro_vi`, lời giải `explain_vi`, giới thiệu level) giữ nguyên. Điều này thay
quyết định 6 cho phần GIAO DIỆN; chữ Nemo giải thích nằm trong nội dung nên vẫn tiếng Việt. `/ielts/grammar`
không đổi: nó thuộc sân luyện IELTS và đi theo luật SRC-953 (nhãn nút tiếng Việt). Cập nhật 10.10.2026
(SRC-1325): `/ielts/grammar/**` nay cũng tiếng Anh 100%, kể cả hướng dẫn và nhãn nút; nội dung chỉ có tiếng
Việt (như `title_vi`) không hiện ở đó.

Bố cục: mọi trang `/grammar` là một cột căn giữa, không full-width. Trang bài rộng tối đa 768px, phần đầu
(mảng, tên bài, công thức, nút luyện) căn giữa, bốn khung gập căn trái; trang level rộng tối đa 896px.

## 14. Tiêu chuẩn bài tập: số lượng và chất lượng (SRC-1174, 01.10.2026)

Chủ dự án: mỗi bài cần nhiều bài tập hơn, có bài ngắn 3-5 câu, bài khoảng 10 câu, bài dài 20 câu; cần tiêu
chuẩn cho từng unit và từng task, cả số lượng lẫn chất lượng, rồi làm dần theo.

Từ dùng trong mục này: **lesson** là một trang bài (`/grammar/<level>/<lesson>`); **unit** là một mảng của
level (ví dụ "The verb be"); **set** là một bài tập gồm nhiều câu; **task** là một câu hỏi.

### 14a. Một lesson đạt chuẩn khi

| Set | Số câu | Vai trò | Dạng câu |
| --- | --- | --- | --- |
| Quick | 5 | Năm câu level 1-5 đang có, dễ dần | tuỳ |
| Practice | 10 | Luyện đủ các trường hợp của luật | ít nhất 2 dạng; ít nhất 4 câu tự gõ (`gap`) |
| Mastery | 20 | Trộn trường hợp, có câu bẫy từ Common mistakes | ít nhất 2 dạng; ít nhất 8 câu tự gõ; ít nhất 3 câu dựng từ 3 lỗi trong `pitfalls` |

Tổng **35 câu mỗi lesson**, không câu nào trùng `prompt` trong cùng lesson. Cộng với 3 Examples và 3 Common
mistakes đang có.

### 14b. Một unit đạt chuẩn khi

1. Mọi lesson của unit đạt chuẩn 14a.
2. Có một **Unit review** 20 câu trộn các lesson của unit, mỗi lesson ít nhất 3 câu, xếp xen kẽ chứ không theo
   từng khối. Đây là chỗ learner phải tự nhận ra luật nào áp dụng, việc mà set của từng lesson không đòi hỏi.

### 14c. Một task đạt chuẩn khi

Máy đo được (test gác, xem SDD-048 §6):

1. Câu `choice` có 2-4 lựa chọn, không trùng nhau, `answer` nằm trong `options`.
2. Câu `gap` có `answer` không rỗng; dạng viết tắt tương đương (`isn't` / `is not`) nằm trong `accept`.
3. `explain_vi` dài ít nhất 40 ký tự: nói **vì sao** đáp án đúng, không chỉ gọi tên luật ("Mẫu as if." là chưa đạt).
4. `prompt` tối đa 12 từ ở Starter và Elementary, tối đa 20 từ ở các level trên.

Người soạn tự kiểm (máy không đo được):

5. Câu kiểm đúng luật của lesson, không kiểm một luật khác.
6. Chỉ một đáp án đúng; lựa chọn sai là lỗi người học thật hay mắc, không phải lựa chọn vô nghĩa.
7. Câu tự nhiên, từ vựng đúng level CEFR, ngữ cảnh gần đời sống learner Việt (trường, nhà, bạn bè).
8. Nemo tự viết, không chép câu của sách nào (quyết định 2).

### 14d. Làm dần

Thứ tự: Starter → Elementary → Intermediate → Upper-intermediate → Advanced, mỗi lượt một level. Mỗi lượt gồm
Practice + Mastery cho mọi lesson của level, Unit review cho mọi unit, và nâng 5 câu Quick cũ lên đạt 14c.
Tiến độ đo bằng `npm run grammar:coverage --workspace @nemo12/learn`. Khối lượng cả kho: 103 lesson × 30 câu
mới + 30 unit × 20 câu, khoảng 3.700 câu. Lượt đầu cần dựng thêm giao diện chọn set trên trang bài.

Hiện trạng ngày 01.10.2026: 103 lesson, mỗi lesson đúng 5 câu (Quick); 0 lesson và 0 unit đạt chuẩn.

Lượt 1, Starter (01.10.2026): 21/21 lesson và 6/6 unit đạt chuẩn. 750 câu mới (21 × 30 + 6 unit review × 20),
105 câu Quick cũ được viết lại lời giải. 12 lesson dùng chung file với `/ielts/grammar`, nên lời giải mới của
Quick cũng hiện ở đó. Câu tự gõ về mạo từ có gợi ý `(a/an)` hoặc `(a/an/the)` ngay trong câu, vì để trống
thì "one", "my", "that" cũng đúng mà máy chấm sai.

Lượt 2, Elementary (01.10.2026): 21/21 lesson và 6/6 unit đạt chuẩn, 750 câu mới. Lượt này lộ ra một lỗ của
cổng: người soạn lách trần 40 ký tự bằng cách nối một câu chung vào mọi lời giải ngắn ("..., dạng này phải
học thuộc.", "Nhớ: many cho thứ đếm được..."). Cổng nay bắt hai dấu hiệu ấy (`fillerProblems` trong
`standard.ts`): một câu giống hệt lặp ở từ 3 lời giải của một bài, và 4 từ cuối giống nhau ở từ 6 lời giải
chiếm ít nhất 40% bài. Khoảng 80 lời giải đã được viết lại; 8 câu có hai đáp án đúng được thêm ngữ cảnh.

Lượt 3, Intermediate (01.10.2026): 23/23 lesson và 6/6 unit đạt chuẩn, 750 câu mới. Cổng câu đệm không bắt
được trường hợp nào. Ba câu tự gõ được nhận thêm dạng đúng ngữ pháp ("are going to go", "walked", "won");
một đáp án sai được bỏ (mệnh đề không xác định thiếu dấu phẩy).

## 15. Học mỗi tuần: tự học, Live thứ Hai, hỏi mentor (SRC-1307, 09.10.2026)

Chủ dự án: mỗi tuần learner có một buổi Live qua Zoom và cần làm đủ bài tập. Mỗi learner học theo tốc độ
riêng, hệ thống dẫn dần từng bước. Khó thì được hướng dẫn trong buổi Live, hoặc nhắn mentor để được hướng
dẫn nhanh. Learner xem được lịch; bấm "tham gia" một buổi thì mới thấy link Zoom. Buổi Live tối thứ Hai
20:00-21:30 (giờ VN), từ thứ Hai gần nhất sau 10.10.2026, tức **12.10.2026**. Mọi buổi đều ghi hình; ngoài
ra có video quay sẵn và hệ thống luyện tập.

Ba quyết định chủ dự án chốt 09.10.2026:

| # | Quyết định |
| --- | --- |
| 1 | Chat với mentor là **nhóm Zalo NEMO GRAMMAR**, không dựng chat trong app ở vòng này |
| 2 | Một **link Zoom cố định** cho mọi buổi (biến môi trường `GRAMMAR_ZOOM_URL`) |
| 3 | Bản ghi là **link YouTube không công khai**, dán vào buổi sau khi học xong |

Nơi hiện: `learn.nemo12.com/grammar` (thẻ "Live class every Monday", trang `/grammar/live`, khung "How NEMO
GRAMMAR works") và `www.nemo12.com/grammar` (trang How it works: "Mỗi tuần học thế nào"; hai câu FAQ mới).
Nhãn nút trên learn là tiếng Anh theo SRC-1173: nút tham gia ghi **"I'm joining"**. Chủ dự án viết "Tôi
tham gia" trong yêu cầu; nếu muốn đúng chữ ấy thì đây là ngoại lệ của SRC-1173 và cần ghi lại.

## 16. Luyện tập không lộ đáp án (SRC-1308, 09.10.2026)

Chủ dự án: đừng trả lời ngay khi learner vừa đưa ra đáp án. Làm đi làm lại 3 lần mới hiện đáp án và giải
thích. Kể cả khi learner trả lời đúng, đáp án và giải thích vẫn không hiện mặc định; chỉ hiện khi learner
bấm một nút nhỏ. Ẩn bớt mọi thứ trên màn cho gọn, và có thanh tiến độ cho biết đã làm bao nhiêu câu, còn bao
nhiêu câu.

| Tình huống | Màn hình |
| --- | --- |
| Bấm Check, sai lần 1-2 | "Not yet. Try again (2 tries left)", không có đáp án, không có lời giải; đổi câu trả lời thì Check bật lại |
| Sai lần thứ 3 | Hiện đáp án và lời giải, nút Next; câu ấy không được tính là đúng |
| Đúng | "Correct" và nút nhỏ "Show explanation"; bấm mới thấy lời giải |
| Đang làm một set | Chỉ còn tên mảng, tên bài, thanh tiến độ "n / N", câu hỏi; dòng phụ dưới tiêu đề ẩn đi |
| Hết set | "Finished: x/N correct", đếm câu đúng thật chứ không đếm câu đã qua |

Áp cho cả `/ielts/grammar` vì hai nơi dùng chung ô luyện; từ SRC-1325 ở đó nhãn tiếng Anh và không hiện lời giải tiếng Việt (`explain=false`), nên khi lộ đáp án chỉ hiện đáp án.

## 17. Chuẩn ngữ pháp CEFR và lệch của danh mục (SRC-1318, 10.10.2026)

Chủ dự án hỏi mỗi level CEFR gồm ngữ pháp gì, tra cứu ở đâu, và muốn đưa chuẩn vào coral.nemo12.com, rà NEMO GRAMMAR
lệch chuẩn thế nào rồi chỉnh cho khớp. Chuẩn, nguồn, bảng lệch và kế hoạch dời bài: [Chuẩn ngữ pháp CEFR](../reference/grammar-cefr-standard.md).
Hai quyết định chủ dự án chốt 10.10.2026: **Core Inventory là chuẩn chính, dời bài về đúng level**; Coral có **tab đọc
dữ liệu tĩnh** (`packages/grammar-catalog/cefr-standard.ts`). Hiện trạng: 20 bài lệch level, 11 chủ điểm chưa có bài.

## 18. Gỡ Grammar khỏi sân IELTS (SRC-1337, 11.10.2026)

Chủ dự án: loại bỏ Grammar trong IELTS, chỉ còn NEMO GRAMMAR độc lập. Khu `/ielts/grammar` (36 chủ đề, SRC-1065)
đã gỡ: 36 chủ đề ấy vốn là 36 bài của `/grammar`, nay nội dung chuyển hẳn về `apps/learn/src/grammar/content/<level>/`
và giữ video cũ. Địa chỉ `/ielts/grammar` và `/ielts/grammar/<chủ đề>` chuyển hướng sang `/grammar` để link đã gửi
không gãy. Dòng "Grammar" ở bảng phải `/ielts/today` và gợi ý "làm một bài ngữ pháp" của hành trình Recovery nay trỏ
tới `/grammar`. Tiến độ 36 bài ấy đổi mã (theo mã chủ đề IELTS sang `g-<level>-<bài>`), chấp nhận như SRC-1318.
