diff --git a/TODO.md b/TODO.md index 45f49b1..0dbfc15 100644 --- a/TODO.md +++ b/TODO.md @@ -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 на обеих ветках ---