docs(todo): исправлен порядок этапов подготовки курсовой
- Зачем:
- Этап «подготовка main» не должен идти раньше ТЗ и валидационного DAG —
нельзя удалять рабочий пайплайн до того, как всё создано и протестировано.
- Что:
- Этапы 2-5 переупорядочены: сначала ТЗ от аналитика, затем валидационный DAG,
в конце — подготовка main и создание ветки solution.
- Этапы 2 и 5 (подготовка main + solution) объединены в один финальный этап.
- Добавлены пояснения «Делаем пока полный пайплайн работает» к каждому этапу.
- Проверка:
- Читаемость TODO.md.
This commit is contained in:
@@ -37,46 +37,47 @@
|
||||
(проверено 2026-03-09: `cp .env.example .env` → `make up` → `make bookings-init` →
|
||||
`make ddl-gp` → STG → ODS → DDS → DM — всё success)
|
||||
|
||||
### Этап 2. Подготовка main
|
||||
|
||||
**Инструмент:** Sonnet — удаление файлов и добавление заглушек
|
||||
по списку из [assignment_design.md](docs/design/assignment_design.md).
|
||||
|
||||
- [ ] Оставить только эталонный срез (sales_report + цепочка)
|
||||
- [ ] Убрать реализации таблиц-заданий (airplanes, seats, routes в STG/ODS;
|
||||
dim_airplanes, dim_passengers, dim_routes в DDS; 4 витрины DM)
|
||||
- [ ] Добавить TODO-маркеры / заглушки в DAG'ах для студенческих тасков
|
||||
- [ ] Обновить `ddl_gp.sql` (убрать `\i` для таблиц-заданий)
|
||||
|
||||
### Этап 3. ТЗ от аналитика
|
||||
### Этап 2. ТЗ от аналитика
|
||||
|
||||
**Инструмент:** Opus — нужно глубокое понимание предметной области, маппингов
|
||||
между слоями, SCD-паттернов и педагогического контекста.
|
||||
|
||||
> Делаем пока полный пайплайн работает — можно сверяться с реальными данными.
|
||||
|
||||
- [ ] Создать `docs/assignment/analyst_spec.md`
|
||||
- [ ] Для каждой таблицы-задания: имя, описание, поля, маппинг,
|
||||
бизнес-правила, тип SCD, гранулярность, distribution key
|
||||
- [ ] Для dim_routes (SCD2): пошаговый алгоритм текстом, формула hashdiff
|
||||
- [ ] Рекомендуемый порядок выполнения
|
||||
|
||||
### Этап 4. Валидационный DAG
|
||||
### Этап 3. Валидационный DAG
|
||||
|
||||
**Инструмент:** Sonnet (шаблонная работа, структура в assignment_design.md)
|
||||
+ Opus для финальной вычитки.
|
||||
|
||||
> Делаем и тестируем на полных данных, пока ничего не удалено.
|
||||
|
||||
- [ ] Создать `airflow/dags/bookings_validate.py`
|
||||
- [ ] Создать SQL-скрипты в `sql/validate/`
|
||||
- [ ] Таски по слоям: STG, ODS, DDS, DM
|
||||
- [ ] Дружелюбные сообщения об ошибках с подсказками
|
||||
- [ ] Протестировать на работающем стенде
|
||||
|
||||
### Этап 5. Ветка solution
|
||||
### Этап 4. Подготовка main и ветка solution
|
||||
|
||||
**Инструмент:** Вручную / Sonnet — реализация уже есть в ветке
|
||||
`chore/bookings-etl`, нужно собрать в ветку `solution`.
|
||||
**Инструмент:** Sonnet — удаление файлов и добавление заглушек
|
||||
по списку из [assignment_design.md](docs/design/assignment_design.md).
|
||||
|
||||
- [ ] Создать ветку `solution` от main (после подготовки)
|
||||
> Финальный этап: всё готово и протестировано, теперь раскладываем по веткам.
|
||||
|
||||
- [ ] Оставить только эталонный срез (sales_report + цепочка)
|
||||
- [ ] Убрать реализации таблиц-заданий (airplanes, seats, routes в STG/ODS;
|
||||
dim_airplanes, dim_passengers, dim_routes в DDS; 4 витрины DM)
|
||||
- [ ] Добавить TODO-маркеры / заглушки в DAG'ах для студенческих тасков
|
||||
- [ ] Обновить `ddl_gp.sql` (убрать `\i` для таблиц-заданий)
|
||||
- [ ] Создать ветку `solution` от main
|
||||
- [ ] Добавить полные реализации всех таблиц-заданий
|
||||
- [ ] Проверить, что всё работает end-to-end
|
||||
- [ ] Проверить, что всё работает end-to-end на обеих ветках
|
||||
|
||||
---
|
||||
|
||||
|
||||
Reference in New Issue
Block a user