diff --git a/.scratch/handoffs/2026-06-09-generator-rework.md b/.scratch/handoffs/2026-06-09-generator-rework.md new file mode 100644 index 0000000..4df6ec5 --- /dev/null +++ b/.scratch/handoffs/2026-06-09-generator-rework.md @@ -0,0 +1,52 @@ +# Handoff: переработка генератора (steady-stream, иерархическая модель) + +Дата: 2026-06-09 +Ветка: `feature/data-generator` +Жанр: одноразовые леса́ (ADR-0003) — durable-рассуждение в ADR/спеке, не здесь. + +> Место: `.scratch/handoffs/` по [ADR-0003](../../docs/adr/0003-handoffs-in-scratch.md) +> и `AGENTS.md` (перекрывают generic-дефолт скилла «temp dir» — у владельца +> мультимашинность + worktrees, где `/tmp` не переживает). + +## Где остановились + +Брейнсторм-сессия (`brainstorm-with-docs`) завершена **на этапе документов** — +кода НЕ трогали. Зафиксировано направление переработки генератора и расчищена +рамка под реализацию. Дальше — отдельная follow-up-спека по математике, затем +реализация. + +## Контекст и решения (ссылки, не пересказ) + +- **Решение «почему» (генератор A, не реплей C):** + [`docs/adr/0004-steady-stream-synthetic-generator.md`](../../docs/adr/0004-steady-stream-synthetic-generator.md) +- **Форма доработки «что строим» (требования, без математики), статус Draft:** + [`docs/specs/2026-06-09-generator-rework-hierarchical.md`](../../docs/specs/2026-06-09-generator-rework-hierarchical.md) + — там же раздел **Open questions** (список вопросов для мат-спеки) и + **Validation** (критерии приёмки). Не дублирую сюда. +- **Глоссарий:** `CONTEXT.md` — добавлены «популяция пользователей» / + «возвращающийся пользователь». +- **Диагноз дефекта текущей реализации:** `generator/KNOWN_ISSUES.md`. + +## Следующий шаг + +**Написать follow-up-спеку по математике** генеративной модели. Перечень вопросов +— в разделе *Open questions* спеки доработки (распределения, session-timeout, +раскладка иерархии по тикам, персистентность популяции, `event_type` diversity). + +## Ловушки (одной строкой; детали — в спеке) + +- Воронка живёт в **`page_url_path`**, не в `event_type` (в сиде 100% `pageview`). +- device/geo — **сессионный** контекст уровня `click`, не «свойство пользователя». +- Модель интенсивности (`_calculate_events_count`, `_hour_factor`) — **сохраняем**; + переписываем только модель сущностей (`generate_batch`). Текущую реализацию + инкрементально не чиним. + +## Suggested skills (для следующей сессии) + +- **`conventional-commits`** — закоммитить готовые доки (см. git ниже). +- **`brainstorm-with-docs`** (или `grill-with-docs`) — для follow-up-спеки по + математике: продолжает тот же стиль (durable-доки + правка CONTEXT/ADR inline). +- **`tdd`** — на этапе реализации rewrite (у генератора уже есть pytest-набор + `generator/tests/`). +- **`adversarial-review`** / **`code-review`** — ревью переписанной модели + сущностей перед вливанием ветки.