Зачем: собранная спека заказов стала базовой документацией сервиса, а жанр спеки-события ей мал: дата в имени врёт, целиком в контекст агента она не влезает, а трекер с резолюциями долговечным хранилищем не считается. Решение владельца — держать детальное устройство компонента связным набором живых документов (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>
35 lines
3.3 KiB
Markdown
35 lines
3.3 KiB
Markdown
# Заказы в стартовом мире
|
|
|
|
Резолюция развилки [«Места заказов в стартовом
|
|
мире»](https://git.dementev.space/ddmitry/clickstream-data-platform/issues/74).
|
|
Стартовый мир — не полный мир, а мир, остановленный на границе суток 7|8.
|
|
Генератор играет два источника с разными темпами — поток Метрики и ночную
|
|
выгрузку магазина; разные темпы дают всё остальное.
|
|
|
|
`world-init` играет восемь дней одним прогоном `batch --day 0 --days 8`;
|
|
слепки отправляет второй запуск — команда `snapshot` того же диапазона (два
|
|
источника — два запуска, [слепок и его доставка](snapshot.md)), и со сдвигом
|
|
отправки уезжают **слепки дней 0…6**. Слепок дня 7 снят на границе суток и
|
|
уедет первым же ходом мира. Особого режима у стартового мира нет: правило
|
|
отправки живёт в одном месте — в проигрывателе; генератору это решение не
|
|
стоит ничего.
|
|
|
|
Что видно снаружи: у последнего прожитого дня клики есть, а заказов нет;
|
|
глубже — день 0 виден дожившим до конца окна, день 6 — только что родившимся.
|
|
**График выручки заваливается к правому краю** и дозаполняется, пока мир едет.
|
|
Это не издержка стенда, а главный наблюдаемый эффект второго источника: ночная
|
|
выгрузка отстаёт, свежие дни предварительны. На свежем стенде лаба сверки
|
|
видит целый день `awaiting_order` — норма, а не поломка; как это назвать
|
|
менти — за витринами этапа 4.
|
|
|
|
Цена принята с открытыми глазами: у части пар стартового мира поздний
|
|
назначенный заказ падает на день 7, и до первого хода мира этих пар в
|
|
`dds.identity_map` нет. Опись пар не считает
|
|
([что хранит опись](inventory.md)), поэтому красной проверки из этого не
|
|
выходит. Отклонено: *дослать восьмой слепок* — исчезает `awaiting_order` на
|
|
свежем стенде, в CLI заводится рычаг, стартовый мир становится особым случаем
|
|
ровно там, где #71 его убирал; *счётчик пар учится спрашивать про слепки* —
|
|
число верно ровно до первого хода мира; *отменить сдвиг отправки* —
|
|
`awaiting_order` пропал бы навсегда; *подогнать план под горизонт* — мир
|
|
перестал бы быть чистой функцией зерна.
|