docs(generator): порядок бэклога «пульт вперёд» и граф задач в PRD

- Зачем:
  - узкое место — время человека на ручную приёмку: без DAG-пульта проверять
    миграцию курса пришлось бы через консоль.
- Что:
  - PRD, раздел «Задачи»: номер файла объявлен идентификатором (не порядком),
    порядок задан ветками и mermaid-графом; основная цепочка 07 -> 11 -> 12,
    миграция курса 08 — последней.
  - issue 08: добавлена мягкая зависимость от 12 (приёмка уроков через пульт).
  - handoff триажа: раздел «Следующий шаг» обновлён под новый порядок.
- Проверка:
  - mermaid-диаграмма проверена валидатором Mermaid; статусы задач не менялись.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
2026-07-04 17:12:13 +03:00
co-authored by Claude Fable 5
parent f59b6d128f
commit ee4c9f5857
3 changed files with 55 additions and 35 deletions
@@ -61,38 +61,51 @@ Status: Draft
## Задачи ## Задачи
1. `issues/01-time-and-startup-history-contract.md` — контракт модельного Номер в имени файла — просто идентификатор задачи, порядок выполнения он не
задаёт. Порядок и зависимости живут здесь и в секциях «Blocked by» самих задач;
при изменении порядка файлы не переименовываются.
Сделано (ядро фичи, закрыто на триаже 2026-07-04):
- `issues/01-time-and-startup-history-contract.md` — контракт модельного
времени и стартовой истории. времени и стартовой истории.
2. `issues/02-model-time-to-clickhouse.md` — минимальный поток по модельному - `issues/02-model-time-to-clickhouse.md` — минимальный поток по модельному
времени до ClickHouse. времени до ClickHouse.
3. `issues/03-model-speed-and-day-factor.md` — ×K и дневной коэффициент по - `issues/03-model-speed-and-day-factor.md` — ×K и дневной коэффициент по
модельному времени. модельному времени.
4. `issues/04-state-v2-model-resume.md` — восстановление state v2 от модельной - `issues/04-state-v2-model-resume.md` — восстановление state v2 от модельной
точки возобновления. точки возобновления.
5. `issues/05-startup-history-backfill-to-clickhouse.md` — промотка прошлого, - `issues/05-startup-history-backfill-to-clickhouse.md` — промотка прошлого,
стартовая история и живое продолжение до ClickHouse. стартовая история и живое продолжение до ClickHouse.
6. `issues/06-generated-history-as-analytics-source.md` — штатный путь стенда - `issues/06-generated-history-as-analytics-source.md` — штатный путь стенда
переводится на стартовую историю как источник аналитики. переводится на стартовую историю как источник аналитики.
Дополнено по итогам независимого ревью (2026-06-14) и триажа (2026-07-04) — Остаток — порядок выполнения (решение 2026-07-04: пульт вперёд, потому что
номера отражают рекомендуемый порядок внутри веток зависимостей: узкое место — время человека на ручную приёмку; тяжелее всего проверять руками
миграцию курса, поэтому она идёт последней, когда пульт уже есть):
7. `issues/07-startup-history-portable-artifact-and-usage-docs.md` - Основная ветка: `issues/07-...` (портативный артефакт + runbook) ->
портативный артефакт (импорт через Kafka, не напрямую в ClickHouse), `issues/11-...` (глаголы, длительность и профили запуска) ->
громкий отказ при несовместимом state, runbook. `issues/12-...` (Airflow-DAG как пульт; после 11 вернуть на дооформление —
8. `issues/08-migrate-course-from-archive-seed.md` — миграция учебных сейчас `needs-triage`, критерии писать не к чему, глаголов ещё нет).
материалов на генерацию; после задачи 7 (уроки ссылаются на runbook). - Параллельно, независимы: `issues/09-...` (фикс браузерной фактуры на стыке)
9. `issues/09-seam-browser-fixture-not-preserved.md` — дефект: браузерная и `issues/10-...` (читаемость гео-карты).
фактура не переживает восстановление визита на стыке. Независим, можно - После фикса 09: `issues/13-...` (доливка истории от слепка; без приоритета,
параллельно. `needs-triage` — доливка тиражирует стыки восстановления, дооформлять после
10. `issues/10-dashboard-geo-map-readability.md` — читаемость гео-карты фикса).
дашборда. Независим, можно параллельно. - Последней: `issues/08-...` (миграция курса на генерацию) — жёстко после 07
11. `issues/11-generator-launch-verbs-and-profiles.md` — глаголы, длительность (уроки ссылаются на runbook), мягко после 12 (приёмку уроков человек ведёт
и профили запуска; после задачи 7, до задачи 12. уже через пульт).
12. `issues/12-generator-control-dag.md` — Airflow-DAG как пульт генератора;
после задачи 11 (оборачивает глаголы). ```mermaid
13. `issues/13-backfill-top-up-from-snapshot.md` — доливка истории от слепка; flowchart LR
без приоритета, после задачи 9 (доливка тиражирует стыки восстановления). i07["07 артефакт + runbook"] --> i11["11 глаголы запуска"]
i11 --> i12["12 DAG-пульт"]
i07 --> i08["08 миграция курса"]
i12 -. "приёмка через пульт" .-> i08
i09["09 фикс стыка"] --> i13["13 доливка"]
i10["10 гео-карта"]
```
## Контрольные точки ## Контрольные точки
@@ -74,5 +74,8 @@ startup-history/backfill -> Kafka -> STG -> ODS -> DDS -> DM -> Superset
- Мягкая зависимость от - Мягкая зависимость от
`07-startup-history-portable-artifact-and-usage-docs.md`: runbook из issue 07 `07-startup-history-portable-artifact-and-usage-docs.md`: runbook из issue 07
изменит команды запуска и восстановления стенда, а уроки будут на него изменит команды запуска и восстановления стенда, а уроки будут на него
ссылаться. Делать эту задачу после него, иначе уроки придётся править дважды ссылаться. Делать эту задачу после него, иначе уроки придётся править дважды.
(номера уже отражают порядок: 07 -> 08, переставлены 2026-07-04). - Мягкая зависимость от `12-generator-control-dag.md` (решение 2026-07-04):
человеческая приёмка миграции — это проход по урокам 00–05, и вести её удобнее
через DAG-пульт, а не через консоль. Поэтому эта задача идёт последней в
очереди — после 12. Порядок всей очереди — в PRD, раздел «Задачи».
@@ -43,9 +43,13 @@
## Следующий шаг ## Следующий шаг
Весь бэклог готов к передаче Codex: `/goal` на отдельные задачи (09 и 10 Весь бэклог готов к передаче Codex. Порядок пересмотрен (решение 2026-07-04,
независимы, можно параллельно) или `/coordinator-loop` на цепочки 07 -> 08 и «пульт вперёд»): узкое место — время человека на ручную приёмку, поэтому
07 -> 11 -> 12. Задача 13 — после фикса 09. основная цепочка теперь 07 -> 11 -> 12 (пульт появляется раньше), а миграция
курса 08 идёт последней — её приёмку (проход по урокам) человек ведёт уже через
пульт. 09 и 10 независимы, можно параллельно; 13 — после фикса 09. Граф и
подробности — в PRD фичи, раздел «Задачи»; там же зафиксировано, что номер
файла — идентификатор, а не порядок.
## Дооформление 09 и 10 — что изменилось против прежнего понимания ## Дооформление 09 и 10 — что изменилось против прежнего понимания