Files
clickstream-ch-kafka-supers…/.scratch/feature-data-generator/issues/02-5-generator-service-cleanup.md
T
Dmitry Dementiev 48e3bf2900 docs(generator): добавлена задача уборки сервиса
- Зачем:
  - перед задачей активных визитов нужно отделить модель генератора от сервисной обвязки.
- Что:
  - добавлена спека уборки сервиса генератора перед задачей 03.
  - добавлена промежуточная issue 02.5 с критериями приёмки.
  - уточнены требования к Dockerfile и временному тиковому слою.
  - задача 03 заблокирована новой задачей уборки.
- Проверка:
  - просмотрен staged diff через `git diff --cached --stat`.
2026-06-11 13:48:24 +03:00

3.0 KiB

Status: ready-for-agent

Уборка сервиса генератора перед активными визитами

What to build

Разнести текущий generator/generator.py на понятные модули, не меняя внешнее поведение генератора. Цель — подготовить код к задаче 03, где появятся активные визиты между тиками.

Источник решений: docs/specs/2026-06-11-generator-service-cleanup.md, docs/specs/2026-06-10-generator-math-model.md, задачи 01-03 в этом каталоге.

Acceptance criteria

  • Генеративная модель визита отделена от Kafka, состояния, метрик и сервисного цикла.
  • Код загрузки и индексации JSONL-сида вынесен из сервисного слоя.
  • Расчёт интенсивности отделён от генерации одного визита.
  • Kafka publisher, Kafka-state и создание служебных топиков не смешаны с генеративной моделью.
  • generator/generator.py остаётся тонкой точкой входа или совместимым фасадом, чтобы не ломать запуск и тесты без причины.
  • generate_tick_batch() не остаётся в чистой генеративной модели визита: он вынесен в переходный тиковый слой и подготовлен к замене активными визитами в задаче 03.
  • Dockerfile и запуск контейнера обновлены под новую структуру файлов.
  • Все существующие тесты генератора проходят.
  • README генератора кратко отражает новую структуру файлов.

Non-goals

  • Не реализовывать активные визиты между тиками.
  • Не добавлять популяцию пользователей и возвраты.
  • Не вводить состояние версии 2.
  • Не менять Kafka-топики и формат событий.
  • Не удалять generator_batch_history, если отдельно не доказано, что он больше не нужен.

Blocked by

  • .scratch/feature-data-generator/issues/02-visit-page-path-and-monotonic-time.md

Blocks

  • .scratch/feature-data-generator/issues/03-tick-stream-with-active-visits.md

Comments

Задача появилась после разбора распухания сервиса: первые два среза уже внесли новую модель визита, а третий срез добавит состояние активных визитов. Перед ним нужно отделить модель, тиковый слой и Kafka-интеграцию.