0021 la semantique du dag doit correspondre a l intention d execu
ADR-21 — La sémantique du DAG DOIT correspondre à l'intention d'exécution¶
Statut : Décidé (issue #367, 2026-03-24)
Contexte : Le problème racine venait d'un mismatch : un DAG destiné à l'exécution manuelle était déclaré avec schedule="@once" (planifié). Airflow appliquait correctement la sémantique du DAG, mais celle-ci ne correspondait pas à l'usage réel.
Décision : La définition d'un DAG doit toujours refléter son mode d'exécution réel.
Invariants :
- DAG manual-only → schedule=None
- DAG planifié → schedule=<cron expression>
- JAMAIS de schedule="@once" sauf si l'intention est réellement "exécuter une seule fois au deploy"
- Le mismatch intention/sémantique est un bug d'architecture, pas un bug de code