GitHub user jaymasiwal created a discussion: Where should DataInterval invariants be enforced in Airflow?
Hi maintainers, While working around timetables and scheduling, I ran into a design question related to `DataInterval`. Conceptually, `DataInterval` assumes two invariants: - `start` and `end` are timezone-aware - `end` is not earlier than `start` Before attempting any changes, I wanted to clarify the intended design boundaries: - Where are `DataInterval` invariants expected to be enforced today? - At object construction? - During timetable validation? - At DAG parsing or runtime boundaries? - Is the current permissive behavior intentional (e.g. to support legacy runs, serialized DAGs, or external integrations)? I’m not proposing a behavior change here — just trying to understand where validation is expected to live so future docs or tests align with that intent. Thanks for any guidance. GitHub link: https://github.com/apache/airflow/discussions/59868 ---- This is an automatically sent email for [email protected]. To unsubscribe, please send an email to: [email protected]
