Metacenta

Orchestration & reliability · rule dag-unowned

Airflow DAGs with no owner

A Metacenta review checks this under the rule Every scheduled job names an owner. Everything below applies whether or not you ever commission one.

What this rule checks

This rule flags each Airflow DAG, Dagster job or Prefect flow file that declares no owner. An owner of airflow, admin, default, todo or a similar placeholder counts as none, because Airflow's own scaffolding writes owner="airflow".

Why it matters

An unowned job is fine until it breaks. Then somebody has to decide whose problem it is, during the incident rather than before it, which is the expensive time to find out.

How to fix it

Name an owner on every scheduled job. Set default_args.owner to a team or a rota, not one person who can be on holiday. For Dagster, set owners on the asset or job.

Before:

default_args = {
    "owner": "airflow",
}

After:

default_args = {
    "owner": "finance-data",
}

When it is fine to leave

Ownership tracked outside the DAG file, in a service catalogue or a CODEOWNERS entry, is ownership in practice. Tell us where it lives, and the finding comes out of your report.

What we need to check it

The DAG files you name to us one at a time. We never search a repository for them. We read the owner only when it is written as a literal; a value imported from a shared module reads as no owner.