Собрать спеку заказов из решений развилок #87

Closed
opened 2026-08-16 22:04:33 +03:00 by ddmitry · 1 comment
Owner

Part of #69.

Вопрос

Собрать решения развилок #70–#74, #80, #81 в цельную спеку второго
источника — заказов бэкенда: файл в docs/specs/ по правилам репозитория
(имя ГГГГ-ММ-ДД-слаг.md), с отклонёнными вариантами и доводами.
docs/specs/2026-08-16-order-ingestion.md остаётся отдельным документом
приёма STG → ODS и в черновик не вливается — спека второго источника на
неё ссылается.

Расхождения с принятым вносятся тем же коммитом:

  • Мастер-спека: §2 — прямой переход created → cancelled (#72);
    §4 — механика класса C «вычеркнутая позиция», ориентир ~5% как доля
    отменённых вообще, чтение amount_delta (#72); §5 — «опись хранит число
    пар» снимается (#74); §8 — строка слепка с хешем байтов, счётчики
    наблюдаемых классов после приоритета и в заказах, контрольные числа
    идентичности не заводятся, «по дням с закрытым окном» (#72, #74).
  • Спека генератора, §2: перечисление компонентов дня — заказная и
    событийная стороны вместо «расхождений и опозданий» (#72).
  • ADR 0008: фраза «переливается ровно то, что он положил в топик»
    уточняется — со сдвигом #71 даг переливает слепок предыдущего дня.
  • CONTEXT.md: термины «судьба заказа» (#72) и «человек / посетитель /
    пользователь магазина» (#73); поправки к «Слепку» и «Описи мира»
    (#72, #74).

Хвост от поправки в #72 (2026-08-16): не переносить в спеку фразы, где
created_at назван «моментом покупки», updated_at − created_at
длительностью бизнес-перехода, а toDate(created_at) — бизнес-днём заказа.
Канон: created_at/updated_at — аудит строки по часам базы источника,
бизнес-время покупки — purchase.UTCEventTime.

Дальше по карте

Черновик до приёмки проходит вычитание #84; приёмка владельцем и нарезка
этапа 3 — свои тикеты.

Part of #69. ## Вопрос Собрать решения развилок #70–#74, #80, #81 в цельную спеку второго источника — заказов бэкенда: файл в `docs/specs/` по правилам репозитория (имя `ГГГГ-ММ-ДД-слаг.md`), с отклонёнными вариантами и доводами. `docs/specs/2026-08-16-order-ingestion.md` остаётся отдельным документом приёма STG → ODS и в черновик не вливается — спека второго источника на неё ссылается. Расхождения с принятым вносятся тем же коммитом: - **Мастер-спека**: §2 — прямой переход `created → cancelled` (#72); §4 — механика класса C «вычеркнутая позиция», ориентир ~5% как доля отменённых вообще, чтение `amount_delta` (#72); §5 — «опись хранит число пар» снимается (#74); §8 — строка слепка с хешем байтов, счётчики наблюдаемых классов после приоритета и в заказах, контрольные числа идентичности не заводятся, «по дням с закрытым окном» (#72, #74). - **Спека генератора**, §2: перечисление компонентов дня — заказная и событийная стороны вместо «расхождений и опозданий» (#72). - **ADR 0008**: фраза «переливается ровно то, что он положил в топик» уточняется — со сдвигом #71 даг переливает слепок предыдущего дня. - **CONTEXT.md**: термины «судьба заказа» (#72) и «человек / посетитель / пользователь магазина» (#73); поправки к «Слепку» и «Описи мира» (#72, #74). Хвост от поправки в #72 (2026-08-16): не переносить в спеку фразы, где `created_at` назван «моментом покупки», `updated_at − created_at` — длительностью бизнес-перехода, а `toDate(created_at)` — бизнес-днём заказа. Канон: `created_at`/`updated_at` — аудит строки по часам базы источника, бизнес-время покупки — `purchase.UTCEventTime`. ## Дальше по карте Черновик до приёмки проходит вычитание #84; приёмка владельцем и нарезка этапа 3 — свои тикеты.
ddmitry added the wayfinder:task label 2026-08-16 22:04:33 +03:00
ddmitry self-assigned this 2026-08-16 22:04:48 +03:00
Author
Owner

Резолюция

Спека собрана — коммит 815f500, docs/specs/2026-08-16-orders.md. Статус — черновик: впереди вычитание #84 и приёмка владельцем #88.

  • Решения #70–#74, #80, #81 сведены в одну картину, отклонённые варианты — с доводами, по разделу на развилку плюс правила кода этапа 3.
  • Расхождения с принятым внесены тем же коммитом: мастер-спека §2 (прямой переход created → cancelled), §4 (механика класса C — вычеркнутая позиция; ~5% как доля отменённых вообще; чтение amount_delta), §5 (число пар из описи снято), §8 (строка слепка с хешем байтов, счётчики наблюдаемых классов по дням с закрытым окном, числа идентичности сняты); спека генератора §2 (заказная и событийная стороны вместо «расхождений и опозданий»); ADR 0008 (уточнение про сдвиг отправки слепка); CONTEXT.md (термин «судьба заказа»).
  • Хвост поправки #72 соблюдён: created_at/updated_at в спеке — аудит строки источника, бизнес-время покупки — purchase.UTCEventTime.
  • Открытые хвосты записаны в спеке, раздел 12: имена подпотоков и калибровка весов — нарезка и этап 7; _load_id выше ODS — #85 при DDS; DQ-контур расхождений — туман карты; ods.event_v#86.

Дальше по карте: вычитание #84 по собранному тексту, затем приёмка #88 и нарезка #89.

## Резолюция Спека собрана — коммит 815f500, `docs/specs/2026-08-16-orders.md`. Статус — черновик: впереди вычитание #84 и приёмка владельцем #88. - Решения #70–#74, #80, #81 сведены в одну картину, отклонённые варианты — с доводами, по разделу на развилку плюс правила кода этапа 3. - Расхождения с принятым внесены тем же коммитом: мастер-спека §2 (прямой переход `created → cancelled`), §4 (механика класса C — вычеркнутая позиция; ~5% как доля отменённых вообще; чтение `amount_delta`), §5 (число пар из описи снято), §8 (строка слепка с хешем байтов, счётчики наблюдаемых классов по дням с закрытым окном, числа идентичности сняты); спека генератора §2 (заказная и событийная стороны вместо «расхождений и опозданий»); ADR 0008 (уточнение про сдвиг отправки слепка); CONTEXT.md (термин «судьба заказа»). - Хвост поправки #72 соблюдён: `created_at`/`updated_at` в спеке — аудит строки источника, бизнес-время покупки — `purchase.UTCEventTime`. - Открытые хвосты записаны в спеке, раздел 12: имена подпотоков и калибровка весов — нарезка и этап 7; `_load_id` выше ODS — #85 при DDS; DQ-контур расхождений — туман карты; `ods.event_v` — #86. Дальше по карте: вычитание #84 по собранному тексту, затем приёмка #88 и нарезка #89.
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Reference: ddmitry/clickstream-data-platform#87