- Зачем:
- узкое место — время человека на ручную приёмку: без DAG-пульта проверять
миграцию курса пришлось бы через консоль.
- Что:
- PRD, раздел «Задачи»: номер файла объявлен идентификатором (не порядком),
порядок задан ветками и mermaid-графом; основная цепочка 07 -> 11 -> 12,
миграция курса 08 — последней.
- issue 08: добавлена мягкая зависимость от 12 (приёмка уроков через пульт).
- handoff триажа: раздел «Следующий шаг» обновлён под новый порядок.
- Проверка:
- mermaid-диаграмма проверена валидатором Mermaid; статусы задач не менялись.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
5.6 KiB
Status: ready-for-agent
Миграция учебных материалов с архивного сида на генерацию
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
Обновить курс и связанные материалы (тест-план) так, чтобы основной путь был:
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).
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, раздел «Задачи».