docs(generator): путеводитель по генератору #48
Notifications
Due Date
No due date set.
Depends on
#63 Часовые пояса: конвенция для абсолютного времени и производных дат
ddmitry/clickstream-data-platform
Reference: ddmitry/clickstream-data-platform#48
Reference in New Issue
Block a user
Зачем
Генератор компактен, но нетривиален: многое в нём — соглашения, а не
конструкции. Из кода не выводятся чтением ни дерево зёрен и запрет менять
порядок бросков, ни ленивость мира, ни причина целочисленной случайности.
Спека это частично объясняет, но она отвечает «почему выбрано так», а не «как
это работает»: решение и путеводитель — разные жанры. Стенд учебный, и человек,
который откроет генератор впервые, сейчас разбирается сам.
Тикет заведён при исполнении #39 по замечанию владельца, прочитавшего код.
Отложен намеренно: торговые события (#40) и запуск снаружи (#41) поменяют и
вход, и середину, а путеводитель, написанный до них, придётся переписывать
дважды.
Что сделать
Документ-путеводитель по генератору: рассказ по цепочке зерно → подпотоки →
когорты → аудитория дня → визиты → строки событий, с ссылками в модули вместо
пересказа их содержимого.
Разобрать то, что чтением кода не берётся:
часть контракта, а не деталь реализации;
отсюда «любой день собирается сам по себе»;
что за арифметика в
weights.py;toDate(UTCEventTime) ≠ EventDate.Плюс две вещи, которые для учебного стенда весят больше текста:
когорта, аудитория, визиты, строки. Читатель должен увидеть мир, а не только
прочитать про него.
Критерии приёмки
docs/— папки для этогожанра пока нет, место и имя решаются в тикете и записываются в AGENTS.md.
на неё.
дне, вывод помещается на экран.
make: документ, который пересталработать, хуже отсутствующего.
README.mdгенератора ссылается на путеводитель, раздел «Как этоработает» в нём при этом остаётся коротким.
Сначала прочитать
generator/README.md— раздел «Как это работает»: путеводитель егоразворачивает, а не повторяет.
docs/specs/2026-08-01-generator.md— разделы 1, 2, 9.docs/specs/2026-07-30-stand-v2-realism.md— разделы 1.1–1.2, 3, 5.CONTEXT.md— словарь: термины путеводителя должны совпадать с ним.Границы
выносит вопросом владельцу.
меняется.
Зависимость
Берётся после #41: до него неизвестны и вход генератора, и способ запуска.
Хвост из #39 (2026-08-02)
В
generator/README.mdпоявился раздел «Как это работает» — цепочка от зерна до строк событий, ленивость мира, правило порядка бросков, причина целочисленной случайности. Раздел помечен черновым: по сути он верен, но на понятность читателем со стороны не выверен.Отсюда два пункта в этот тикет:
Судить понятность должен тот, кто устройство генератора в голове не держит: автор текста — худший судья собственной понятности.