The first point is an important one; we’ve seen many other projects take this approach (ultimately relying on Airflow for scheduling / execution) — the Airflow scheduler is probably the most complained about piece of the Airflow monolith, so most of these projects are at least starting out inheriting these issues. For example, tasks can’t natively exchange data if the Airflow scheduler is responsible for their execution