Status: needs-triage # Доливка стартовой истории кусочком от слепка ## Parent `.scratch/generator-model-time-startup-history/PRD.md` ## Why Сейчас backfill всегда стартует с чистого состояния от `T0` (`service.py:178-185`): удлинить существующую историю нельзя — есть 2 суток, нужно 7, генерируй все 7 заново. Идея — «долить» продолжение от сохранённого слепка `T_end`. Приоритет низкий (решение 2026-07-04): с портативным артефактом (задача 07) длинную историю можно сгенерировать один раз и переиспользовать, так что потребность в доливке может и не возникнуть. Вернуться, если возникнет. ## What to build - Режим backfill, продолжающий от слепка: новая порция истории от `T_end` до нового `T_end'`, манифест обновляется. ## Acceptance criteria (черновые) - [ ] Доливка продолжает мир слепка: без дублей и смешения на границе. - [ ] Однородность визитов, переживших границу доливки, — включая per-event браузерные поля (`dds.event`), см. дефект `09-seam-browser-fixture-not-preserved.md`: доливка создаёт новые стыки, тот же механизм восстановления. - [ ] Манифест после доливки отражает новый `T_end'`; антисмешивание работает. - [ ] До реализации доливки принято решение по fallback-ветке восстановления визита: либо свойство донорского сида закреплено проверкой, либо длина визита ограничена так, чтобы fallback не менял фактуру на стыке. ## Blocked by - `15-world-boundary-after-cross-review.md` — доливка продолжает мир от слепка; сначала нужен закрытый инвариант «старый state и консольные пути не создают второй мир». - `17-trusted-checks-startup-history-superset.md` — доливка создаёт новые стыки; сначала нужна доверенная проверка фактической границы по манифесту. Исторический контекст: `09-seam-browser-fixture-not-preserved.md` закрыла фактуру визита на стыке восстановления, но кросс-линейное ревью 2026-07-05 нашло более широкие риски вокруг границы мира и проверки стыка.