Зачем: датированная спека — событие истории, а устройство компонента — живой документ; большое полотно плохо грузится и агентом, и человеком (ADR 0011). Что: вычитание #84 слито с переустройством формы: набор docs/architecture/orders/ — индекс README и семь файлов по частям устройства (нарезка по правилу «семь плюс-минус два»); датированные файлы удалены, ссылки перенацелены, AGENTS.md дополнен правилом подпапки. Приёмка владельцем #88 пройдена, черновой статус снят из README. Проверка: холодная сверка миграции свежим тредом — потерь решений нет; обход относительных ссылок набора — битых нет. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
18 lines
1.4 KiB
Markdown
18 lines
1.4 KiB
Markdown
# Правила кода этапа 3
|
|
|
|
Хвосты резолюций, обязательные для реализации:
|
|
|
|
- **Броски заказной стороны — на полную длину дня**, а не на отобранных
|
|
заказах (правило формы, [судьба заказа](fate.md)); моментов всегда два.
|
|
- **Целочисленная случайность** наследуется правилом кода этапа 2: таблицы
|
|
целых весов, никаких плавающих распределений; деньги — в целых копейках.
|
|
- **Подпотоки — по позиции в дереве**: стороны судьбы ветвятся по дню рождения
|
|
заказа; в `COMMERCE` новых бросков нет; `person_id` — последний бросок
|
|
когорты.
|
|
- **Окно K = 7 — константа мира** в конфигурации мира, рядом с D0 и поясом
|
|
([исследование
|
|
формата](../../research/2026-08-16-order-snapshot-wire-format.md)).
|
|
- **Один сериализатор**: запись слепка собирает явная функция `serialize.py`,
|
|
прямых `json.dumps` по коду нет.
|
|
- **Значения идентификаторов — ниже 2^53** (`user_id` наравне с прочими).
|