- Зачем: - запуск генератора должен быть понятным перед будущим 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.
59 lines
3.9 KiB
Markdown
59 lines
3.9 KiB
Markdown
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 и команды
|
|
экспорта/импорта появляются там; эта задача переводит их на единый стиль.
|