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>
This commit is contained in:
@@ -0,0 +1,76 @@
|
||||
# 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`
|
||||
(строки ~202–228, `{**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.
|
||||
Reference in New Issue
Block a user