- Зачем:
- агент использовал CLI (`docker exec ... airflow dags unpause`) вместо REST API,
что приводило к зависанию DAG'ов в статусе `queued`.
- Что:
- e2e-etl-test-protocol: явный запрет на CLI-команды, REST API как основной метод,
шаблон unpause+trigger для каждого слоя, пример проверки статуса через API.
- agent-dag-testing: убрана оговорка «если он новый» — unpause обязателен всегда.
- TODO: пункт «стенд поднимается на чистой машине» отмечен выполненным.
- Проверка:
- прочитать docs/e2e-etl-test-protocol.md и docs/agent-dag-testing.md.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- Зачем:
- старая инструкция была неполной (без ODS/DDS/DM) и содержала избыточные требования.
- Что:
- переписан docs/agent-dag-testing.md с фокусом на итеративную разработку и Airflow REST API.
- добавлены шаги по отладке упавших задач (логгирование через CLI) и проверке DWH слоев.
- Проверка:
- визуальная проверка текста руководства на соответствие актуальному пайплайну.
- Зачем:
- исключены ложные падения DQ при пустом source в bookings-db.
- Что:
- в TESTING.md добавлены pre-check команды COUNT(*) перед Trigger DAG.
- в docs/agent-dag-testing.md добавлена обязательная проверка source и fallback при COUNT(*) = 0.
- в таблицу типичных проблем добавлен кейс падения check_airports_dq/check_airplanes_dq с ошибкой "..._ext нет строк".
- Проверка:
- rg -n "source непустой|COUNT\(\*\) = 0|bookings-generate-day|check_airports_dq" TESTING.md docs/agent-dag-testing.md
- Зачем:
- AI-агенты пытались тестировать DAG через браузер вместо CLI/API,
так как не было явных инструкций по программному подходу.
- Что:
- добавлен docs/agent-dag-testing.md: CLI, REST API Airflow,
проверка параллельности, запросы в Greenplum, E2E-тест, шпаргалка команд.
- в AGENTS.md добавлена ссылка на новый гайд в раздел «Тестирование».
- из docs/README.md убрана ссылка (файл для людей, не для агентов).
- Проверка:
- cat docs/agent-dag-testing.md && grep agent-dag-testing AGENTS.md
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>