Files
clickstream-ch-kafka-supers…/.scratch/feature-data-generator/issues/01-minimal-connected-visit.md
T
Dmitry Dementiev 32f4fee41c feat(generator): добавлена модель связанного визита
- Зачем:
  - генератор должен создавать учебно полезный визит с общим click_id, правдоподобным путём и честным тиковым бюджетом событий.
- Что:
  - добавлена марковская цепочка страниц, запланированные метки времени и потолок GEN_MAX_SESSION_EVENTS.
  - добавлен набор тикового батча из нескольких визитов до рассчитанного бюджета событий.
  - обновлены тесты, README, KNOWN_ISSUES и статусы задач 01/02.
- Проверка:
  - uv run --with pytest --with-requirements generator/requirements.txt pytest generator/tests -q
2026-06-11 12:52:48 +03:00

38 lines
2.1 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
Status: ready-for-human
# Минимальный связанный визит в новом ядре
## What to build
Построить первый проверяемый срез нового steady-stream генератора: публичный
вызов генеративного ядра создаёт один визит, который выглядит как нормальная
единица доменной модели `пользователь -> визит -> событие`.
Визит должен выпускать несколько связанных событий: один общий `click_id`,
разные `event_id`, общий device/geo-контекст и согласованные записи для четырёх
Kafka-топиков. Kafka на этом шаге не нужна: задача проверяет форму данных на
выходе генеративного ядра.
Источник решений: `docs/specs/2026-06-09-generator-rework-hierarchical.md`,
`docs/specs/2026-06-10-generator-math-model.md`, `CONTEXT.md`.
## Acceptance criteria
- [x] Тест через публичный интерфейс генератора создаёт один визит с несколькими
browser-событиями под одним `click_id`.
- [x] У всех событий визита разные валидные `event_id`, а `click_id` не берётся
из исходного сида.
- [x] Для каждого browser-события есть связанная location-запись с тем же
`event_id`.
- [x] Для каждого события визита публикуются device- и geo-записи с тем же
`click_id`; их содержимое в рамках визита одинаковое, как в сиде.
- [x] Один `click_id` связан ровно с одним `user_domain_id`.
- [x] Старый тестовый контракт "одно событие = один новый click_id" удалён или
заменён на новый контракт визита.
## Blocked by
None - can start immediately.
## Comments