docs(generator): путеводитель по генератору и живой проход make demo
- Зачем:
- спека отвечает «почему», а жанра «как пройти устройство по коду»
не было (#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>
This commit is contained in:
1 parent
33aef73d0e
commit
0c466c082e
11 files changed
+392
-26
No files matched your search
@@ -0,0 +1,34 @@
|
||||
# Шов торговых событий
|
||||
|
||||
Этот документ отвечает на вопрос, что день передает торговой части и что
|
||||
получает от нее назад.
|
||||
|
||||
[`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). Судьба,
|
||||
слепки и деньги бэкенда описаны там.
|
||||
Reference in new issue
Block a user