docs(course): расщеплён план уроков и зафиксирован аудит путей

- Зачем:
  - середина пайплайна перегружала один урок тремя паттернами; нужны честный такт и разведённые слои.
- Что:
  - середина расщеплена: ODS и DDS — отдельные уроки (один паттерн на урок), DM демотирован в поверхность потребления; всего 7 уроков.
  - зафиксированы финальные вердикты аудита и список правок по урокам (LEARNING_PLAN §3/§3.1), включая гейт целостности DAG.
  - в LESSON_STANDARD добавлены шаг отката «верни как было» и артефакт на сессию; в PRD обновлены скоуп и такт ~день на урок.
- Проверка:
  - вычитка docs/course/{PRD,LEARNING_PLAN,LESSON_STANDARD}.md: номера уроков, скоуп и перекрёстные ссылки сходятся.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-06-03 21:22:07 +03:00
co-authored by Claude Opus 4.8
parent aecbf392d9
commit d8c5e61a3a
3 changed files with 132 additions and 31 deletions
+22 -8
View File
@@ -1,6 +1,11 @@
# PRD: продвинутый курс «Кликстрим на ClickHouse» (со звёздочкой)
> Статус: черновик (прообраз PRD). Дата: 2026-06-01.
> Поправка 2026-06-03 (разморозка по делу): середина пайплайна расщеплена — ODS и DDS
> теперь разные уроки (принцип «один паттерн на урок»), витрины DM демотированы в
> поверхность потребления. Обязательных уроков стало 0–5, опциональный Superset — урок 6.
> Затронуты §4 (скоуп) и §3/§5 (ожидаемый такт — ~день на урок). Это изменение рамки,
> а не план реализации.
> Назначение документа: зафиксировать для будущих сессий, что это за курс, зачем
> он, что входит в скоуп работ, а что нет. Это договорная **рамка**, а не план
> реализации и не стандарт уроков (см. раздел «Связанные документы»).
@@ -55,7 +60,9 @@ Kafka → ClickHouse → BI).
но затачиваем под реальный первый прогон, а не под гипотетических будущих менти.
- **Режим:** самостоятельный, асинхронный. Менти клонирует репозиторий, поднимает
стенд у себя (`make up`) и идёт по урокам из `docs/course/` рядом с кодом.
- **Роль ментора:** еженедельная сессия-сверка, без построчного разбора кода.
Уроки короткие и односоставные — ожидаемый срок прохождения одного **около дня**.
- **Роль ментора:** еженедельная сессия-сверка (покрывает несколько уроков), без
построчного разбора кода.
- **Железо:** стек тяжёлый (Kafka + ClickHouse + Airflow + Superset + Prometheus +
Grafana одновременно). Считаем наличие подходящего железа данностью; стек не режем
на части — это усложнило бы жизнь и менти, и автору материала.
@@ -63,8 +70,12 @@ Kafka → ClickHouse → BI).
## 4. Скоуп
### Входит
- **Уроки 04 (обязательные):** вводный урок по Kafka, заземление Kafka→CH, слоёный
ETL (где Materialized View, а где батч), Airflow, мониторинг.
- **Уроки 05 (обязательные):** вводный урок по Kafka, заземление Kafka→CH, STG→ODS
(типизация + DQ), ODS→DDS (сборка сущностей), Airflow, мониторинг. Принцип нарезки —
один прод-паттерн на урок; контраст «где Materialized View, а где батч» проходит
мостом уроков 1→2.
- Витрины **DM — не отдельный урок**: их показываем в деле там, где их потребляют
(мониторинг и BI). См. `LEARNING_PLAN.md` §12.
- **Аудит и точечная полировка эталонных путей** этих уроков до учебного качества
(стандарт — в `LESSON_STANDARD.md`).
- Учебная часть вокруг каждого эталонного пути по единому шаблону урока.
@@ -73,7 +84,7 @@ Kafka → ClickHouse → BI).
обучения `LEARNING_PLAN.md`.
### Опционально
- **Урок 5: Superset (BI-витрина).** Делаем, если останется ресурс; обязательные
- **Урок 6: Superset (BI-витрина).** Делаем, если останется ресурс; обязательные
уроки он не блокирует.
### Не входит
@@ -88,7 +99,8 @@ Kafka → ClickHouse → BI).
## 5. Критерии успеха
- Менти проходит урок за неделю **сам**, без построчного разбора с ментором.
- Менти проходит урок **сам**, без построчного разбора с ментором (ожидаемый срок —
около дня на урок: уроки короткие и односоставные).
- Может своими словами объяснить паттерн урока и привязать его к обычной
кликстрим-аналитике.
- На сессии приносит осмысленные вопросы по сути, а не «застрял на запуске».
@@ -98,7 +110,8 @@ Kafka → ClickHouse → BI).
Порядок создания артефактов:
1. **`PRD.md`** (этот документ) — рамка: что, зачем, скоуп. **Замороженный** документ.
1. **`PRD.md`** (этот документ) — рамка: что, зачем, скоуп. По умолчанию **заморожен**;
меняется только осознанной поправкой с датой и причиной в шапке (как 2026-06-03).
2. **`LEARNING_PLAN.md`** — высокоуровневый план обучения: карта уроков, маршрут
менти, результаты аудита путей. Пишется после согласования PRD.
3. **`LESSON_STANDARD.md`** — стандарт уроков: шаблон урока, стандарт качества кода,
@@ -113,8 +126,9 @@ Kafka → ClickHouse → BI).
## 7. Открытые вопросы / на будущее
- Глубина урока 4 (мониторинг): сколько внутреннего устройства показывать против
«просто наблюдай дашборд».
- Глубина урока 5 (мониторинг): сколько внутреннего устройства показывать против
«просто наблюдай дашборд». Кандидат — мини-правка «погаси сервис → алерт краснеет»
(зеркало урока 4), см. `LEARNING_PLAN.md` §3.1.
- Нужна ли BI-витрина (Superset) уже в первой версии или переносим на следующую.
- Переиспользование: после первого прогона — ретроспектива и обобщение материала
под других менти.