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:
@@ -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 гео-карта"]
|
||||||
|
```
|
||||||
|
|
||||||
## Контрольные точки
|
## Контрольные точки
|
||||||
|
|
||||||
|
|||||||
+5
-2
@@ -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 — что изменилось против прежнего понимания
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user