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

5.5 KiB
Raw Blame History

Handoff: консистентность урока 6 (Superset BI)

Дата: 2026-06-06 · Язык сессии: русский

Задача следующей сессии

Урок 6 — наш (не Codex), и он должен быть консистентен с реальным кодом стенда. Дашборд за эту сессию менялся трижды, текст урока подтянули, но остался один известный зазор + стоит сделать сквозную проверку код-сниппетов.

Главное (известный зазор): в §3 урока docs/course/lessons/06_superset_bi.md код-сниппет чарта 🪜 Page Funnel (примерно строки 274–291) показывает урезанный набор params без многоточия — выглядит как полный конфиг, но реальный в 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 (CHARTS_CONFIG / DASHBOARD_CONFIG / DASHBOARD_ROWS).
  • Урок: docs/course/lessons/06_superset_bi.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 — только если понадобится переснять дашборд для сверки.