Два DAG-а платформы отчётности на Apache Airflow 3, каждый по шаблону fetch → validate → write → record_metrics. Показан представительный — daily_sales_report (второй, weekly_sales_summary, идёт по тому же шаблону, 3 прогона внизу). Кликните таск, чтобы увидеть его роль; переключатель наборов прогонов пересчитывает тренд и KPI.
Пунктирный блок — источник, а не таск DAG. Цепочка линейная: у каждого шага один вход и один выход, поэтому «выше/ниже» в панели считает позицию в этом графе.
3 попытки = исходная + 2 retry по DEFAULT_ARGS
(retries=2, retry_delay=5 мин) — провал в validate_data.
Это отдельный ран, а не неудача дневного прогона за 05.09.
Проверки идут до записи: таск validate_data вызывает
validate_or_raise (shared/dq.py:75). Нарушение → ValueError,
нет строк за окно → NoDataError. Все 8 файлов в data/out/ написаны
после прохождения гейта — иначе записи не было бы.
Это проверки отчёта reports/eda/findings.md по уже записанным CSV,
а не шаги DAG. Они ловят то, что гейт по построению не видит: непрерывность периодов.