Зачем: собранная спека заказов стала базовой документацией сервиса, а жанр спеки-события ей мал: дата в имени врёт, целиком в контекст агента она не влезает, а трекер с резолюциями долговечным хранилищем не считается. Решение владельца — держать детальное устройство компонента связным набором живых документов (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>
2.9 KiB
2.9 KiB
Что хранит опись
Резолюции развилок «Расхождения A–D и опоздания: механика, доли и что обещано» и «Места заказов в стартовом мире». Словарь описи — растяжка-хеш против опоры-счётчика — задан «Чем меряется генератор» в спеке генератора и термином «Опись мира» в CONTEXT.md.
Опись хранит только то, чего движение мира не меняет. Хеш кладём всегда, счётчик — только когда назван его читатель.
- У каждого отправленного слепка — своя строка с хешем байтов. Байты слепка не покрыты хешами дней ни при каком раскладе подпотоков — это второй артефакт мира. Побайтовое обещание («слепок переснимается и даёт те же байты») опись начинает сторожить.
- Счётчики классов расхождений — наблюдаемых, после приоритета, по итоговой судьбе заказов дня; единица счёта — заказ, и опись называет её словом. Сойтись с запросом менти они могут только на днях с закрытым окном: при N сыгранных днях таких N − 7 (день d закрывается слепком d + 6, а последний отправленный слепок несёт день N − 2). Читатель у них придёт этапом 4 — проверка сверки; не окажется читателя — та же бритва режет и их.
- Контрольные числа идентичности не заводятся вовсе: uniq известных пользователей и число двухкуковых пар растут, пока мир едет, — опоры из них не выходит; генератор сторожит хеш, транспорт — счёт событий.
- Опись описывает мир, а не доставку. Работа генератора кончается на
Kafka: дошли ли байты до
ods.order_snapshot— вопрос стенда и его проверок. Поэтому счёта строк у слепка в описи нет; понадобится проверка приёма заказов — число заведётся вместе с ней.