- Зачем: - ревью выявило слабые места в критериях приёмки модельного времени. - Что: - уточнены правила повторяемости, чистого прогона и review gate. - добавлены критерии для однородности визита через восстановление и T_end. - обновлён handoff с важными рисками для следующего агента. - Проверка: - git diff --check.
3.3 KiB
3.3 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как точку возобновления и не обрывает активные визиты из-за настенного простоя. - Визит, переживший восстановление, остаётся однородным: события до и после
восстановления не меняют контекст визита и не создают второй путь генерации
внутри одного
click_id. - Повреждённый или несовместимый state не валит сервис: генератор стартует с чистого листа и пишет предупреждение.
- ClickHouse-проверка подтверждает, что на стыке восстановления нет дублей
событий и нет разрыва
click_idвнутри продолжающегося визита. - После реализации выполнено саморевью worker-а и отдельное reviewer-ревью, потому что задача меняет state/serialization и сервисное восстановление.
- Если исправление после ревью меняет формат state или способ восстановления, выполнен повторный reviewer-круг.
Blocked by
.scratch/generator-model-time-startup-history/issues/03-model-speed-and-day-factor.md- Review gate из
PRD.md: сквозной инвариант времени после задачи 3