Hi all, Following the discussion [1], I'm calling for lazy consensus on how we handle Dags whose TaskGroups depend on each other in a cycle when each group is treated as a single unit (their task dependencies themselves are acyclic).
Proposal: 1. In 3.4.0, fix the Grid/Graph HTTP 500 for these Dags [2]. We need this fix regardless: filtering the Grid or Graph view can create such a cycle in a Dag that has none. 2. Also in 3.4.0, deprecate these Dags [3]. Parsing them issues a TaskGroupCycleDeprecationWarning and shows a Dag warning in the UI naming the TaskGroups involved. They keep parsing and running. 3. From 3.5.0, reject them at parse time with an import error [4]. As Jarek suggested, we treat this as a bug fix, since these dependencies were never intended to be supported. This is an exception to our deprecation policy, which would otherwise keep deprecated behaviour working until 4.0. 4. Scope: only cycles between TaskGroups. Other restrictions on dependencies into or out of TaskGroups are out of scope and would need their own discussion. The lazy consensus is open for 72 hours, until Tuesday, 29 September 2026, 05:00 UTC. If there are no objections by then, I'll consider it accepted. [1] https://lists.apache.org/thread/sossl7b2w2ftyk4028qrhps [2] https://github.com/apache/airflow/pull/73724 [3] https://github.com/apache/airflow/pull/73746 [4] https://github.com/apache/airflow/pull/73087 Thanks, Dheeraj
