Files
clickstream-ch-kafka-supers…/.scratch/handoffs/2026-06-06-superset-dashboard-redesign.md
T
ddadmin 7c7e9e5a7c docs(superset): спека редизайна дашборда и handoff
- Зачем:
  - дашборд-эталон показывал две одинаковые KPI-плитки; нужен честный состав метрик
    на полных данных, зафиксированный до реализации.
- Что:
  - docs/specs/2026-06-06-...: KPI Events/Users/Avg per Visit/Conversion, Top Pages → Funnel, триаж чартов.
  - .scratch/handoffs/2026-06-06-...: handoff для реализации в новой сессии.
- Проверка:
  - числа спеки сверены с прямым запросом в ClickHouse на полном датасете.
2026-06-06 16:12:10 +03:00

62 lines
4.3 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: реализация редизайна Superset-дашборда
Дата: 2026-06-06 · Язык сессии: русский · Понять-режим был включён (можно не продолжать)
## Источник истины
**Сначала прочитать спеку:** [`docs/specs/2026-06-06-superset-dashboard-redesign.md`](../../docs/specs/2026-06-06-superset-dashboard-redesign.md)
— там весь дизайн (проблема, числа данных, триаж чартов, состав KPI, решения, риски,
критерии проверки). Этот handoff — только «как возобновить», не дублирует дизайн.
Доменные термины — [`CONTEXT.md`](../../CONTEXT.md).
## Решение одной строкой
KPI-полоса = `Total Events · Unique Users · Avg Events/Visit · Conversion to /confirmation`
(дубль «Unique Sessions» убрать); `Top Pages → Funnel`-чарт по страницам; различие
user/session — текстом, не двумя одинаковыми цифрами; мёртвые колонки purchases — выкинуть.
## Сделать ПЕРВЫМ делом
1. **Снять open questions из спеки** (без них реализация буксует):
- точная формула Conversion (доля визитов с ≥1 pageview `/confirmation`?);
- поддерживает ли Superset **4.1.2** `viz_type` воронки (иначе — упорядоченный bar);
- судьба `Events by Hour` (проверить, не пустой ли на полных данных).
2. **Перегрузить стенд на ПОЛНЫЕ данные** — сейчас в ClickHouse отладочный срез
(50 событий). Нужно: `make data` (без `LIMIT`) + `make transform`. На полных
данных: 1000 событий, 99 визитов, 99 пользователей.
## Где править и как прогонять
- Единственный файл реализации: `superset/create_dashboard.py`
(`CHARTS_CONFIG` / `DASHBOARD_ROWS` / `ROW_HEIGHTS`).
- Прогон: `make superset-dashboard` — идемпотентно (чарты по `slice_name`, дашборд
по `slug`, обновляются на месте). При переименовании чартов следить, чтобы не
плодились дубли.
## Проверка
- `GET /api/v1/dashboard/<id>/datasets` → 200; DQ Summary без `Columns missing in datasource`.
- Визуально: `playwright-cli` — логин формой `admin`/`admin` на `http://localhost:8088/login/`,
затем `goto .../superset/dashboard/ecommerce-analytics/`, `screenshot --filename=/tmp/x.png` (читать через Read).
Скриншоты — в `/tmp`. `.playwright-cli/` НЕ коммитить.
- Сверка чисел с ClickHouse: креды в `configs/default_user.xml` (default / `123456`),
`docker exec clickstream-ch-kafka-superset-demo-clickhouse-1 clickhouse-client --password 123456 -q "..."`.
(Через `docker exec printenv` креды НЕ дёргать — классификатор блокирует.)
## Синхронизировать доки ПРИ реализации
- `docs/SUPERSET_DASHBOARD.md` — раздел «Структура дашборда» (новый состав чартов/KPI).
- `docs/course/lessons/06_superset_bi.md` — убрать `LIMIT=50 make data`, синхронизировать состав/скриншоты.
## Git-гигиена
- Ветка `docs/advanced-clickstream-course`, на ней **параллельно пишет Codex**
git строго **аддитивно**, не amend/rebase/reset чужих коммитов. `git add` только своих файлов.
- Артефакты этой сессии (если ещё не закоммичены): `CONTEXT.md`, `docs/adr/0001` (правка),
`docs/adr/0002`, `docs/adr/0003`, `docs/specs/2026-06-06-...`, `AGENTS.md` (правка), этот handoff.
## Suggested skills
`conventional-commits` (любой коммит) · `playwright-cli` (визуальная проверка) ·
`diagnose` (если чарт/датасет отвалится).