Провести проектную сессию с владельцем стенда и превратить её результат в спеку генератора, по которой потом режутся тикеты этапа 2. Тикет процессный: результат — принятая спека и созданные тикеты, а не код.
Развилки, которые мастер-спека сознательно отложила:
Модель мира. Что живёт между прогонами (посетители, их привычки, история), а что рождается заново; как устроены модельные сутки и переход к следующему дню.
Детерминизм от зерна (seed). Что именно воспроизводимо при том же зерне — поток событий целиком или только состав мира; как зерно проходит через распараллеливание по дням.
Архитектура. Где источник истины схемы события (раздел 1.4 мастер-спеки: одно машинное описание, из которого выводятся DDL и валидация) и как из него получаются остальные семь мест, где повторяются 47 колонок; как разделены живой поток и пакетная генерация.
Производительность. Числовые требования: время пересборки эталонного мира и живой поток с ускорением ×60. Рабочее решение — Python с батчевой генерацией и распараллеливанием по модельным дням; компилируемый язык — только если замеры покажут, что Python не даёт приемлемой скорости.
Порядок работы: /brainstorm-with-docs по развилкам → /to-spec (спека файлом в docs/specs/) → приёмка владельцем → /to-tickets режет тикеты этапа 2 и складывает их чек-листом в корневой issue этапа.
Критерии приёмки
Все четыре развилки закрыты решениями с доводами; отклонённые варианты записаны, чтобы к ним не возвращаться заново.
Спека генератора лежит файлом в docs/specs/, имеет статус «принята» и попала в main.
Требования производительности зафиксированы числами (а не словами «быстро»), с указанием, чем и как замерять.
Тикеты этапа 2 созданы и перечислены чек-листом в корневом issue #4.
Если решения сессии расходятся с мастер-спекой, расхождение внесено в неё тем же коммитом.
Границы
Код генератора здесь не пишется — он в тикетах, которые появятся после приёмки спеки.
Модель данных события (47 колонок), таксономия, анонимность и заказы уже решены в мастер-спеке и заново не обсуждаются.
Пересборка эталонного мира и манифест — этап 7, у него своя спека.
Сначала прочитать
docs/specs/2026-07-30-stand-v2-realism.md: раздел 1 (широкое событие, особенно 1.4 «схема как контракт»), 5 (анонимность и склейка), 9 (оценка: генератор ~4–5 тысяч строк, тяжёлое направление), 10 (границы) и 11 (что проверить при исполнении).
AGENTS.md — правила репозитория и порядок работы со спеками.
Проверка
Приёмка живая: владелец читает спеку и говорит «принято». Формальный след — файл спеки в main и тикеты этапа 2 в трекере.
Блокируется
Нет. Проектирование можно вести параллельно этапу 1.
## Родитель
#4 — Этап 2: DDL и генератор.
## Что сделать
Провести проектную сессию с владельцем стенда и превратить её результат в спеку генератора, по которой потом режутся тикеты этапа 2. Тикет процессный: результат — принятая спека и созданные тикеты, а не код.
Развилки, которые мастер-спека сознательно отложила:
- **Модель мира.** Что живёт между прогонами (посетители, их привычки, история), а что рождается заново; как устроены модельные сутки и переход к следующему дню.
- **Детерминизм от зерна (seed).** Что именно воспроизводимо при том же зерне — поток событий целиком или только состав мира; как зерно проходит через распараллеливание по дням.
- **Архитектура.** Где источник истины схемы события (раздел 1.4 мастер-спеки: одно машинное описание, из которого выводятся DDL и валидация) и как из него получаются остальные семь мест, где повторяются 47 колонок; как разделены живой поток и пакетная генерация.
- **Производительность.** Числовые требования: время пересборки эталонного мира и живой поток с ускорением ×60. Рабочее решение — Python с батчевой генерацией и распараллеливанием по модельным дням; компилируемый язык — только если замеры покажут, что Python не даёт приемлемой скорости.
Порядок работы: `/brainstorm-with-docs` по развилкам → `/to-spec` (спека файлом в `docs/specs/`) → приёмка владельцем → `/to-tickets` режет тикеты этапа 2 и складывает их чек-листом в корневой issue этапа.
## Критерии приёмки
- [x] Все четыре развилки закрыты решениями с доводами; отклонённые варианты записаны, чтобы к ним не возвращаться заново.
- [x] Спека генератора лежит файлом в `docs/specs/`, имеет статус «принята» и попала в `main`.
- [x] Требования производительности зафиксированы числами (а не словами «быстро»), с указанием, чем и как замерять.
- [x] Тикеты этапа 2 созданы и перечислены чек-листом в корневом issue #4.
- [x] Если решения сессии расходятся с мастер-спекой, расхождение внесено в неё тем же коммитом.
## Границы
- Код генератора здесь не пишется — он в тикетах, которые появятся после приёмки спеки.
- Модель данных события (47 колонок), таксономия, анонимность и заказы уже решены в мастер-спеке и заново не обсуждаются.
- Пересборка эталонного мира и манифест — этап 7, у него своя спека.
## Сначала прочитать
- `docs/specs/2026-07-30-stand-v2-realism.md`: раздел 1 (широкое событие, особенно 1.4 «схема как контракт»), 5 (анонимность и склейка), 9 (оценка: генератор ~4–5 тысяч строк, тяжёлое направление), 10 (границы) и 11 (что проверить при исполнении).
- `AGENTS.md` — правила репозитория и порядок работы со спеками.
## Проверка
Приёмка живая: владелец читает спеку и говорит «принято». Формальный след — файл спеки в `main` и тикеты этапа 2 в трекере.
## Блокируется
Нет. Проектирование можно вести параллельно этапу 1.
Четыре развилки решены с доводами и записанными отклонёнными вариантами — тикеты #27–#30 карты #26 (research-опора #31).
Спека генератора принята и в main: docs/specs/2026-08-01-generator.md (PR #35, коммит 9e04eae).
Производительность зафиксирована числами (спека, раздел 5): день ~50 тыс. событий, снимок 14 дней, автоматический порог «день ≤ 30 с» pytest-маркером perf; остальное — тайминги без порогов.
Расхождения с мастер-спекой внесены тем же коммитом (разделы 1.4, 8, 11).
Этап 2 нарезан: тикеты #36–#42 чек-листом в #4, блокировки — нативными зависимостями. Вопросы раздела 9 спеки разложены по тикетам: приток и D0 — #38, интерфейс запуска и контейнер — #41, форма зернового мира — #42.
Мандат выполнен, все критерии приёмки закрыты:
- Четыре развилки решены с доводами и записанными отклонёнными вариантами — тикеты #27–#30 карты #26 (research-опора #31).
- Спека генератора принята и в main: docs/specs/2026-08-01-generator.md (PR #35, коммит 9e04eae).
- Производительность зафиксирована числами (спека, раздел 5): день ~50 тыс. событий, снимок 14 дней, автоматический порог «день ≤ 30 с» pytest-маркером perf; остальное — тайминги без порогов.
- Расхождения с мастер-спекой внесены тем же коммитом (разделы 1.4, 8, 11).
- Этап 2 нарезан: тикеты #36–#42 чек-листом в #4, блокировки — нативными зависимостями. Вопросы раздела 9 спеки разложены по тикетам: приток и D0 — #38, интерфейс запуска и контейнер — #41, форма зернового мира — #42.
Нарезка — тикет #34 карты #26.
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Родитель
#4 — Этап 2: DDL и генератор.
Что сделать
Провести проектную сессию с владельцем стенда и превратить её результат в спеку генератора, по которой потом режутся тикеты этапа 2. Тикет процессный: результат — принятая спека и созданные тикеты, а не код.
Развилки, которые мастер-спека сознательно отложила:
Порядок работы:
/brainstorm-with-docsпо развилкам →/to-spec(спека файлом вdocs/specs/) → приёмка владельцем →/to-ticketsрежет тикеты этапа 2 и складывает их чек-листом в корневой issue этапа.Критерии приёмки
docs/specs/, имеет статус «принята» и попала вmain.Границы
Сначала прочитать
docs/specs/2026-07-30-stand-v2-realism.md: раздел 1 (широкое событие, особенно 1.4 «схема как контракт»), 5 (анонимность и склейка), 9 (оценка: генератор ~4–5 тысяч строк, тяжёлое направление), 10 (границы) и 11 (что проверить при исполнении).AGENTS.md— правила репозитория и порядок работы со спеками.Проверка
Приёмка живая: владелец читает спеку и говорит «принято». Формальный след — файл спеки в
mainи тикеты этапа 2 в трекере.Блокируется
Нет. Проектирование можно вести параллельно этапу 1.
Тикет прокладывается картой wayfinder #26 «Карта: проектирование генератора (этап 2)»: четыре развилки — тикеты #27–#30 (research-опора #31), дальше сборка спеки #32, приёмка #33 и нарезка этапа 2 #34. Закрывается после #34.
Мандат выполнен, все критерии приёмки закрыты:
9e04eae).Нарезка — тикет #34 карты #26.