- Зачем:
- спека отвечает «почему», а жанра «как пройти устройство по коду»
не было (#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>
35 lines
2.3 KiB
Markdown
35 lines
2.3 KiB
Markdown
# Шов торговых событий
|
||
|
||
Этот документ отвечает на вопрос, что день передает торговой части и что
|
||
получает от нее назад.
|
||
|
||
[`day.stream`](../../../generator/src/clickstream_generator/day.py) сначала
|
||
собирает выровненные по строкам ряды трафика:
|
||
|
||
- `columns` — готовые колонки просмотров страниц;
|
||
- `page` — вид страницы магазина;
|
||
- `product` — номер товара у карточки;
|
||
- `person` — человек за кукой строки.
|
||
|
||
`page` указывает, куда может сесть торговое событие, а `product` — какой товар
|
||
посетитель действительно открыл. `person` в кликстрим не выходит: он нужен
|
||
только для второй проекции покупки — заказа бэкенда.
|
||
|
||
[`commerce.weave`](../../../generator/src/clickstream_generator/commerce.py)
|
||
принимает эти ряды, вплетает `add_to_cart` и `purchase`, снова упорядочивает
|
||
поток и возвращает обновленные `columns`, `page`, `product` вместе с
|
||
[`commerce.Purchases`](../../../generator/src/clickstream_generator/commerce.py).
|
||
|
||
`Purchases` — узкая передача следующей стороне. В ней лежат номер заказа,
|
||
купленные товары и количества, клиентская выручка, промокод, момент события и
|
||
человек. Все они получены из тех же покупок, что уехали в поток, а не разобраны
|
||
назад из JSON.
|
||
|
||
[`orders.of_day`](../../../generator/src/clickstream_generator/orders.py)
|
||
принимает `Purchases`, а [`day.Day`](../../../generator/src/clickstream_generator/day.py)
|
||
отдает заказы рядом с колонками событий. Здесь поток дня расходится на две
|
||
ветви, показанные в индексе.
|
||
|
||
За этой границей начинается [устройство заказов](../orders/README.md). Судьба,
|
||
слепки и деньги бэкенда описаны там.
|