Зачем: собранная спека заказов стала базовой документацией сервиса, а
жанр спеки-события ей мал: дата в имени врёт, целиком в контекст агента
она не влезает, а трекер с резолюциями долговечным хранилищем не
считается. Решение владельца — держать детальное устройство компонента
связным набором живых документов (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>
Зачем: холодная сверка сборки с резолюциями нашла два завышенных
обещания, недовнесённую правку и битую ссылку (DEF-1, DEF-2, DEF-3,
DEF-5); DEF-4 отложен до триажа вычитания #84.
Что: обещание «переливает ровно тот слепок» смягчено до штатного прогона
с хвостом после падения (спека §9 и ADR 0008); довод против сдвига
created_at перестроен на канон аудита источника (§4); в §7 мастер-спеки
довнесено чтение amount_delta через сравнение позиций (#72); ссылка в §1
ведёт на раздел 8.
Проверка: узкая перепроверка тем же ревьюером.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Зачем: решения семи развилок карты #69 жили только резолюциями тикетов;
перед вычитанием и приёмкой этапу 3 нужна цельная картина одним документом.
Что: docs/specs/2026-08-16-orders.md — черновик спеки заказов бэкенда из
резолюций #70–#74, #80, #81, с отклонёнными вариантами и доводами.
Расхождения с принятым внесены тем же коммитом: мастер-спека §2 (прямой
переход created → cancelled), §4 (механика класса C, чтение долей и
amount_delta), §5 (число пар из описи снято), §8 (строка слепка с хешем,
счётчики наблюдаемых классов, числа идентичности сняты); спека генератора §2
(заказная и событийная стороны вместо «расхождений и опозданий»); ADR 0008
(уточнён сдвиг отправки слепка); CONTEXT.md (термин «судьба заказа»).
Проверка: чтение; вычитание — #84, приёмка владельцем — #88.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
- Зачем:
- развилка этапа 3 стояла нерешённой прямо в разделе 7 мастер-спеки: нужен
ли слепку слой сырья и как заказы попадают из топика в хранилище (#70).
- Что:
- заведён ADR 0008 — байтовый чтец без матвью, слой сырья у заказов
остаётся, в ods.order_snapshot пишет шаг Airflow заменой партиции; топик
orders в одну партицию, чтец на clickhouse-01 без ON CLUSTER.
- мастер-спека приведена в соответствие, разделы 6, 7, 9, 11, 12: сравнение
двух приёмов переписано на «поток против слепка», сенсор дневного батча
снят, первый даг переехал с этапа 5 на этап 3.
- в CONTEXT.md заведены «слепок», «окно изменяемости», «пакетный забор».
- Проверка:
- решение сверено по документации ClickHouse через MCP Context7 12 августа
2026 года; что осталось замерить на стенде — списком в конце ADR 0008.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>