docs(ct-math): пивот плана на существующий банк questions (1753 задания ЦЭ/ЦТ)

Контент ЦЭ/ЦТ по математике уже в БД (questions, subject_id=3, 1753 задания
2011–2025, seed_math_ct*.js) — курс строим на нём через tests/assignments
(готовый mode='ct') и courses, а не через exam-prep/exam_tasks.

- plans/ct-math/BUILD_ON_QUESTIONS.md — новый основной тех-документ: схема
  questions/topics/tests/assignments, режимы ct/topic, таксономия и её доведение,
  каркас курса, диагностика из реальных вопросов, прогресс, порядок работ
- примечания-пивот в PLAN (§6/§8), TOPICS_SEED, DIGITIZATION_SPEC (помечены
  вторичными: exam-prep — опция, оцифровка уже сделана), пилотах, README
- difficulty приведён к шкале банка 1–3

Миграция 077 оставлена как опция exam-prep, в БД не применяется.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
Maxim Dolgolyov
2026-06-14 21:56:33 +03:00
parent 7eb6cb2da0
commit 055a6cd1a4
7 changed files with 238 additions and 25 deletions
+31 -25
View File
@@ -4,42 +4,48 @@
Универсальная (диагностика + 3 уровня), без жёсткой привязки к датам. Построена на разборе папки
`F:\!Рабочие\ЦТ\Математика\` и реального формата РИКЗ-2024.
> ⚠️ **ПИВОТ (2026-06-14).** Контент ЦЭ/ЦТ **уже в БД** — банк `questions` (`subject_id=3`, **1753
> задания** 2011–2025). Поэтому курс строим на нём (`tests`/`assignments`/`courses`), а НЕ через
> exam-prep (`exam_tasks`). Актуальный технический документ — **[BUILD_ON_QUESTIONS.md](BUILD_ON_QUESTIONS.md)**.
## Документы
| Файл | Что внутри |
|---|---|
| [PLAN.md](PLAN.md) | **Главный документ.** Карта экзамена, методические принципы, 9 блоков / ~32 модуля, уровневые траектории, маппинг на платформу, порядок наполнения, открытые вопросы. |
| [TOPICS_SEED.md](TOPICS_SEED.md) | Готовый seed: трек `exam_tracks('ctmath')` + дерево `exam_topics` (разделы→подтемы) с реальными slug-ами учебников. Переносится в SQL-миграцию почти 1:1. |
| [PILOT_TRIGONOMETRY.md](PILOT_TRIGONOMETRY.md) | Эталонная развёртка блока «Тригонометрия» до уровня уроков/блоков/карточек/тренажёра — шаблон для тиражирования. |
| [PILOT_STEREOMETRY.md](PILOT_STEREOMETRY.md) | Второй эталон — блок «Стереометрия» (самый «дорогой»): координатно-векторный метод для В20, sim `stereo`, «Кедр»-отработки. |
| [DIGITIZATION_SPEC.md](DIGITIZATION_SPEC.md) | Как оцифровывать задания РТ/ЦТ в `exam_tasks` (форматы полей, классификатор номер→тема, рубрика сложности) + состав входной диагностики. |
| [RESOURCES.md](RESOURCES.md) | Инвентарь всех материалов папки с привязкой к модулям и уровням; что оцифровывать первым. |
| Файл | Что внутри | Статус |
|---|---|---|
| [PLAN.md](PLAN.md) | **Программа.** Карта экзамена, методика, 9 блоков / ~32 модуля, уровни, шаблон модуля. | актуально (кроме §6/§8 — см. пивот) |
| [BUILD_ON_QUESTIONS.md](BUILD_ON_QUESTIONS.md) | **Главный тех-документ.** Сборка курса на существующем банке `questions`: режимы `mode='ct'`/`'topic'`, таксономия тем, курс/уроки, диагностика, пробники, прогресс, порядок работ. | актуально |
| [PILOT_TRIGONOMETRY.md](PILOT_TRIGONOMETRY.md) | Эталон блока «Тригонометрия» до уроков/блоков/карточек — шаблон тиражирования. | актуально (тренажёр = `mode='topic'`) |
| [PILOT_STEREOMETRY.md](PILOT_STEREOMETRY.md) | Второй эталон — «Стереометрия» (координатный метод В20, sim `stereo`). | актуально |
| [RESOURCES.md](RESOURCES.md) | Инвентарь материалов папки по модулям/уровням (для добивки/гэпов). | актуально |
| [TOPICS_SEED.md](TOPICS_SEED.md) | Seed exam-prep (`exam_tracks/exam_topics`, миграция 077). | вторично (опция exam-prep) |
| [DIGITIZATION_SPEC.md](DIGITIZATION_SPEC.md) | Оцифровка РТ/ЦТ в `exam_tasks`. | вторично (оцифровка уже сделана) |
**Код (готов, но НЕ применён):** [`backend/src/db/migrations/077_ctmath_track_topics.sql`](../../backend/src/db/migrations/077_ctmath_track_topics.sql) — миграция трека `ctmath` + дерева тем (валидирована in-memory: 1 трек, 9 разделов, 32 подтемы). На живую БД не запускалась.
**Код:** [`backend/src/db/migrations/077_ctmath_track_topics.sql`](../../backend/src/db/migrations/077_ctmath_track_topics.sql) — миграция трека `ctmath` + дерева тем для exam-prep (валидирована in-memory). **Оставлена как опция, в БД НЕ применена.** Основной путь — банк `questions`.
## Ключевые факты
- **Формат экзамена**: часть А — А1–А10 (выбор из 5), часть В — В1–В20 (открытый ответ), всего **30 заданий**, ~180 мин, до 100 тестовых баллов; часть В весит больше.
- **Платформа уже готова**: модуль exam-prep (`exam_tracks/exam_tasks/exam_topics/exam_mock_sessions` + детектор слабых тем), курсы (`courses→sections→lessons→blocks`), флешкарты со spaced-repetition, sims (`trigcircle/graph/stereo/…`), `content_access`/assignments. Наполнение = данные, не разработка движков.
- **Самый «дорогой» блок** — стереометрия (~6 заданий, включая сложнейшие В17/В20); усиленный модуль + готовые «Кедр»-отработки.
- **Контент уже есть**: банк `questions` (`subject_id=3`) — **1753 задания** 20112025 (ЦЭ-2024 = 117, набор 2025 = 1020), размечены по темам (`topics`, 19 шт.) и годам. Залиты `backend/scripts/seed_math_ct*.js`.
- **Готовый механизм ЦТ**: `assignments` с `mode='ct'` собирает вариант (Часть A из `single/true_false` + Часть B из `multi/short_answer`); `mode='topic'` — тренажёр по теме. Сложность в банке — 1–3.
- **Самый «дорогой» блок** — стереометрия (~6 заданий, включая сложнейшие В17/В20).
## Порядок реализации (предлагаемый)
## Порядок реализации (на банке `questions`, см. BUILD_ON_QUESTIONS §8)
1. Миграция трека + дерева тем ([TOPICS_SEED.md](TOPICS_SEED.md)).
2. Оцифровка части А и В1–В10 из ЦЭ-2024 + РТ-2022…2025 ([DIGITIZATION_SPEC.md](DIGITIZATION_SPEC.md)).
3. Теория блоков по образцу пилота ([PILOT_TRIGONOMETRY.md](PILOT_TRIGONOMETRY.md)), начиная со стереометрии и тригонометрии.
4. Колоды карточек формул, sims в уроки геометрии.
5. Полные варианты-пробники + диагностика.
6. Выдача классам/ученикам через `content_access`/assignments.
1. Таксономия: добавить недостающие темы (Производная, Иррациональные, Модуль, Показательные ур., Параметры).
2. Каркас курса: `courses('math','ЦЭ/ЦТ — Математика')` + 9 `course_sections`.
3. Диагностика: `test` из ~14 реальных вопросов банка (по 1 на тему) → выдать.
4. Уроки по приоритету (стерео, тригонометрия) — теория по пилотам + кнопка практики `mode='topic'`.
5. Пробники: assignment `mode='ct'` (30 заданий) + тематические `mode='topic'`.
6. Карточки формул; выдача классам через `content_access`/`class_courses`.
## Статус
ПЛАН + готовая миграция дерева тем (077, валидирована, **НЕ применена** на живой БД).
Файлы пока не закоммичены. Сделано: PLAN, TOPICS_SEED, два пилота (тригонометрия + стереометрия),
DIGITIZATION_SPEC, RESOURCES, миграция 077.
ПЛАН переориентирован на банк `questions` (пивот). Закоммичено в master (`7eb6cb2`): PLAN, TOPICS_SEED,
два пилота, DIGITIZATION_SPEC, RESOURCES, миграция 077. Добавлен BUILD_ON_QUESTIONS.md + примечания-пивот
(этот коммит). Миграция 077 в БД **не применялась**; ничего в живой БД не менялось.
Следующий конкретный шаг на выбор:
- применить миграцию 077 (`npm run migrate`) — по согласованию (живая БД, параллельные сессии);
- начать оцифровку диагностического набора / части А в `exam_tasks`;
- детализировать ещё блок (напр. уравнения/неравенства или функции+производная);
- закоммитить `plans/ct-math/` + миграцию.
- добавить недостающие `topics` (миграция/скрипт) и собрать каркас курса;
- собрать диагностический `test` из реальных вопросов банка;
- детализировать ещё блок теории (уравнения/неравенства или функции+производная);
- закоммитить изменения этого захода.