)]}'
{
  "commit": "62cd45990b6500849ecce511043ba6db23550de8",
  "tree": "78d57d0018a300fb587e37ece2b62c16ae857cfb",
  "parents": [
    "45468cacf4b87eeebc46efe99d534c35494ce51e"
  ],
  "author": {
    "name": "Ephraim Anierobi",
    "email": "splendidzigy24@gmail.com",
    "time": "Fri Oct 16 14:35:52 2026 +0100"
  },
  "committer": {
    "name": "Ephraim Anierobi",
    "email": "splendidzigy24@gmail.com",
    "time": "Fri Oct 16 17:53:21 2026 +0100"
  },
  "message": "Align API-mode Dag publication with DB-mode cleanup\n\nA complete inventory left Dags upgraded from Airflow 2 active after\ntheir files were gone, because rows never reparsed since the upgrade\nwere skipped, while DB mode deactivates them on the next refresh.\nPublication receipts also outlived their Job: they are only read while\nthe Job is open, yet stayed until db clean purged it, growing with\nevery processor restart.\n\nProcessor clients need the documented 403 reasons to tell a closed Job\nfrom a retryable failure, and listener authors need to know that\nimport-error filenames are bundle-relative when results arrive through\nthe API server. Combining the unreleased migrations keeps the 3.5.0\nchain shorter without changing the head revision later layers build on.\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "cf653f2fbe5e7bc0205ee91fc7c5c6882358490e",
      "old_mode": 33188,
      "old_path": "airflow-core/docs/administration-and-deployment/listeners.rst",
      "new_id": "ba826edccb47c62ca15dbf682abc22cd6d43612c",
      "new_mode": 33188,
      "new_path": "airflow-core/docs/administration-and-deployment/listeners.rst"
    },
    {
      "type": "modify",
      "old_id": "ec17da204975e68d768250c0e80aa755cd4037ab",
      "old_mode": 33188,
      "old_path": "airflow-core/docs/migrations-ref.rst",
      "new_id": "370c8dda48a215a7183cd857ae10f2c04b1cc8c8",
      "new_mode": 33188,
      "new_path": "airflow-core/docs/migrations-ref.rst"
    },
    {
      "type": "modify",
      "old_id": "f799f777a7c20d9faa8cd755aa21ea4d7fb64d40",
      "old_mode": 33188,
      "old_path": "airflow-core/src/airflow/api_fastapi/execution_api/routes/dag_parsing.py",
      "new_id": "7337a3e5b857a63eee176cabaf5350dcf4b8837d",
      "new_mode": 33188,
      "new_path": "airflow-core/src/airflow/api_fastapi/execution_api/routes/dag_parsing.py"
    },
    {
      "type": "modify",
      "old_id": "f0b5f4f82eecf6e48feefeeb52f73d388ee421e1",
      "old_mode": 33188,
      "old_path": "airflow-core/src/airflow/api_fastapi/execution_api/routes/jobs.py",
      "new_id": "f0d81092de9f6f4dc3122f45f2d6bc45d64f100f",
      "new_mode": 33188,
      "new_path": "airflow-core/src/airflow/api_fastapi/execution_api/routes/jobs.py"
    },
    {
      "type": "modify",
      "old_id": "f10f75f83c998bb3dfbd1923371e5004011bde71",
      "old_mode": 33188,
      "old_path": "airflow-core/src/airflow/dag_processing/collection.py",
      "new_id": "ef460e60b0058faac7160b35af2843745bc059f0",
      "new_mode": 33188,
      "new_path": "airflow-core/src/airflow/dag_processing/collection.py"
    },
    {
      "type": "modify",
      "old_id": "048fb38ffa109c17559d4a0f540456e5d25fc364",
      "old_mode": 33188,
      "old_path": "airflow-core/src/airflow/listeners/spec/importerrors.py",
      "new_id": "76716d94de275061d088d1a13bab8816d20c8417",
      "new_mode": 33188,
      "new_path": "airflow-core/src/airflow/listeners/spec/importerrors.py"
    },
    {
      "type": "delete",
      "old_id": "39df787eb794a16c1250cfb25ad5672ada1b04c0",
      "old_mode": 33188,
      "old_path": "airflow-core/src/airflow/migrations/versions/0148_3_5_0_add_dag_parse_checkpoint.py",
      "new_id": "0000000000000000000000000000000000000000",
      "new_mode": 0,
      "new_path": "/dev/null"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "f93751fb137023cd279170b025bd0b363fd0f8dd",
      "new_mode": 33188,
      "new_path": "airflow-core/src/airflow/migrations/versions/0148_3_5_0_add_dag_processor_publication_state.py"
    },
    {
      "type": "delete",
      "old_id": "e6410ebcd16105266fac465f684994c696973b06",
      "old_mode": 33188,
      "old_path": "airflow-core/src/airflow/migrations/versions/0149_3_5_0_add_processor_reconciliation.py",
      "new_id": "0000000000000000000000000000000000000000",
      "new_mode": 0,
      "new_path": "/dev/null"
    },
    {
      "type": "modify",
      "old_id": "e2e26ffadd94e191b7b9ce47c8746520d0dac814",
      "old_mode": 33188,
      "old_path": "airflow-core/src/airflow/models/dag.py",
      "new_id": "1bfff71434d70322732ce1eaaa1fb906fed67150",
      "new_mode": 33188,
      "new_path": "airflow-core/src/airflow/models/dag.py"
    },
    {
      "type": "modify",
      "old_id": "6ede3b1f409245b6467e1e5414d385c5e95d2cd0",
      "old_mode": 33188,
      "old_path": "airflow-core/src/airflow/models/dag_parse_checkpoint.py",
      "new_id": "2d50e90f629301fbaebe83ca54d104e3170bf34c",
      "new_mode": 33188,
      "new_path": "airflow-core/src/airflow/models/dag_parse_checkpoint.py"
    },
    {
      "type": "modify",
      "old_id": "9cb187c5e2e89eef5e15610b5f6c4e3b1b1d2b71",
      "old_mode": 33188,
      "old_path": "airflow-core/tests/unit/api_fastapi/execution_api/versions/head/test_dag_parsing.py",
      "new_id": "534b805be9925206b1855485bd6c3c1515dc2a3e",
      "new_mode": 33188,
      "new_path": "airflow-core/tests/unit/api_fastapi/execution_api/versions/head/test_dag_parsing.py"
    },
    {
      "type": "modify",
      "old_id": "5bd477dd05e70aefb03edab899eef39f1f8dc701",
      "old_mode": 33188,
      "old_path": "airflow-core/tests/unit/api_fastapi/execution_api/versions/head/test_jobs.py",
      "new_id": "41b34449027d9ff30cfd515bc386f00c387bda8a",
      "new_mode": 33188,
      "new_path": "airflow-core/tests/unit/api_fastapi/execution_api/versions/head/test_jobs.py"
    }
  ]
}
