docs(spec): рамка — чем меряется генератор

Зачем: взгляд владельца на генератор жил только в разговорах, и каждый
следующий агент восстанавливал его заново или не восстанавливал вовсе.
Без него решения по генератору принимаются не по тому критерию: внутренняя
стройность вместо правдоподобия данных на выходе.

Что: новый раздел «Чем меряется генератор» сразу после «Зачем» — пять
утверждений рамки. Генератор меряется выходом, а не устройством; менти
внутрь не смотрит, поэтому конструкция оправдана только наблюдаемым
эффектом; повторимы эффекты, а не числа, и хеши описи обещают видимость
сдвига, а не постоянство чисел; цена ошибки мала, поэтому оборона дороже
ошибки не заводится; сложность изолирована службой ради дешевизны правки.

Рамка шире этапа 2, поэтому спеки следующих этапов ссылаются на неё, а не
копируют.

Проверка: правка только текстовая, кода не касается.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-08-16 12:09:11 +03:00
co-authored by Claude Opus 5
parent c656ca198f
commit 34267e8494
+26
View File
@@ -25,6 +25,32 @@
касается этапа 7 — расширение подтверждено владельцем в резолюции
«Производительности».
## Чем меряется генератор
Рамка владельца, по которой принимались решения ниже. Она шире этапа 2 и
живёт дальше него: спеки следующих этапов ссылаются сюда, а не переписывают.
- **Генератор меряется тем, что приезжает на выход, а не устройством
внутри.** Он играет два источника с разными темпами: поток Метрики и
ночную выгрузку бэкенда магазина. Любое внутреннее решение отвечает перед
одним вопросом — правдоподобны ли данные на выходе.
- **Менти внутрь не смотрит.** Он видит внешние эффекты и по ним составляет
представление, как работает магазин и обо что там спотыкаются. Значит,
конструкция внутри оправдана только наблюдаемым эффектом: без него это
сложность, за которую никто не заплатил.
- **Повторимы должны быть эффекты, а не конкретные числа.** Правка свойств
мира сдвигает почти все числа разом — генератор случайных чисел выдаёт
другую последовательность. Опираться на конкретные числа поэтому нечем.
Хеши описи обещают не постоянство чисел, а то, что их сдвиг не пройдёт
молча: пересобрал опись — увидел diff.
- **Цена ошибки здесь мала.** В худшем случае испорчен урок, и чинится он
правкой генератора после взгляда на получившиеся распределения. Оборона,
которая дороже ошибки, не заводится.
- **Сложность изолирована нарочно.** Генератор вынесен отдельной службой,
чтобы его сложность не расползалась по стенду. Плата за изоляцию —
дешевизна правки: выбирается устройство, которое дёшево менять, а не то,
которое всё предусмотрело.
## Целевая картина одним взглядом
- **Мир — функция, не состояние.** Состав мира — чистая функция зерна;