- Зачем: - запуск генератора должен быть понятным перед будущим DAG-пультом. - Что: - добавлены глаголы запуска backfill, continue и reset. - добавлены профили ci и daily-wave с расчётом длительности истории. - обновлены runbook и документы запуска под профильный интерфейс. - Проверка: - uv run --with-requirements generator/requirements.txt pytest generator/tests -q. - bash -n scripts/run_generator.sh scripts/export_startup_history_artifact.sh scripts/import_startup_history_artifact.sh scripts/run_generated_history_analytics.sh. - PROFILE=daily-wave COMPOSE_BIN=true bash scripts/run_generator.sh backfill.
3.9 KiB
3.9 KiB
Status: done
Глаголы, длительность и профили запуска генератора
Parent
.scratch/generator-model-time-startup-history/PRD.md
Why
Запуск генератора недружелюбный: поведение собирается из ~10 связанных
env-переменных, а смысл запуска — из их комбинации (GEN_RUN_MODE +
GEN_STATE_RESET). Конец истории задаётся абсолютной меткой GEN_MODEL_T_END,
которую оператор считает в уме от T0.
Задача — дать чистый интерфейс «под капотом» перед DAG-пультом
(12-generator-control-dag.md): если команды простые и говорящие, DAG
становится тонкой обёрткой с понятными параметрами, а не переводчиком
формы в матрицу переменных (решение пользователя, 2026-07-04).
What to build
- Глаголы вместо матрицы флагов: явные команды
backfill/continue/reset(make-цели или аргументы запуска), а не комбинацияGEN_RUN_MODE+GEN_STATE_RESET. Старые переменные могут остаться как низкоуровневый механизм, но документированный путь — глаголы. - Длительность вместо абсолютной метки: задавать конец истории как
длительность от
T0(например,2d), расчётT_end— внутри. - Именованные профили вместо повторения блока переменных: минимум два — быстрый проверочный (6 часов, текущий дефолт CI) и «с суточной волной» (2+ суток).
Acceptance criteria
- Стартовую историю на 2 суток можно получить одной командой с глаголом и
длительностью/профилем, без ручного расчёта
T_endи без выставленияGEN_RUN_MODE/GEN_STATE_RESETвручную. - Глаголы не меняют семантику режимов: за
backfill/continue/resetстоит тот же контракт модельного времени и state, что в спекеdocs/specs/2026-06-14-generator-model-time-and-startup-history.md. - Профили покрывают быстрый проверочный прогон и прогон с суточной волной; выбранный профиль виден в логах/манифесте.
- Runbook (из задачи 07) и документы запуска переведены на глаголы и профили; старый способ через переменные упомянут как низкоуровневый.
- Существующие тесты генератора проходят; поведение по умолчанию (CI-профиль) не изменилось.
Notes
- Это интерфейсный слой над существующей механикой: генерацию, state и антисмешивание не менять.
- Вместе с глаголами не забыть команды экспорта/импорта из задачи 07 — они уже в стиле глаголов, привести всё к одному стилю.
Blocked by
07-startup-history-portable-artifact-and-usage-docs.md— runbook и команды экспорта/импорта появляются там; эта задача переводит их на единый стиль.