- Зачем:
- на solution не было явного «что дальше» после шага 6 и навигации по паттернам.
- Что:
- README: маркетинг-баннер + шаг 7 «Изучите готовую реализацию».
- docs/assignment/README: навигатор по всем паттернам (ODS → DDS → DM) с файлами.
- архивирован план онбординга в docs/archive/.
- Проверка:
- make test (4 passed), make lint (clean).
- grep «заглушки/SELECT 1» в README и docs/assignment/README — не найдено.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- Зачем:
- нужна стратегия ветвления и пошаговый план для финального этапа подготовки курсовой
- Что:
- создан `docs/plans/2026-03-12_main-solution-split.md` (v4, после 4 ревью Codex)
- стратегия: мерж в main → общие правки → ветка solution → заглушки на main
- solution как source of truth, однонаправленный поток solution → main
- план очистки docs для студентов (удалить plans/archive/PRD с main)
- открытый вопрос: детальный протокол синхронизации веток
- добавлена пометка статуса в архивный план routes-to-reference
- Проверка:
- просмотр `docs/plans/2026-03-12_main-solution-split.md`
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- Зачем:
- план routes-to-reference выполнен, нужен план следующего этапа — валидационный DAG
- Что:
- перемещён docs/plans/2026-03-11_routes-to-reference.md → docs/archive/
- создан docs/plans/2026-03-12_validation-dag.md: структура DAG (17 SQL + DAG + smoke-тест),
активный тест SCD2 (цепочка тасков с безопасным откатом), прошёл 5 раундов ревью ChatGPT
- Проверка:
- make test
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- Зачем:
- db_schema.md не отражала DM-слой и содержала неточности в метаданных таблиц.
- architecture_review.md устарел: все P0–P2 выполнены, P3 отложены и покрыты другими документами.
- Что:
- db_schema.md переработана: Mermaid-диаграмма потоков перенесена в начало, добавлен DM-слой, STG/ODS/DDS/DM представлены компактными таблицами.
- исправлены неточности: dim_calendar (AO Column → AO Row), dim_tariffs (INSERT-only → SCD1), ODS добавлено поле event_ts.
- architecture_review.md перенесён из docs/design/ в docs/archive/, статус обновлён на «завершён».
- Проверка:
- открыть docs/design/db_schema.md и убедиться, что диаграмма в начале файла, DM-слой отражён.
- Зачем:
- файлы планов именовались хаотично (микс snake_case/kebab-case, без дат),
из-за чего архив не сортировался хронологически.
- Что:
- установлен формат YYYY-MM-DD_краткое-описание.md для docs/plans/ и docs/archive/.
- переименованы 6 архивных файлов по новой конвенции (git mv).
- конвенция зафиксирована в AGENTS.md (секция «Карта проекта»).
- Проверка:
- ls docs/archive/ — все файлы начинаются с даты в kebab-case.
- Зачем:
- документация трёх DAG-ов была значительно беднее эталона (bookings_to_gp_stage.md):
отсутствовал пошаговый разбор задач, SQL-пути и ASCII-графы зависимостей.
- Что:
- добавлены секции "Как это работает внутри" с таблицами task_id → SQL-файл → паттерн.
- добавлены ASCII-графы зависимостей в ODS и DDS (в DM уже был).
- исправлено описание паттернов ODS: явно разделены TRUNCATE+INSERT для AO snapshot-справочников и SCD1 UPSERT для транзакционных таблиц.
- исправлено описание fact_flight_sales: убрана неточная отсылка к late-arriving dimensions, добавлено объяснение defensive LEFT JOIN и точных DQ-правил (0% / 1%).
- добавлена таблица grain и описание стратегий загрузки для каждой DM-витрины.
- план улучшений перенесён в docs/archive/.
- Проверка:
- визуально: открыть каждый docs/bookings_to_gp_*.md и убедиться, что секции присутствуют.
- Зачем:
- docs/internal/ превратился в свалку: дизайн-документы, ревью, планы и справочники лежали вперемешку.
- архивные планы были неотличимы от живых документов.
- Что:
- docs/internal/ удалён; файлы распределены по docs/design/, docs/reference/, docs/archive/, docs/plans/, docs/assignment/.
- educational-tasks.md убран из корня в архив (устарел).
- обновлены все перекрёстные ссылки в AGENTS.md, TODO.md, README.md, docs/README.md и внутри design/reference/.
- актуализированы architecture_review.md (статус DM-слоя), db_schema.md (DM-слой), TESTING.md, dag_execution_order.md, pxf_bookings.md.
- добавлены заглушки docs/assignment/README.md и docs/plans/README.md.
- Проверка:
- make test && make lint
- rg 'docs/internal' --glob '!docs/archive/*' — должно быть пусто.