Files
clickstream-ch-kafka-supers…/.scratch/generator-model-time-startup-history/issues/08-migrate-course-from-archive-seed.md
T
ddadmin 3d4e13c541 docs(issues): закрыта задача 08 по миграции курса
- Зачем:
  - нужно зафиксировать состояние трекера после рабочего коммита issue 08.
- Что:
  - задача 08 переведена в done.
  - журнал coordinator-loop дополнен ревью-гейтом и коммит-гейтом.
- Проверка:
  - git diff --cached --check.
2026-07-04 22:23:15 +03:00

91 lines
6.5 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
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` вплетён во **все** уроки 0005,
а не только в урок 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/0105``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. Артефакт стартовой истории для уроков должен родиться **после** них,
иначе он протухнет по антисмешиванию и проход по урокам придётся повторять.