- Зачем:
- зафиксировать новые приоритеты по тестированию ETL и стабильности источника.
- Что:
- добавлены два новых пункта в backlog мейнтейнеров в TODO.md.
- уточнён статус файла, чтобы он отражал наличие открытых задач.
- Проверка:
- git diff --cached -- TODO.md.
- Зачем:
- файл позволяет AI-агентам быстро находить и использовать контекст из AGENTS.md
- Что:
- создан файл GEMINI.md с ссылкой на @AGENTS.md
- Проверка:
- cat GEMINI.md
- Зачем:
- исключить нестабильные режимы генератора, в которых bookings может перестать пополняться.
- сделать причину ошибки понятной студенту сразу при запуске команд и SQL-скриптов.
- Что:
- добавлен precheck `bookings-check-jobs` в Makefile и подключён к `bookings-init` и `bookings-generate-day`.
- добавлены явные проверки `bookings.jobs = 1` в `bookings/generate_next_day.sql` и `sql/src/bookings_generate_day_if_missing.sql`.
- обновлена документация и `.env.example`: зафиксировано, что в стенде поддерживается только `BOOKINGS_JOBS=1`.
- Проверка:
- uv run make fmt.
- uv run make test.
- env BOOKINGS_JOBS=2 make bookings-init.
- env BOOKINGS_JOBS=2 make bookings-generate-day.
- make bookings-init.
- make bookings-generate-day.
- Зачем:
- предыдущий фикс ломал make bookings-init из-за невалидного SQL в Makefile.
- Что:
- удалены SQL-блоки постобработки reference-данных и cume_dist из bookings-init.
- удалён случайно добавленный gitlink _vendor/demodb.
- удалён SET LOCAL application_name из generate_next_day.sql.
- Проверка:
- uv run make fmt.
- uv run make test.
- make bookings-init.
- make bookings-generate-day.
- Зачем:
- генератор demodb зависал при jobs=1 из-за самоблокировки busy()
- get_passenger_name() попадал в бесконечный цикл из-за NULL в cume_dist
- Что:
- добавлен SET LOCAL application_name = 'psql' после вызова generate/continue
- добавлена загрузка firstnames.dat и lastnames.dat в Makefile
- добавлено заполнение cume_dist для firstnames, lastnames и airport_to_prob
- Проверка:
- make bookings-generate-day выполняется успешно, создаётся ~45K бронирований
- Зачем:
- документ разросся и стал неструктурированным; нужно выделить ключевое правило про баланс production-ready и KISS для начинающих Data инженеров.
- Что:
- реструктуризация: введена нумерация разделов (1-6), удалены дублирующиеся детали команд и стиля кода.
- добавлен раздел 1 "Главное правило генерации кода (Баланс)" с принципами Production-ready, KISS и Фокус на «Почему».
- расширена карта проекта: добавлены все слои DWH (src/, stg/, ods/, dds/, dm/) и naming conventions.
- добавлен раздел 6 "Порядок работы Агента" с чек-листом валидации.
- Проверка:
- cat AGENTS.md && git log -1