- Зачем:
- спека отвечает «почему», а жанра «как пройти устройство по коду»
не было (#48); черновик в generator/README.md ждал выверки.
- Что:
- новый набор docs/architecture/generator/: индекс с целевой картиной
и mermaid-схемой плюс шесть поддокументов по темам тикета.
- демо-модуль и цель make demo: канонический D0, все стадии цепочки
на одном экране; тест-сторож проверяет стадии без прибитых чисел.
- раздел «Как это работает» в generator/README.md сжат до ссылки
на путеводитель, черновая врезка снята.
- Проверка:
- из generator/: make lint, make typecheck, make test (430 passed),
make demo; два слепых ревью и узкая перепроверка — находки закрыты.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2.3 KiB
Шов торговых событий
Этот документ отвечает на вопрос, что день передает торговой части и что получает от нее назад.
day.stream сначала
собирает выровненные по строкам ряды трафика:
columns— готовые колонки просмотров страниц;page— вид страницы магазина;product— номер товара у карточки;person— человек за кукой строки.
page указывает, куда может сесть торговое событие, а product — какой товар
посетитель действительно открыл. person в кликстрим не выходит: он нужен
только для второй проекции покупки — заказа бэкенда.
commerce.weave
принимает эти ряды, вплетает add_to_cart и purchase, снова упорядочивает
поток и возвращает обновленные columns, page, product вместе с
commerce.Purchases.
Purchases — узкая передача следующей стороне. В ней лежат номер заказа,
купленные товары и количества, клиентская выручка, промокод, момент события и
человек. Все они получены из тех же покупок, что уехали в поток, а не разобраны
назад из JSON.
orders.of_day
принимает Purchases, а day.Day
отдает заказы рядом с колонками событий. Здесь поток дня расходится на две
ветви, показанные в индексе.
За этой границей начинается устройство заказов. Судьба, слепки и деньги бэкенда описаны там.