Зачем: два слепых ревью (Codex CODE-1..9, Claude TASK-1..2) и
перепроверки нашли дефекты в лабах и метадоках; финал лабы 08
переделан по решению пользователя.
Что:
- канонический сброс в README курса теперь снимает DAG'и с паузы
(все создаются на паузе);
- имя дашборда исправлено на «E-commerce Analytics Dashboard»;
- финал лабы 08: вместо мифа «users == sessions на статике» —
вернувшийся пользователь через границу заморозки и измеренное
обещание свежести; §2 велит записать границы и время (§6 их требует);
- CONTEXT.md: эталонный мир — замороженный живой,
4 056 пользователей / 26 083 визита, возвраты уже есть;
- уроки 5–6 ведут в обязательный маршрут, живое упражнение
урока 5 требует канонический сброс;
- контрактные тесты: убран якорь на удалённую команду; добавленные
на триаже тесты-цитаты срезаны до устойчивых инвариантов
(прозаический легаси-жанр — issue #24);
- handoff обновлён до текущего состояния.
Проверка: make test (219 generator + 31 contract) и make lint зелёные;
SQL вернувшегося пользователя проверен на эфемерном ClickHouse 25.1
(на полном наборе — в #23).
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Зачем: после редизайна пути менти курс ссылался на старый путь
generated-history-analytics/backfill и не проходился по новому стенду.
Что: в README курса — единый блок подготовки и канонического сброса
(make clean -> make up + ddl_init/world_init -> make superset-init),
таблица уроков дополнена лабами 07–08 («в работе»); LESSON_STANDARD и
уроки 0–6 ссылаются на канонический блок; урок 1 переведён на дозаливку
через world_next_day (кнопкой-анонсом, цена в минутах названа); урок 4 —
лесенка DAG-ов; урок 5 — словарь «база import / живой поток»; урок 6
обязателен; цифры старого мира помечены маркером «сверить-на-стенде».
Проверка: grep по generated-history-analytics/backfill в docs/course/
пуст; правки только в docs/course/; git diff --check чистый.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
- Зачем:
- ревью пути менти 2026-07-07 нашло четыре места, где документация
сбивает новичка: скрытый шаг с паузой etl_pipeline, два рецепта
первого запуска без связки, неверное число дашбордов и пустые
панели Airflow на backfill-only пути.
- Что:
- README: добавлен шаг «снимите паузу с etl_pipeline» перед backfill
и пометка, что generated-history-analytics — тот же путь одной
командой;
- курс: README курса связывает оба рецепта первого запуска, урок 05
называет четыре дашборда (включая Generator Overview) и объясняет,
почему панели Airflow пусты до запуска etl_pipeline.
- Проверка:
- чтение задетых разделов; имена дашбордов сверены с provisioning
Grafana в ходе ревью.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
- Зачем:
- курс должен проходить на чистом стенде без архивного сида и скрытых шагов.
- Что:
- уроки 00, 01 и 05 согласованы с генераторными топиками, no-live default и consumer lag.
- упражнение с kafka_msg_ts переведено на повторную заливку без сброса схемы.
- учебный путь в операционной документации ведёт через startup-history.
- Проверка:
- make generated-history-analytics; make up; doc rg checks; git diff --check.
- Зачем:
- учебный путь должен идти через генерацию и штатный пайплайн, а не через архивный сид.
- Что:
- обновлены уроки 00-06 и стандарт урока под startup-history/backfill.
- объяснено, что data/*.jsonl остаются кладовкой значений генератора.
- тест-план переведён на новый штатный запуск и HITL-приёмку.
- Проверка:
- rg -n \"make clean/up/ddl/data/transform|make data|kafka_load|LIMIT=|2022-11-28|26 из 50\" docs/course docs/TEST_PLAN.md.
- git diff --cached --check.
- Зачем:
- сквозной ревью курса нашёл расхождения учебного текста с реальным выводом
стенда и один баг в операторских доках — менти увидел бы не то, что в уроке.
- Что:
- урок 2: порядок строк «Статистики ODS» выровнен под фактический вывод
run_batch.sh (4 основных таблицы, затем 4 *_errors); снято «по строчкам».
- урок 3: добавлено пояснение, что check_date — это today() из витрины
(у менти будет своя дата, не как в примере).
- урок 5: «должно быть не в Alerting» → «в состоянии Normal (не Alerting)».
- OPERATIONS.md: несуществующий FULL=1 заменён на реальный knob LIMIT=50
(по умолчанию полный объём — подтверждено load_kafka_data.sh:27,128).
- Проверка:
- git diff показывает 4 файла, +9/-6; grep 'FULL=' по docs/ пуст.
- порядок таблицы сверен с run_batch.sh:111-118; today() — sql/dm/40_dds_to_dm.sql:105.
- Зачем:
- нужен завершённый урок 5, который объясняет мониторинг стенда без предположения, что менти уже знаком с Grafana.
- Что:
- добавлен урок про Prometheus targets, Grafana dashboards, exporters и alert rules.
- описан управляемый сбой через остановку airflow-scheduler и восстановление стенда.
- обновлены навигация курса, план урока и названия панелей мониторинга в operations runbook.
- Проверка:
- git diff --cached --check.
- сверка названий dashboard/panel/alert rules с provisioning-файлами Grafana.