docs(generator): проведён триаж бэклога фичи, задачи 01-06 закрыты
- Зачем:
- 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>
This commit is contained in:
@@ -0,0 +1,55 @@
|
||||
Status: needs-triage
|
||||
|
||||
# Airflow-DAG — пульт управления генератором
|
||||
|
||||
## Parent
|
||||
|
||||
`.scratch/generator-model-time-startup-history/PRD.md`
|
||||
|
||||
## Why
|
||||
|
||||
Даже с runbook и глаголами управление генератором остаётся консольным. Идея
|
||||
(пользователь, 2026-06-14; приоритет поднят 2026-07-04): параметризованный DAG
|
||||
в Airflow как основной человеческий интерфейс стенда — форма в веб-UI, где
|
||||
выбираются режим, длительность/профиль, seed, скорость. Плюсы: валидация
|
||||
настроек против манифеста ещё до запуска, повторные попытки, наглядный статус.
|
||||
|
||||
Учебный бонус: такой DAG сам по себе учебный материал — живой пример
|
||||
параметризованной оркестрации (тема урока 4), что ближе к цели курса, чем
|
||||
устройство генератора.
|
||||
|
||||
## What to build
|
||||
|
||||
Черновой контур (уточнить после задач 07 и 11):
|
||||
|
||||
- Параметризованный DAG с операциями: создать стартовую историю (backfill),
|
||||
экспортировать артефакт, импортировать артефакт, сбросить мир.
|
||||
- Валидация параметров против манифеста **до** запуска операции; при
|
||||
несовместимости — понятная ошибка в UI, а не тихий новый мир.
|
||||
- Конечные операции (backfill, экспорт, импорт, сброс) — таски DAG.
|
||||
Непрерывный live — долгоживущий сервис compose: DAG его стартует и
|
||||
останавливает, но не держит внутри таска.
|
||||
- Под капотом DAG вызывает глаголы из задачи 11, а не собирает env-матрицу.
|
||||
|
||||
## Acceptance criteria (черновые, дооформить после 07 и 11)
|
||||
|
||||
- [ ] Стартовую историю выбранной длительности можно создать из веб-UI Airflow,
|
||||
не выставляя переменных окружения вручную.
|
||||
- [ ] Несовместимые параметры отклоняются до запуска с указанием разошедшихся
|
||||
полей.
|
||||
- [ ] Импорт/экспорт артефакта доступны как операции DAG.
|
||||
- [ ] Runbook дополнен разделом «пульт в Airflow» как основным путём.
|
||||
|
||||
## Notes
|
||||
|
||||
- Проверить API параметров DAG (params/Datasets) через MCP Context7 по правилу
|
||||
репозитория: спорные API Airflow сверять с актуальной документацией.
|
||||
- DAG должен остаться понятным менти: это витрина оркестрации, не место для
|
||||
хитрой логики. Сложность — в глаголах генератора (задача 11), не здесь.
|
||||
|
||||
## Blocked by
|
||||
|
||||
- `07-startup-history-portable-artifact-and-usage-docs.md` — операции
|
||||
экспорта/импорта появляются там.
|
||||
- `11-generator-launch-verbs-and-profiles.md` — DAG оборачивает глаголы и
|
||||
профили; без них он превращается в переводчик формы в env-матрицу.
|
||||
Reference in New Issue
Block a user