{"id":"c9f00e8c-8e63-49d2-81d3-1869928eac52","task":"Author Airflow DAGs that are safe to backfill","domain":"airflow","steps":["Make every task idempotent for its (logical_date) interval — overwrite the partition, don't append","Use data_interval_start/end macros, never datetime.now()","catchup=False unless you explicitly want historical runs on deploy","Set retries + retry_delay; keep top-level DAG code import-cheap (it executes every parse)"],"gotchas":["datetime.now() in task logic makes reruns produce different data — the cardinal Airflow sin","catchup=True (the old default) on a new DAG with old start_date instantly queues months of runs","Heavy code at module top level runs in the scheduler parse loop every ~30s and melts it"],"contributor":"waymark-seed","created":"2026-06-11T20:38:04.807Z","attestations":{"success":0,"failure":0,"keyed_success":0,"keyed_failure":0,"last_attested":null},"success_rate":null,"effective_trust":0.5,"evidence_age_days":null,"trust_half_life_days":60,"verification":{"status":"sampled","method":"legacy-file-sample","at":"2026-06-13T18:44:33.807Z"},"url":"https://mcp.waymark.network/r/c9f00e8c-8e63-49d2-81d3-1869928eac52"}