- Зачем:
- follow-up задачи после ревью 2026-06-14 лежали без триажа; решения по
артефакту, громкому отказу и интерфейсу приняты 2026-07-04 и должны
попасть в задачи до передачи исполнителю.
- Что:
- задачи 07 (миграция курса) и 08 (артефакт) поменяны местами — номера
отражают порядок; ссылки обновлены.
- 07 (артефакт + runbook) дооформлен: импорт строго через Kafka (напрямую
в ClickHouse не пишет), громкий отказ при несовместимом state с правкой
спеки, граница runbook «использование, не устройство»; ready-for-agent.
- 08 дооформлен: устройство генератора вне пути менти, реальный объём
(make data во всех уроках 00-05), демо вне скоупа; ready-for-agent.
- новые задачи: 11 глаголы/длительность/профили (после 07, до 12),
12 Airflow-DAG как пульт (приоритет поднят), 13 доливка (после 09).
- задачи 01-06 переведены в done (стояли ошибочные ready-for-human);
PRD фичи дополнен списком задач 7-13 с порядком и зависимостями.
- Проверка:
- head -1 .scratch/generator-model-time-startup-history/issues/*.md;
grep по старым именам файлов ничего не находит вне handoff.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
59 lines
3.9 KiB
Markdown
59 lines
3.9 KiB
Markdown
Status: ready-for-agent
|
|
|
|
# Глаголы, длительность и профили запуска генератора
|
|
|
|
## 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 и команды
|
|
экспорта/импорта появляются там; эта задача переводит их на единый стиль.
|