Files
clickstream-ch-kafka-supers…/.scratch/handoffs/2026-06-14-adr0006-source-flip-and-model-time-spec.md
T
ddadminandClaude Opus 4.8 18ac8279cd docs(handoff): зафиксирован handoff по ADR-0006 и спеке модельного времени
- Зачем:
  - сохранить контекст сессии для продолжения работы в новой сессии.
- Что:
  - добавлен handoff: что сделано и закоммичено, контекст вне артефактов, очередь шагов, ограничения.
- Проверка:
  - чтение .scratch/handoffs/2026-06-14-adr0006-source-flip-and-model-time-spec.md.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-14 15:07:27 +03:00

6.7 KiB
Raw Blame History

Handoff: ADR-0006 (источник аналитики) + спека модельного времени

Дата: 2026-06-14 Ветка: feature/data-generator Режим работы: дизайн (brainstorm-with-docs), не реализация кода.

Что сделано в этой сессии (закоммичено)

Содержание не дублирую — смотри сами файлы:

  • ADR-0006 docs/adr/0006-generation-as-sole-analytics-source.md — генерация становится единственным источником аналитики; статический сид → архивный; перевод процесса на новый (сгенерированный) сид — цель работы. Коммит 49512b1.
  • Спека docs/specs/2026-06-14-generator-model-time-and-startup-history.md — модельное время на практике: точка отсчёта T0, повторяемость, заливка прошлого, стартовая история, сохранение состояния, скорость ×K, проверка в два шага. Коммит 49512b1.
  • Указатели вперёд в ADR-0004 и ADR-0005 на ADR-0006 и спеку. Коммит 49512b1.
  • AGENTS.md — ужесточено правило про русский язык + добавлено правило про понятность и краткость документов. Коммит c4cc01e.

Контекст и решения, которых нет в артефактах (важны для продолжения)

  • Роль сида = «кладовка значений» (палитра атрибутов). Генератор сам придумывает структуру (иерархию, время, воронку), но фактуру (браузер/гео/устройство/utm) копирует из строк сида: generator/src/clickstream_generator/generation.py (строки ~202228, {**base_browser, …}), индексы в dictionary.py. Профиль популяции хранится ссылкой на сид-сессию (мат-спека, §«Профиль пользователя»). Поэтому сид нельзя удалить, пока генератор не научится фактуре сам.
  • Сид полностью чист — проверено: 1000 записей × 4 файла, 0 падений в DQ (ods.*_errors). Значит вывод сида не ломает учебный путь про грязные данные.
  • Двухшаговая проверка (раздел «Проверка» спеки): шаг 1 — агент на чистом стенде сверяет числа в ClickHouse (пирамида/воронка/возвраты), детерминированно; шаг 2 — человек смотрит дашборды (распределение похоже на задуманное + стенд «дышит» на ×K). Вскрытый пробел: дашборда с распределением сгенерированных данных нет (Superset на сиде, Grafana показывает пропускную способность).
  • Известные расхождения калибровки (из прошлого ревью, не в этих артефактах): медиана длины визита ~8 против сидовых 10, всплеск на длине 2, нет bounce-визитов длины 1, доля /confirmation ~27%. Когда генерация станет источником, это станет «правдой» стенда — учесть при заполнении коридоров шага 1 и в будущей задаче калибровки/фактуры.

Очередь (следующие шаги)

  1. Выровнять CONTEXT.md (раздел «три значения слова сид») под ADR-0006: статический сид → архивная кладовка значений, цель — полный вывод.
  2. Пометить в мат-спеке docs/specs/2026-06-10-generator-math-model.md разделы «Персистентность через рестарты» и «Воспроизводимость» как переописанные в модельном времени новой спекой (ссылкой, без дублирования).
  3. (Опционально) Этап 1 вживую: поднять стенд на текущем генераторе, снять реальные числа в ClickHouse, заполнить коридоры в разделе «Проверка». Поднимает docker-стек (меняет состояние) — только с согласия владельца.
  4. Черновик спеки синтеза фактуры — то, что позволит удалить data/*.jsonl.
  5. Черновик спеки перестройки процесса (загрузка kafka_load_dag → новый сид, Superset/витрины, уроки) — на этапе реализации, по ADR-0006.
  6. Реализация механизма (модельные часы/×K/стартовая история) — это код, зона Codex.

Ограничения (продолжать соблюдать)

  • Роль: Claude — ADR/спеки/ревью; Codex — код. Намерение, против которого сверяем, живёт в ADR/спеках Claude.
  • Язык: ясный русский без транслитераций (теперь зафиксировано в AGENTS.md).
  • Коммиты: только по просьбе; формат conventional-commits; трейлер Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>.
  • Git строго аддитивно: на ветке может параллельно писать Codex — не делать amend/rebase/reset чужих коммитов. В main — merge --no-ff, не тащить .scratch/.
  • Context7 для спорных/меняющихся API (особенно Airflow).
  • Публичный репозиторий — без персональных данных менти.

Suggested skills

  • brainstorm-with-docs — для продолжения дизайна (пункты 1, 4, 5 очереди: CONTEXT.md, спека фактуры, спека перестройки процесса).
  • conventional-commits — для коммитов.
  • Context7 (MCP) — при касании API.