Files
clickstream-data-platform/docs/architecture/orders/start-world.md
T
ddadminandClaude Fable 5 0d9a83d6af docs(orders): устройство заказов переехало в живой набор architecture/orders
Зачем: собранная спека заказов стала базовой документацией сервиса, а
жанр спеки-события ей мал: дата в имени врёт, целиком в контекст агента
она не влезает, а трекер с резолюциями долговечным хранилищем не
считается. Решение владельца — держать детальное устройство компонента
связным набором живых документов (ADR 0011) и совместить переезд с
проходом на вычитание (#84).

Что: docs/architecture/orders/ — индекс README и файлы по частям
устройства: проекция, слепок и доставка, судьба, классы расхождений,
опись, мост к склейке, стартовый мир, правила кода; спека приёма
переехала в ingestion.md без содержательных правок. Резы вычитания по
итогам двух слепых линий: тела разделов о проводе и приёме сведены к
указателям на мастер-спеку, исследование формата и ADR (порядок строк
слепка — единственное правило, оставшееся на месте); замеры канонического
зерна и повторы-пояснения срезаны; списки отклонённых вариантов сохранены
как долговечная запись. Датированные файлы удалены, ссылки из мастер-спеки,
спеки генератора, ADR 0008/0010, исследования формата и storage.md
перенацелены; раздел «Структура» AGENTS.md дополнен правилом подпапки.

Проверка: grep по репозиторию не находит ссылок на удалённые файлы;
все относительные ссылки внутри набора разрешаются в существующие файлы;
впереди холодная сверка «ни одно решение не потеряно» и приёмка #88.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-08-16 23:50:13 +03:00

3.3 KiB

Заказы в стартовом мире

Резолюция развилки «Места заказов в стартовом мире». Стартовый мир — не полный мир, а мир, остановленный на границе суток 7|8. Генератор играет два источника с разными темпами — поток Метрики и ночную выгрузку магазина; разные темпы дают всё остальное.

world-init играет восемь дней одним прогоном batch --day 0 --days 8; слепки отправляет второй запуск — команда snapshot того же диапазона (два источника — два запуска, слепок и его доставка), и со сдвигом отправки уезжают слепки дней 0…6. Слепок дня 7 снят на границе суток и уедет первым же ходом мира. Особого режима у стартового мира нет: правило отправки живёт в одном месте — в проигрывателе; генератору это решение не стоит ничего.

Что видно снаружи: у последнего прожитого дня клики есть, а заказов нет; глубже — день 0 виден дожившим до конца окна, день 6 — только что родившимся. График выручки заваливается к правому краю и дозаполняется, пока мир едет. Это не издержка стенда, а главный наблюдаемый эффект второго источника: ночная выгрузка отстаёт, свежие дни предварительны. На свежем стенде лаба сверки видит целый день awaiting_order — норма, а не поломка; как это назвать менти — за витринами этапа 4.

Цена принята с открытыми глазами: у части пар стартового мира поздний назначенный заказ падает на день 7, и до первого хода мира этих пар в dds.identity_map нет. Опись пар не считает (что хранит опись), поэтому красной проверки из этого не выходит. Отклонено: дослать восьмой слепок — исчезает awaiting_order на свежем стенде, в CLI заводится рычаг, стартовый мир становится особым случаем ровно там, где #71 его убирал; счётчик пар учится спрашивать про слепки — число верно ровно до первого хода мира; отменить сдвиг отправкиawaiting_order пропал бы навсегда; подогнать план под горизонт — мир перестал бы быть чистой функцией зерна.