feat(generator): подключена новая модель к steady-stream сервису

- Зачем:
  - после калибровки потока и state v2 генератор нужно принять как рабочий steady-stream источник, а не как исторически сломанный прототип.
- Что:
  - добавлен сервисный тест multi-event визита с мок-публикацией во все четыре Kafka-топика.
  - compose позволяет переопределять демо-параметры генератора без правки файла, сохраняя внутренние контейнерные адреса.
  - README, OPERATIONS, KNOWN_ISSUES и карточка задачи синхронизированы с новой моделью и state v2.
- Проверка:
  - uv run --with-requirements generator/requirements.txt pytest generator/tests -q.
  - git diff --check.
  - GEN_STATE_RESET=true GEN_POPULATION_MAX=123 docker compose config.
This commit is contained in:
Dmitry Dementiev
2026-06-11 18:26:39 +03:00
parent 4a08465f7d
commit 6c4e0f4d16
6 changed files with 220 additions and 79 deletions
@@ -1,4 +1,4 @@
Status: ready-for-agent
Status: ready-for-human
# Подключение к сервису и документации
@@ -18,17 +18,17 @@ Status: ready-for-agent
## Acceptance criteria
- [ ] Генератор в режиме steady-stream пишет связанные сообщения в
- [x] Генератор в режиме steady-stream пишет связанные сообщения в
`browser_events`, `location_events`, `device_events`, `geo_events`.
- [ ] Существующие команды запуска и остановки генератора остаются рабочими или
- [x] Существующие команды запуска и остановки генератора остаются рабочими или
документация явно описывает замену.
- [ ] Метрики Prometheus продолжают показывать успешные тики, ошибки публикации
- [x] Метрики Prometheus продолжают показывать успешные тики, ошибки публикации
и объём отправленных событий.
- [ ] Интеграционный тест или проверка с мок-публикацией подтверждает, что
- [x] Интеграционный тест или проверка с мок-публикацией подтверждает, что
сервисный контур использует новую модель, а не старую плоскую генерацию.
- [ ] `generator/README.md` описывает новые параметры и новую модель без старых
- [x] `generator/README.md` описывает новые параметры и новую модель без старых
предупреждений о сломанном `click_id`.
- [ ] `generator/KNOWN_ISSUES.md` обновлён: старый дефект закрыт или перенесён в
- [x] `generator/KNOWN_ISSUES.md` обновлён: старый дефект закрыт или перенесён в
исторический раздел, не как актуальный блокер.
## Blocked by
@@ -37,3 +37,16 @@ Status: ready-for-agent
## Comments
- 2026-06-11: добавлена проверка сервисных тиков с мок-публикацией без Kafka:
steady-stream публикует несколько событий одного визита с общим `click_id`,
разными `event_id` и согласованными записями во всех четырёх топиках; история
тиков остаётся `success`.
- 2026-06-11: `docker-compose.yml` теперь пробрасывает переменные генератора
через `${VAR:-default}`, поэтому команды вида `GEN_STATE_RESET=true docker
compose up -d generator` реально меняют окружение контейнера. Внутренние
`KAFKA_BOOTSTRAP_SERVERS` и `GEN_DATA_DIR` оставлены безопасными значениями
для контейнера.
- 2026-06-11: `generator/README.md` и `generator/KNOWN_ISSUES.md` синхронизированы
с новой моделью, состоянием v2 и историческим статусом старого дефекта.
- Проверка: `uv run --with-requirements generator/requirements.txt pytest
generator/tests -q` — 113 passed; `git diff --check` — без замечаний.