- Зачем: - нужно зафиксировать состояние трекера после рабочего коммита issue 08. - Что: - задача 08 переведена в done. - журнал coordinator-loop дополнен ревью-гейтом и коммит-гейтом. - Проверка: - git diff --cached --check.
91 lines
6.5 KiB
Markdown
91 lines
6.5 KiB
Markdown
Status: done
|
||
|
||
# Миграция учебных материалов с архивного сида на генерацию
|
||
|
||
## Parent
|
||
|
||
`.scratch/generator-model-time-startup-history/PRD.md`
|
||
|
||
## Why
|
||
|
||
После перевода штатного аналитического контура на стартовую историю генератора
|
||
часть учебных материалов всё ещё описывает `data/*.jsonl` как основной источник
|
||
данных стенда. Это нельзя править внутри issue 06: потребуется пройти уроки и
|
||
сохранить понятный учебный путь.
|
||
|
||
Развилка «отдельный урок про генератор vs скрытая инфраструктура» закрыта
|
||
(2026-07-04, `docs/course/PRD.md` §7): **отдельного урока не будет, генератор —
|
||
скрытая инфраструктура**. Устройство генератора — это разработка бэкенда и
|
||
математика, не инженерия данных; в цели курса не попадает. Уроки адаптируем,
|
||
не вводя марковские цепи и сложный Python в путь менти.
|
||
|
||
## What to build
|
||
|
||
Обновить курс и связанные материалы (тест-план) так, чтобы основной путь был:
|
||
|
||
```text
|
||
startup-history/backfill -> Kafka -> STG -> ODS -> DDS -> DM -> Superset
|
||
```
|
||
|
||
Архивный `data/*.jsonl` оставить только как временную фактуру генератора.
|
||
Генератор в уроках подаётся как готовый источник данных стенда («откуда берутся
|
||
данные»), без погружения в его устройство.
|
||
|
||
## Acceptance criteria
|
||
|
||
- [ ] `docs/course/` больше не ведёт ученика через `make data` или `kafka_load`
|
||
как основной путь получения аналитических данных.
|
||
- [ ] Уроки явно объясняют, что `data/*.jsonl` пока остаётся кладовкой значений
|
||
для генератора, а не источником аналитического контура.
|
||
- [ ] Уроки не вводят устройство генератора (марковская модель, внутренний
|
||
Python) в путь менти: генератор упоминается только как готовый источник данных.
|
||
- [ ] Тест-план согласован с новым штатным путём запуска.
|
||
- [ ] Если для уроков нужны новые скриншоты или ручная оценка dashboard, это
|
||
вынесено в HITL-приёмку.
|
||
|
||
## Notes
|
||
|
||
Реальный объём больше, чем кажется: `make data` вплетён во **все** уроки 00–05,
|
||
а не только в урок 06 (проверка 2026-07-04, `grep -rn "make data" docs/course/`):
|
||
|
||
- `docs/course/README.md` — быстрый старт через `LIMIT=50 make data`;
|
||
- `lessons/00_kafka_intro.md` — `make data` играет роль трекера, на нём построен
|
||
весь разбор партиций и offset'ов;
|
||
- `lessons/01–05` — `LIMIT=50 make data` в запуске, «полном сбросе» и таблицах
|
||
проверок;
|
||
- `docs/TEST_PLAN.md` — сценарии на старом пути.
|
||
|
||
Тонкое место — урок 00: там ручная заливка используется как учебный приём
|
||
(наглядно видно сообщения в топике). Решить при миграции, чем её заменить, не
|
||
потеряв наглядность; критерий приёмки запрещает `make data` как **основной путь
|
||
аналитики**, а не как локальный демонстрационный приём внутри урока.
|
||
|
||
Схема потока в `docs/course/PRD.md` §1 уже обновлена (поправка 2026-07-04) — PRD
|
||
дополнительно править не нужно.
|
||
|
||
Демо-материалов в скоупе нет: демо-употребление стенда устарело (демо выросло в
|
||
отдельный проект), шпаргалки удалены из репозитория 2026-07-04 (см. поправку в
|
||
шапке `docs/course/PRD.md`).
|
||
|
||
Рекомендуемый режим ревью по coordinator-loop: обычный (документы и уроки, кода
|
||
генератора и state задача не трогает); человеческая приёмка — проход по урокам
|
||
через пульт (HITL).
|
||
|
||
## Blocked by
|
||
|
||
- Жёстких блокеров нет: штатный путь (`make generated-history-analytics`) уже
|
||
существует, уроки можно вести через него.
|
||
- Мягкая зависимость от
|
||
`07-startup-history-portable-artifact-and-usage-docs.md`: runbook из issue 07
|
||
изменит команды запуска и восстановления стенда, а уроки будут на него
|
||
ссылаться. Делать эту задачу после него, иначе уроки придётся править дважды.
|
||
- Мягкая зависимость от `12-generator-control-dag.md` (решение 2026-07-04):
|
||
человеческая приёмка миграции — это проход по урокам 00–05, и вести её удобнее
|
||
через DAG-пульт, а не через консоль. Поэтому эта задача идёт последней в
|
||
очереди — после 12. Порядок всей очереди — в PRD, раздел «Задачи».
|
||
- Мягкая зависимость от `14-fast-teaching-profile.md` и
|
||
`09-seam-browser-fixture-not-preserved.md` (дополнено 2026-07-04): обе меняют
|
||
мир — 14 переводит профиль `daily-wave` на быстрый темп, 09 меняет схему
|
||
state. Артефакт стартовой истории для уроков должен родиться **после** них,
|
||
иначе он протухнет по антисмешиванию и проход по урокам придётся повторять.
|