Files
clickstream-ch-kafka-supers…/.scratch/handoffs/2026-06-06-lesson6-consistency.md
T
ddadmin 2bd4087e4a docs(handoff): задача по консистентности код-сниппетов урока 6
- Зачем:
  - дашборд за сессию менялся трижды; остался зазор — в §3 урока 6 сниппет
    Page Funnel показывает урезанный params без многоточия. Правку выносим в
    отдельную сессию, чтобы не раздувать контекст текущей.
- Что:
  - добавлен handoff с задачей (сниппет Page Funnel + сквозная сверка сниппетов
    §3), контекстом запушенных коммитов и git-гигиеной.
- Проверка:
  - следующая сессия сверяет сниппеты урока с superset/create_dashboard.py.
2026-06-06 18:06:16 +03:00

77 lines
5.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.
# Handoff: консистентность урока 6 (Superset BI)
Дата: 2026-06-06 · Язык сессии: русский
## Задача следующей сессии
Урок 6 — **наш** (не Codex), и он должен быть консистентен с реальным кодом
стенда. Дашборд за эту сессию менялся трижды, текст урока подтянули, но остался
**один известный зазор** + стоит сделать сквозную проверку код-сниппетов.
**Главное (известный зазор):** в §3 урока
[`docs/course/lessons/06_superset_bi.md`](../../docs/course/lessons/06_superset_bi.md)
код-сниппет чарта `🪜 Page Funnel` (примерно строки 274–291) показывает
**урезанный** набор `params` **без многоточия** — выглядит как полный конфиг, но
реальный в [`superset/create_dashboard.py`](../../superset/create_dashboard.py)
богаче (`color_scheme`, `show_legend`, `legendOrientation`, `tooltip_label_type`,
`number_format`, `show_labels` и др.). Привести к честному виду: либо добавить
`...`/комментарий «здесь только ключевые поля», либо показать поля, которые
реально объясняются в тексте. Для задания §4 (менять `row_limit`) сниппет не
мешает, но как учебный эталон он вводит в заблуждение «это весь конфиг».
**Заодно (сквозная проверка):** пройтись по остальным код-сниппетам урока 6
(§3 `DASHBOARD_CONFIG` стр. ~304309, `init_superset.py` datasets стр. ~250258,
`v_events_enriched` JOIN стр. ~210–213) и сверить, что они не разошлись с
актуальным кодом. Метод тот же: открыть реальный файл и сравнить.
## Контекст: что уже сделано и запушено (НЕ переделывать)
Состав/числа дашборда уже выверены и синхронизированы с уроком. Ветка
`docs/advanced-clickstream-course`, всё запушено. Коммиты этой сессии:
- `281d9d2` feat — честный row-lineage по слоям вместо ложной DQ-воронки
(`create_dashboard.py` + `sql/dm/40_dds_to_dm.sql`).
- `2563c79` docs — синхронизация доков и термин «зерно».
- `c9300e7` fix — 5-мин бакеты в `Events over Time` (был `Events by Hour`).
- `bf940cc` docs — пункт интро §1 урока 6 выровнен под row-lineage.
Актуальный состав дашборда (10 чартов): KPI `Total Events / Unique Users /
Avg Events/Visit / Conversion to /confirmation`; `Events over Time` (PT5M);
`Traffic by Device`; `Geography Map`; `UTM Effectiveness Table`; `Page Funnel`;
`🧱 Rows by Layer (event)`. Имена и эти числа в уроке уже верны — менять не нужно.
## Источники истины
- Реализация чартов: [`superset/create_dashboard.py`](../../superset/create_dashboard.py)
(`CHARTS_CONFIG` / `DASHBOARD_CONFIG` / `DASHBOARD_ROWS`).
- Урок: [`docs/course/lessons/06_superset_bi.md`](../../docs/course/lessons/06_superset_bi.md).
- Доменные термины: [`CONTEXT.md`](../../CONTEXT.md) (визит/сессия = `click_id` — в UI
предпочитаем «визит», не «клик»).
- Стандарт уроков: `docs/course/LESSON_STANDARD.md` (регистр/голос/шапка/грабли) —
читать перед правкой текста.
- Прошлые handoff'ы по дашборду: `2026-06-06-superset-dashboard-redesign*.md`
(исторические, задача там закрыта).
## Проверка
- Текст не требует прогона стенда; правка чисто в `.md`. Достаточно открыть
реальный код и сверить сниппеты глазами.
- Если захочется перепроверить дашборд: стенд поднят (`docker ps`), логин
Superset формой `admin`/`admin` на `http://localhost:8088/login/` (заполнять
поля через refs снапшота, не по name-селекторам — последние давали Access
Denied), дашборд `…/superset/dashboard/ecommerce-analytics/?standalone=1`.
## Git-гигиена
- Ветка `docs/advanced-clickstream-course`, на ней **параллельно пишет Codex**.
Git строго **аддитивно**: не amend/rebase/reset чужих коммитов, `git add`
только своих файлов. Перед push — `git fetch` и проверить, что не разошлись.
- Коммиты — через скилл `conventional-commits` (русский, тело Зачем/Что/Проверка).
## Suggested skills
- `conventional-commits` — для коммита правки.
- `ai-text-lint` — прогнать изменённый фрагмент урока на AI-маркеры перед коммитом
(урок учебный, голос важен).
- `playwright-cli` — только если понадобится переснять дашборд для сверки.