Files
clickstream-ch-kafka-supers…/.scratch/generator-model-time-startup-history/issues/04-state-v2-model-resume.md
T
ddadmin 796c3f26a9 docs(generator): добавлены задачи по модельному времени
- Зачем:
  - нужен рабочий план для реализации модельного времени и стартовой истории.
- Что:
  - добавлен parent PRD с инвариантами, зависимостями и review gate.
  - добавлены шесть локальных issue для последовательной работы.
  - добавлен handoff для продолжения в новой сессии.
- Проверка:
  - git diff --check.
2026-06-14 15:59:12 +03:00

2.7 KiB

Status: ready-for-agent

Восстановление state v2 от модельной точки

Parent

.scratch/generator-model-time-startup-history/PRD.md

What to build

Привести восстановление state v2 к модельному времени. Один и тот же слепок должен уметь восстанавливаться в двух разных случаях: после сбоя, где время действительно прошло, и при старте из стартовой истории, где продолжение идёт от T_end без искусственного разрыва.

Срез должен доказать поведение не только локальными тестами состояния, но и данными в ClickHouse: активные визиты продолжаются или закрываются по правилам модельного времени.

Acceptance criteria

  • State сохраняет достаточно данных, чтобы после сбоя вычислить модельную точку возобновления при ×K.
  • Восстановление после короткого сбоя продолжает активные визиты и досылает созревшие события с исходными модельными метками.
  • Восстановление после долгого сбоя закрывает сильно просроченные активные визиты без досылки остатка.
  • Восстановление из стартовой истории использует T_end как точку возобновления и не обрывает активные визиты из-за настенного простоя.
  • Повреждённый или несовместимый state не валит сервис: генератор стартует с чистого листа и пишет предупреждение.
  • ClickHouse-проверка подтверждает, что на стыке восстановления нет дублей событий и нет разрыва click_id внутри продолжающегося визита.
  • После реализации выполнено саморевью worker-а и отдельное reviewer-ревью, потому что задача меняет state/serialization и сервисное восстановление.

Blocked by

  • .scratch/generator-model-time-startup-history/issues/03-model-speed-and-day-factor.md
  • Review gate из PRD.md: сквозной инвариант времени после задачи 3