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. Артефакт стартовой истории для уроков должен родиться **после** них, иначе он протухнет по антисмешиванию и проход по урокам придётся повторять.