Status: ready-for-agent # Стартовая история до ClickHouse ## Parent `.scratch/generator-model-time-startup-history/PRD.md` ## What to build Сделать промотку прошлого: генератор быстро проходит от `T0` до `T_end`, создаёт события за этот отрезок, сохраняет слепок состояния и манифест стартовой истории. Эту историю нужно загрузить в ClickHouse и доказать, что живой поток может продолжить её с `T_end`. Это главный срез стартовой истории. Он должен проверять не только факт наличия данных, но и форму данных: пирамиду, возвраты, длину визита, воронку и стык между прошлым и живым продолжением. ## Acceptance criteria - [ ] Промотка прошлого создаёт события за `[T0, T_end]`, слепок состояния и манифест с контрольными данными. - [ ] При одинаковых `GEN_SEED`, `T0`, `T_end` и настройках результат промотки повторяем в пределах согласованных допусков. - [ ] История загружается в ClickHouse штатной или явно описанной командой. - [ ] SQL-проверка показывает здоровую пирамиду: пользователей меньше, чем визитов, визитов меньше, чем событий. - [ ] SQL-проверка показывает возвраты: у части пользователей больше одного визита. - [ ] SQL-проверка длины визита проверяет форму, а не только среднее: долю коротких визитов, медиану и долю срезов о потолок. - [ ] SQL-проверка воронки `/home -> товары -> /cart -> /payment -> /confirmation` монотонно убывает, а доля дошедших до `/confirmation` в согласованном коридоре. - [ ] Живое продолжение после `T_end` не создаёт дублей на границе и не выглядит как независимый второй мир. - [ ] Подготовлены данные, команды и SQL-проверки, достаточные для внешнего review gate по распределениям и двум путям генерации из `PRD.md`. ## Blocked by - `.scratch/generator-model-time-startup-history/issues/04-state-v2-model-resume.md`