- Зачем: - coordinator-loop требует отделять рабочий срез от статусов и журнала. - Что: - задача 15 переведена в done с закрытыми критериями. - журнал дополнен происхождением ревью и коммит-гейтом. - Проверка: - git status --short и staged-состав перед коммитом.
2.7 KiB
2.7 KiB
Status: done
Граница миров после кросс-ревью
Parent
.scratch/generator-model-time-startup-history/PRD.md
What to build
Закрыть семейство находок кросс-линейного ревью про «смешение миров»: после обновления кода, сброса стенда или консольного запуска старое состояние и старый live-генератор не должны тихо писать события в новый мир данных.
Источник: .scratch/handoffs/20260705-0002-cross-review-generator-chain.md,
разделы Issue 12/14 и Issue 09.
Связанные старые issue: 09-seam-browser-fixture-not-preserved.md,
12-generator-control-dag.md, частично 14-fast-teaching-profile.md.
Acceptance criteria
- Известная старая версия state при
GEN_STATE_RESET=falseдаёт громкий отказ с понятным сообщением, а не тихий чистый старт поверх существующей истории. - Сброс и остановка стенда убирают ручной live-генератор из compose-профиля;
он не переживает
down/cleanи не воскресает после перезагрузки хоста. - Консольные пути backfill/import/continue используют ту же идею предпроверки чистого стенда, что Airflow-пульт, но реализованы способом, пригодным для запуска с хоста.
- Документация объясняет миграционный случай: почему старый state может теперь дать громкий отказ и что делать оператору или менти.
- Есть проверка, которая доказывает каждый из трёх путей смешения миров: старая версия state, compose-профиль live-генератора, консольный запуск на грязном стенде.
Blocked by
Нет — можно начинать сразу.
Notes
- Рекомендуемый режим
coordinator-loop: гейт. Workerhigh, ревью задачиhigh, ревью кодаhigh. - Не чинить здесь ложнозелёные проверки и курс целиком: это отдельные задачи 17 и 18. Здесь только граница миров и доказательства именно этой границы.