From a3d1f9434d9f78b9f9498d9a6916de9121ae0959 Mon Sep 17 00:00:00 2001
From: Jarek Potiuk <jarek@potiuk.com>
Date: Mon, 8 Jun 2026 11:25:16 +0200
Subject: [PATCH 1/3] Add 'classify-provider-changes' breeze command for
 deterministic change classification

Rules-first classifier (doc-only/test-only/Bump decided; Fix/Add etc. -> needs_llm) that replaces the random --non-interactive discovery the prepare-providers-documentation skill abused. Outputs JSON so the skill takes deterministic results as-is and only LLM-classifies needs_llm commits.
---
 .../prepare-providers-documentation/SKILL.md  | 111 ++++++----
 .../doc/images/output_release-management.svg  |  96 +++++----
 .../doc/images/output_release-management.txt  |   2 +-
 ...e-management_classify-provider-changes.svg | 196 ++++++++++++++++++
 ...e-management_classify-provider-changes.txt |   1 +
 .../commands/release_management_commands.py   | 109 ++++++++++
 .../release_management_commands_config.py     |  18 ++
 .../provider_documentation.py                 |  44 ++++
 .../tests/test_provider_documentation.py      |  42 ++++
 9 files changed, 536 insertions(+), 83 deletions(-)
 create mode 100644 dev/breeze/doc/images/output_release-management_classify-provider-changes.svg
 create mode 100644 dev/breeze/doc/images/output_release-management_classify-provider-changes.txt

diff --git a/.agents/skills/prepare-providers-documentation/SKILL.md b/.agents/skills/prepare-providers-documentation/SKILL.md
index 688160d3a2a38..fb5602f894a62 100644
--- a/.agents/skills/prepare-providers-documentation/SKILL.md
+++ b/.agents/skills/prepare-providers-documentation/SKILL.md
@@ -108,49 +108,73 @@ date — running breeze the first time below will recreate and fetch it.
 The skill runs in five phases. Mark tasks with `TaskCreate` for each phase
 and tick them off as you go — the release manager wants to see progress.
 
-### Phase 1 — Discover providers with pending changes
+### Phase 1 — Discover and pre-classify pending changes (deterministic)
 
-For each provider, the source of truth for "what changed since last release"
-is the same git query breeze uses internally: commits between the latest
-release tag for that provider (`providers-<id>/<version>`) and
-`apache-https-for-providers/<base-branch>`, restricted to the provider's own
-folders.
+The source of truth for "what changed since last release" is the same git
+query breeze uses internally: commits between the latest release tag for that
+provider (`providers-<id>/<version>`) and `apache-https-for-providers/<base-branch>`,
+restricted to the provider's own folders.
 
-Discover in batch by running:
+Run the **deterministic classifier** — it discovers every provider with pending
+changes **and** pre-classifies each commit with hard-coded, high-confidence
+rules, flagging only the genuinely ambiguous ones as `needs_llm`. No random
+answers, nothing to discard:
 
 ```bash
-breeze release-management prepare-provider-documentation \
-    --non-interactive \
-    --skip-changelog \
-    --skip-readme \
-    --release-date "$RELEASE_DATE"
+breeze release-management classify-provider-changes \
+    --base-branch main \
+    --output-file /tmp/provider-changes.json
+# scope to a subset by appending provider ids, e.g. ... amazon cncf.kubernetes
 ```
 
-> [!WARNING]
-> Do **not** commit the result of that command. `--non-interactive` answers
-> the classification prompts with random values — Claude will overwrite the
-> changelog and version bumps in Phase 4 with real classifications. The only
-> reason to run breeze first is to refresh the apache remote, regenerate
-> build files, and confirm which providers have pending changes (read the
-> "Summary of prepared documentation" block at the end).
+The JSON it writes:
+
+```json
+{
+  "base_branch": "main",
+  "providers": {
+    "amazon": {
+      "current_version": "9.29.0",
+      "commits": [
+        {"hash": "c2dbd7a75a", "pr": "67987", "subject": "Fix IDC domain S3 path resolution",
+         "classification": "needs_llm", "reason": "no high-confidence deterministic rule matched"},
+        {"hash": "abc123", "pr": "68087", "subject": "Bump the edge-ui-package-updates group ...",
+         "classification": "misc", "reason": "dependency bump (subject starts with 'Bump')"}
+      ]
+    }
+  }
+}
+```
 
-Record from the summary:
+How to read it:
 
-- **Success** — providers that had real changes (these need classification).
-- **Docs only** — providers with only documentation changes (already handled
-  by breeze; skip in Phase 2).
-- **Skipped on no changes** — nothing to do.
+- Providers under `providers` have pending changes (these need attention).
+- `classification ∈ {documentation, skip, misc}` are **decided by rules — take
+  them as-is**, no sub-agent needed (doc-only → `documentation`, test/example
+  only → `skip`, `Bump …` dependency bump → `misc`).
+- `classification == needs_llm` → **Phase 3 decides** with a sub-agent. These are
+  the only commits that need LLM analysis.
+- A provider with a `note`/`error` (e.g. a brand-new provider with no prior
+  release tag) → treat as an **initial release** and classify by hand.
 
-Reset the per-provider files that breeze touched but you'll be rewriting
-yourself before continuing:
+> [!NOTE]
+> The classifier is deliberately conservative: `Fix …`/`Add …` subjects are
+> **not** auto-classified (an "Add …" can be a breaking change), so they come
+> back as `needs_llm`. The rules live in `classify_change_deterministically`
+> (`dev/breeze/src/airflow_breeze/prepare_providers/provider_documentation.py`).
+
+Then regenerate the auto-generated build files (this does **no** classification,
+so nothing random is produced):
 
 ```bash
+breeze release-management prepare-provider-documentation \
+    --reapply-templates-only --release-date "$RELEASE_DATE"
 git checkout -- $(git diff --name-only -- '**/provider.yaml' '**/changelog.rst')
 ```
 
 This leaves the regenerated build files (`__init__.py`, `README.rst`,
-`pyproject.toml`, `conf.py`, `get_provider_info.py`, `index.rst`) in place
-and discards only the stuff Claude is about to rewrite.
+`pyproject.toml`, `conf.py`, `get_provider_info.py`, `index.rst`) in place and
+discards only the changelog/version files Claude is about to rewrite itself.
 
 ### Phase 2 — Per-provider commit list
 
@@ -205,32 +229,35 @@ For each commit, classify it into one of:
 | `s`  | Skip (test/CI/example only — no user impact)   | none           |
 | `v`  | Min Airflow version bump                       | minor (treated as misc + bump) |
 
-#### Auto-classify cheap cases first
+#### Take the deterministic classifications from Phase 1
 
-Before spawning a sub-agent, apply the same fast heuristics breeze uses
-(see `classify_provider_pr_files` in
-`dev/breeze/src/airflow_breeze/prepare_providers/provider_documentation.py`):
+`classify-provider-changes` (Phase 1) already classified every commit it could
+with hard-coded rules. Read `/tmp/provider-changes.json` and:
 
-- All changed files match `providers/<id>/docs/**/*.rst` → **`d`** (docs).
-- All changed files match `providers/<id>/tests/**` or
-  `providers/<id>/src/airflow/providers/<id>/example_dags/**` → **`s`** (skip).
-- Subject contains `Bump minimum Airflow version` and only `__init__.py` /
-  `provider.yaml` changed → **`v`**.
+- Use any commit whose `classification` is `documentation`, `skip`, or `misc`
+  **as-is** — these map to `d`, `s`, `m` respectively; no sub-agent needed.
+- Only commits with `classification: needs_llm` go to a sub-agent (below).
 
-Note these classifications and move on — no sub-agent needed.
+The deterministic rules (doc-only → `d`, test/example-only → `s`, `Bump …`
+dependency bump → `m`) are exactly the cheap cases — now computed once by
+breeze (`classify_change_deterministically`) instead of re-derived here. If you
+ever need the min-Airflow-bump case (`v`), that one is still a `needs_llm`
+judgement: a sub-agent should flag it when a PR bumps the provider's minimum
+Airflow version.
 
-#### Classify the rest — batched per provider, not one agent per PR
+#### Classify the `needs_llm` commits — batched per provider, not one agent per PR
 
+Only the commits the classifier returned as `needs_llm` still need a sub-agent.
 Classification is the token-heavy part of this skill, so spend sub-agents
 sparingly. Do **not** spawn one sub-agent per PR — that is one agent per
 commit and balloons to hundreds of agents on a normal release wave. Pick the
 smallest fan-out that fits the volume:
 
-- **Few commits remain (≲ 15 across all providers) → classify inline.** Read
-  each PR and its provider-scoped diff yourself, in this context. Spawn no
+- **Few `needs_llm` commits remain (≲ 15 across all providers) → classify inline.**
+  Read each PR and its provider-scoped diff yourself, in this context. Spawn no
   sub-agents at all.
 - **More than that → one sub-agent per provider.** Each agent classifies that
-  provider's *entire* remaining commit list in a single pass. This is the
+  provider's *entire* remaining `needs_llm` list in a single pass. This is the
   natural unit: multi-provider PRs are classified independently per provider
   anyway (see Cross-Cutting Rules), and one provider-scoped agent amortizes
   the breaking-change checklist across all of that provider's commits instead
diff --git a/dev/breeze/doc/images/output_release-management.svg b/dev/breeze/doc/images/output_release-management.svg
index 2613a5159f574..309ebac51d6d4 100644
--- a/dev/breeze/doc/images/output_release-management.svg
+++ b/dev/breeze/doc/images/output_release-management.svg
@@ -1,4 +1,4 @@
-<svg class="rich-terminal" viewBox="0 0 1482 1562.8" xmlns="http://www.w3.org/2000/svg">
+<svg class="rich-terminal" viewBox="0 0 1482 1660.3999999999999" xmlns="http://www.w3.org/2000/svg">
     <!-- Generated with Rich https://www.textualize.io -->
     <style>
 
@@ -42,7 +42,7 @@
 
     <defs>
     <clipPath id="breeze-release-management-clip-terminal">
-      <rect x="0" y="0" width="1463.0" height="1511.8" />
+      <rect x="0" y="0" width="1463.0" height="1609.3999999999999" />
     </clipPath>
     <clipPath id="breeze-release-management-line-0">
     <rect x="0" y="1.5" width="1464" height="24.65"/>
@@ -227,9 +227,21 @@
 <clipPath id="breeze-release-management-line-60">
     <rect x="0" y="1465.5" width="1464" height="24.65"/>
             </clipPath>
+<clipPath id="breeze-release-management-line-61">
+    <rect x="0" y="1489.9" width="1464" height="24.65"/>
+            </clipPath>
+<clipPath id="breeze-release-management-line-62">
+    <rect x="0" y="1514.3" width="1464" height="24.65"/>
+            </clipPath>
+<clipPath id="breeze-release-management-line-63">
+    <rect x="0" y="1538.7" width="1464" height="24.65"/>
+            </clipPath>
+<clipPath id="breeze-release-management-line-64">
+    <rect x="0" y="1563.1" width="1464" height="24.65"/>
+            </clipPath>
     </defs>
 
-    <rect fill="#292929" stroke="rgba(255,255,255,0.35)" stroke-width="1" x="1" y="1" width="1480" height="1560.8" rx="8"/><text class="breeze-release-management-title" fill="#c5c8c6" text-anchor="middle" x="740" y="27">Command:&#160;release-management</text>
+    <rect fill="#292929" stroke="rgba(255,255,255,0.35)" stroke-width="1" x="1" y="1" width="1480" height="1658.4" rx="8"/><text class="breeze-release-management-title" fill="#c5c8c6" text-anchor="middle" x="740" y="27">Command:&#160;release-management</text>
             <g transform="translate(26,22)">
             <circle cx="0" cy="0" r="7" fill="#ff5f57"/>
             <circle cx="22" cy="0" r="7" fill="#febc2e"/>
@@ -263,44 +275,48 @@
 </text><text class="breeze-release-management-r5" x="0" y="532.4" textLength="1464" clip-path="url(#breeze-release-management-line-21)">╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯</text><text class="breeze-release-management-r1" x="1464" y="532.4" textLength="12.2" clip-path="url(#breeze-release-management-line-21)">
 </text><text class="breeze-release-management-r5" x="0" y="556.8" textLength="24.4" clip-path="url(#breeze-release-management-line-22)">╭─</text><text class="breeze-release-management-r5" x="24.4" y="556.8" textLength="341.6" clip-path="url(#breeze-release-management-line-22)">&#160;Providers&#160;release&#160;commands&#160;</text><text class="breeze-release-management-r5" x="366" y="556.8" textLength="1073.6" clip-path="url(#breeze-release-management-line-22)">────────────────────────────────────────────────────────────────────────────────────────</text><text class="breeze-release-management-r5" x="1439.6" y="556.8" textLength="24.4" clip-path="url(#breeze-release-management-line-22)">─╮</text><text class="breeze-release-management-r1" x="1464" y="556.8" textLength="12.2" clip-path="url(#breeze-release-management-line-22)">
 </text><text class="breeze-release-management-r5" x="0" y="581.2" textLength="12.2" clip-path="url(#breeze-release-management-line-23)">│</text><text class="breeze-release-management-r4" x="24.4" y="581.2" textLength="390.4" clip-path="url(#breeze-release-management-line-23)">prepare-provider-documentation&#160;&#160;</text><text class="breeze-release-management-r1" x="439.2" y="581.2" textLength="1000.4" clip-path="url(#breeze-release-management-line-23)">Prepare&#160;CHANGELOG,&#160;README&#160;and&#160;COMMITS&#160;information&#160;for&#160;providers.&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</text><text class="breeze-release-management-r5" x="1451.8" y="581.2" textLength="12.2" clip-path="url(#breeze-release-management-line-23)">│</text><text class="breeze-release-management-r1" x="1464" y="581.2" textLength="12.2" clip-path="url(#breeze-release-management-line-23)">
-</text><text class="breeze-release-management-r5" x="0" y="605.6" textLength="12.2" clip-path="url(#breeze-release-management-line-24)">│</text><text class="breeze-release-management-r4" x="24.4" y="605.6" textLength="390.4" clip-path="url(#breeze-release-management-line-24)">update-providers-next-version&#160;&#160;&#160;</text><text class="breeze-release-management-r1" x="439.2" y="605.6" textLength="1000.4" clip-path="url(#breeze-release-management-line-24)">Update&#160;provider&#160;versions&#160;marked&#160;with&#160;&#x27;#&#160;use&#160;next&#160;version&#x27;&#160;comment.&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</text><text class="breeze-release-management-r5" x="1451.8" y="605.6" textLength="12.2" clip-path="url(#breeze-release-management-line-24)">│</text><text class="breeze-release-management-r1" x="1464" y="605.6" textLength="12.2" clip-path="url(#breeze-release-management-line-24)">
-</text><text class="breeze-release-management-r5" x="0" y="630" textLength="12.2" clip-path="url(#breeze-release-management-line-25)">│</text><text class="breeze-release-management-r4" x="24.4" y="630" textLength="390.4" clip-path="url(#breeze-release-management-line-25)">prepare-provider-distributions&#160;&#160;</text><text class="breeze-release-management-r1" x="439.2" y="630" textLength="1000.4" clip-path="url(#breeze-release-management-line-25)">Prepare&#160;sdist/whl&#160;distributions&#160;of&#160;Airflow&#160;Providers.&#160;Each&#160;provider&#160;directory&#160;is&#160;&#160;</text><text class="breeze-release-management-r5" x="1451.8" y="630" textLength="12.2" clip-path="url(#breeze-release-management-line-25)">│</text><text class="breeze-release-management-r1" x="1464" y="630" textLength="12.2" clip-path="url(#breeze-release-management-line-25)">
-</text><text class="breeze-release-management-r5" x="0" y="654.4" textLength="12.2" clip-path="url(#breeze-release-management-line-26)">│</text><text class="breeze-release-management-r1" x="439.2" y="654.4" textLength="268.4" clip-path="url(#breeze-release-management-line-26)">wiped&#160;with&#160;`git&#160;clean&#160;</text><text class="breeze-release-management-r6" x="707.6" y="654.4" textLength="48.8" clip-path="url(#breeze-release-management-line-26)">-fdx</text><text class="breeze-release-management-r1" x="756.4" y="654.4" textLength="683.2" clip-path="url(#breeze-release-management-line-26)">`&#160;(preserving&#160;.venv,&#160;.idea,&#160;.vscode)&#160;before&#160;build&#160;to&#160;&#160;&#160;&#160;</text><text class="breeze-release-management-r5" x="1451.8" y="654.4" textLength="12.2" clip-path="url(#breeze-release-management-line-26)">│</text><text class="breeze-release-management-r1" x="1464" y="654.4" textLength="12.2" clip-path="url(#breeze-release-management-line-26)">
-</text><text class="breeze-release-management-r5" x="0" y="678.8" textLength="12.2" clip-path="url(#breeze-release-management-line-27)">│</text><text class="breeze-release-management-r1" x="439.2" y="678.8" textLength="1000.4" clip-path="url(#breeze-release-management-line-27)">keep&#160;in-tree&#160;generated&#160;files&#160;out&#160;of&#160;the&#160;artifact.&#160;See&#160;dev/breeze&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</text><text class="breeze-release-management-r5" x="1451.8" y="678.8" textLength="12.2" clip-path="url(#breeze-release-management-line-27)">│</text><text class="breeze-release-management-r1" x="1464" y="678.8" textLength="12.2" clip-path="url(#breeze-release-management-line-27)">
-</text><text class="breeze-release-management-r5" x="0" y="703.2" textLength="12.2" clip-path="url(#breeze-release-management-line-28)">│</text><text class="breeze-release-management-r1" x="439.2" y="703.2" textLength="1000.4" clip-path="url(#breeze-release-management-line-28)">release-management&#160;docs.&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</text><text class="breeze-release-management-r5" x="1451.8" y="703.2" textLength="12.2" clip-path="url(#breeze-release-management-line-28)">│</text><text class="breeze-release-management-r1" x="1464" y="703.2" textLength="12.2" clip-path="url(#breeze-release-management-line-28)">
-</text><text class="breeze-release-management-r5" x="0" y="727.6" textLength="12.2" clip-path="url(#breeze-release-management-line-29)">│</text><text class="breeze-release-management-r4" x="24.4" y="727.6" textLength="390.4" clip-path="url(#breeze-release-management-line-29)">install-provider-distributions&#160;&#160;</text><text class="breeze-release-management-r1" x="439.2" y="727.6" textLength="1000.4" clip-path="url(#breeze-release-management-line-29)">Installs&#160;provider&#160;distributions&#160;that&#160;can&#160;be&#160;found&#160;in&#160;dist.&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</text><text class="breeze-release-management-r5" x="1451.8" y="727.6" textLength="12.2" clip-path="url(#breeze-release-management-line-29)">│</text><text class="breeze-release-management-r1" x="1464" y="727.6" textLength="12.2" clip-path="url(#breeze-release-management-line-29)">
-</text><text class="breeze-release-management-r5" x="0" y="752" textLength="12.2" clip-path="url(#breeze-release-management-line-30)">│</text><text class="breeze-release-management-r4" x="24.4" y="752" textLength="390.4" clip-path="url(#breeze-release-management-line-30)">verify-provider-distributions&#160;&#160;&#160;</text><text class="breeze-release-management-r1" x="439.2" y="752" textLength="1000.4" clip-path="url(#breeze-release-management-line-30)">Verifies&#160;if&#160;all&#160;provider&#160;code&#160;is&#160;following&#160;expectations&#160;for&#160;providers.&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</text><text class="breeze-release-management-r5" x="1451.8" y="752" textLength="12.2" clip-path="url(#breeze-release-management-line-30)">│</text><text class="breeze-release-management-r1" x="1464" y="752" textLength="12.2" clip-path="url(#breeze-release-management-line-30)">
-</text><text class="breeze-release-management-r5" x="0" y="776.4" textLength="12.2" clip-path="url(#breeze-release-management-line-31)">│</text><text class="breeze-release-management-r4" x="24.4" y="776.4" textLength="390.4" clip-path="url(#breeze-release-management-line-31)">generate-providers-metadata&#160;&#160;&#160;&#160;&#160;</text><text class="breeze-release-management-r1" x="439.2" y="776.4" textLength="1000.4" clip-path="url(#breeze-release-management-line-31)">Generates&#160;metadata&#160;for&#160;providers.&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</text><text class="breeze-release-management-r5" x="1451.8" y="776.4" textLength="12.2" clip-path="url(#breeze-release-management-line-31)">│</text><text class="breeze-release-management-r1" x="1464" y="776.4" textLength="12.2" clip-path="url(#breeze-release-management-line-31)">
-</text><text class="breeze-release-management-r5" x="0" y="800.8" textLength="12.2" clip-path="url(#breeze-release-management-line-32)">│</text><text class="breeze-release-management-r4" x="24.4" y="800.8" textLength="390.4" clip-path="url(#breeze-release-management-line-32)">generate-issue-content-providers</text><text class="breeze-release-management-r1" x="439.2" y="800.8" textLength="1000.4" clip-path="url(#breeze-release-management-line-32)">Generates&#160;content&#160;for&#160;issue&#160;to&#160;test&#160;the&#160;release.&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</text><text class="breeze-release-management-r5" x="1451.8" y="800.8" textLength="12.2" clip-path="url(#breeze-release-management-line-32)">│</text><text class="breeze-release-management-r1" x="1464" y="800.8" textLength="12.2" clip-path="url(#breeze-release-management-line-32)">
-</text><text class="breeze-release-management-r5" x="0" y="825.2" textLength="12.2" clip-path="url(#breeze-release-management-line-33)">│</text><text class="breeze-release-management-r4" x="24.4" y="825.2" textLength="390.4" clip-path="url(#breeze-release-management-line-33)">clean-old-provider-artifacts&#160;&#160;&#160;&#160;</text><text class="breeze-release-management-r1" x="439.2" y="825.2" textLength="1000.4" clip-path="url(#breeze-release-management-line-33)">Cleans&#160;the&#160;old&#160;provider&#160;artifacts&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</text><text class="breeze-release-management-r5" x="1451.8" y="825.2" textLength="12.2" clip-path="url(#breeze-release-management-line-33)">│</text><text class="breeze-release-management-r1" x="1464" y="825.2" textLength="12.2" clip-path="url(#breeze-release-management-line-33)">
-</text><text class="breeze-release-management-r5" x="0" y="849.6" textLength="12.2" clip-path="url(#breeze-release-management-line-34)">│</text><text class="breeze-release-management-r4" x="24.4" y="849.6" textLength="390.4" clip-path="url(#breeze-release-management-line-34)">tag-providers&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</text><text class="breeze-release-management-r1" x="439.2" y="849.6" textLength="1000.4" clip-path="url(#breeze-release-management-line-34)">Generates&#160;tags&#160;for&#160;airflow&#160;provider&#160;releases.&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</text><text class="breeze-release-management-r5" x="1451.8" y="849.6" textLength="12.2" clip-path="url(#breeze-release-management-line-34)">│</text><text class="breeze-release-management-r1" x="1464" y="849.6" textLength="12.2" clip-path="url(#breeze-release-management-line-34)">
-</text><text class="breeze-release-management-r5" x="0" y="874" textLength="1464" clip-path="url(#breeze-release-management-line-35)">╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯</text><text class="breeze-release-management-r1" x="1464" y="874" textLength="12.2" clip-path="url(#breeze-release-management-line-35)">
-</text><text class="breeze-release-management-r5" x="0" y="898.4" textLength="24.4" clip-path="url(#breeze-release-management-line-36)">╭─</text><text class="breeze-release-management-r5" x="24.4" y="898.4" textLength="427" clip-path="url(#breeze-release-management-line-36)">&#160;Airflow&#160;Task&#160;SDK&#160;release&#160;commands&#160;</text><text class="breeze-release-management-r5" x="451.4" y="898.4" textLength="988.2" clip-path="url(#breeze-release-management-line-36)">─────────────────────────────────────────────────────────────────────────────────</text><text class="breeze-release-management-r5" x="1439.6" y="898.4" textLength="24.4" clip-path="url(#breeze-release-management-line-36)">─╮</text><text class="breeze-release-management-r1" x="1464" y="898.4" textLength="12.2" clip-path="url(#breeze-release-management-line-36)">
-</text><text class="breeze-release-management-r5" x="0" y="922.8" textLength="12.2" clip-path="url(#breeze-release-management-line-37)">│</text><text class="breeze-release-management-r4" x="24.4" y="922.8" textLength="512.4" clip-path="url(#breeze-release-management-line-37)">prepare-task-sdk-distributions&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</text><text class="breeze-release-management-r1" x="561.2" y="922.8" textLength="878.4" clip-path="url(#breeze-release-management-line-37)">Prepare&#160;sdist/whl&#160;distributions&#160;of&#160;Airflow&#160;Task&#160;SDK.&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</text><text class="breeze-release-management-r5" x="1451.8" y="922.8" textLength="12.2" clip-path="url(#breeze-release-management-line-37)">│</text><text class="breeze-release-management-r1" x="1464" y="922.8" textLength="12.2" clip-path="url(#breeze-release-management-line-37)">
-</text><text class="breeze-release-management-r5" x="0" y="947.2" textLength="1464" clip-path="url(#breeze-release-management-line-38)">╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯</text><text class="breeze-release-management-r1" x="1464" y="947.2" textLength="12.2" clip-path="url(#breeze-release-management-line-38)">
-</text><text class="breeze-release-management-r5" x="0" y="971.6" textLength="24.4" clip-path="url(#breeze-release-management-line-39)">╭─</text><text class="breeze-release-management-r5" x="24.4" y="971.6" textLength="353.8" clip-path="url(#breeze-release-management-line-39)">&#160;airflowctl&#160;release&#160;commands&#160;</text><text class="breeze-release-management-r5" x="378.2" y="971.6" textLength="1061.4" clip-path="url(#breeze-release-management-line-39)">───────────────────────────────────────────────────────────────────────────────────────</text><text class="breeze-release-management-r5" x="1439.6" y="971.6" textLength="24.4" clip-path="url(#breeze-release-management-line-39)">─╮</text><text class="breeze-release-management-r1" x="1464" y="971.6" textLength="12.2" clip-path="url(#breeze-release-management-line-39)">
-</text><text class="breeze-release-management-r5" x="0" y="996" textLength="12.2" clip-path="url(#breeze-release-management-line-40)">│</text><text class="breeze-release-management-r4" x="24.4" y="996" textLength="414.8" clip-path="url(#breeze-release-management-line-40)">prepare-airflow-ctl-distributions&#160;</text><text class="breeze-release-management-r1" x="463.6" y="996" textLength="976" clip-path="url(#breeze-release-management-line-40)">Prepare&#160;sdist/whl&#160;distributions&#160;of&#160;airflowctl.&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</text><text class="breeze-release-management-r5" x="1451.8" y="996" textLength="12.2" clip-path="url(#breeze-release-management-line-40)">│</text><text class="breeze-release-management-r1" x="1464" y="996" textLength="12.2" clip-path="url(#breeze-release-management-line-40)">
-</text><text class="breeze-release-management-r5" x="0" y="1020.4" textLength="12.2" clip-path="url(#breeze-release-management-line-41)">│</text><text class="breeze-release-management-r4" x="24.4" y="1020.4" textLength="414.8" clip-path="url(#breeze-release-management-line-41)">generate-issue-content-airflow-ctl</text><text class="breeze-release-management-r1" x="463.6" y="1020.4" textLength="976" clip-path="url(#breeze-release-management-line-41)">Generates&#160;content&#160;for&#160;issue&#160;to&#160;test&#160;airflow-ctl&#160;release.&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</text><text class="breeze-release-management-r5" x="1451.8" y="1020.4" textLength="12.2" clip-path="url(#breeze-release-management-line-41)">│</text><text class="breeze-release-management-r1" x="1464" y="1020.4" textLength="12.2" clip-path="url(#breeze-release-management-line-41)">
-</text><text class="breeze-release-management-r5" x="0" y="1044.8" textLength="12.2" clip-path="url(#breeze-release-management-line-42)">│</text><text class="breeze-release-management-r4" x="24.4" y="1044.8" textLength="414.8" clip-path="url(#breeze-release-management-line-42)">generate-airflowctl-changelog&#160;&#160;&#160;&#160;&#160;</text><text class="breeze-release-management-r1" x="463.6" y="1044.8" textLength="976" clip-path="url(#breeze-release-management-line-42)">Generates&#160;RST&#160;changelog&#160;for&#160;the&#160;airflowctl&#160;release&#160;and&#160;prepends&#160;it&#160;to&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</text><text class="breeze-release-management-r5" x="1451.8" y="1044.8" textLength="12.2" clip-path="url(#breeze-release-management-line-42)">│</text><text class="breeze-release-management-r1" x="1464" y="1044.8" textLength="12.2" clip-path="url(#breeze-release-management-line-42)">
-</text><text class="breeze-release-management-r5" x="0" y="1069.2" textLength="12.2" clip-path="url(#breeze-release-management-line-43)">│</text><text class="breeze-release-management-r1" x="463.6" y="1069.2" textLength="976" clip-path="url(#breeze-release-management-line-43)">RELEASE_NOTES.rst.&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</text><text class="breeze-release-management-r5" x="1451.8" y="1069.2" textLength="12.2" clip-path="url(#breeze-release-management-line-43)">│</text><text class="breeze-release-management-r1" x="1464" y="1069.2" textLength="12.2" clip-path="url(#breeze-release-management-line-43)">
-</text><text class="breeze-release-management-r5" x="0" y="1093.6" textLength="1464" clip-path="url(#breeze-release-management-line-44)">╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯</text><text class="breeze-release-management-r1" x="1464" y="1093.6" textLength="12.2" clip-path="url(#breeze-release-management-line-44)">
-</text><text class="breeze-release-management-r5" x="0" y="1118" textLength="24.4" clip-path="url(#breeze-release-management-line-45)">╭─</text><text class="breeze-release-management-r5" x="24.4" y="1118" textLength="463.6" clip-path="url(#breeze-release-management-line-45)">&#160;Apache&#160;Airflow&#160;Mypy&#160;release&#160;commands&#160;</text><text class="breeze-release-management-r5" x="488" y="1118" textLength="951.6" clip-path="url(#breeze-release-management-line-45)">──────────────────────────────────────────────────────────────────────────────</text><text class="breeze-release-management-r5" x="1439.6" y="1118" textLength="24.4" clip-path="url(#breeze-release-management-line-45)">─╮</text><text class="breeze-release-management-r1" x="1464" y="1118" textLength="12.2" clip-path="url(#breeze-release-management-line-45)">
-</text><text class="breeze-release-management-r5" x="0" y="1142.4" textLength="12.2" clip-path="url(#breeze-release-management-line-46)">│</text><text class="breeze-release-management-r4" x="24.4" y="1142.4" textLength="451.4" clip-path="url(#breeze-release-management-line-46)">prepare-mypy-distributions&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</text><text class="breeze-release-management-r1" x="500.2" y="1142.4" textLength="939.4" clip-path="url(#breeze-release-management-line-46)">Prepare&#160;sdist/whl&#160;distributions&#160;of&#160;Apache&#160;Airflow&#160;Mypy.&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</text><text class="breeze-release-management-r5" x="1451.8" y="1142.4" textLength="12.2" clip-path="url(#breeze-release-management-line-46)">│</text><text class="breeze-release-management-r1" x="1464" y="1142.4" textLength="12.2" clip-path="url(#breeze-release-management-line-46)">
-</text><text class="breeze-release-management-r5" x="0" y="1166.8" textLength="1464" clip-path="url(#breeze-release-management-line-47)">╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯</text><text class="breeze-release-management-r1" x="1464" y="1166.8" textLength="12.2" clip-path="url(#breeze-release-management-line-47)">
-</text><text class="breeze-release-management-r5" x="0" y="1191.2" textLength="24.4" clip-path="url(#breeze-release-management-line-48)">╭─</text><text class="breeze-release-management-r5" x="24.4" y="1191.2" textLength="292.8" clip-path="url(#breeze-release-management-line-48)">&#160;Other&#160;release&#160;commands&#160;</text><text class="breeze-release-management-r5" x="317.2" y="1191.2" textLength="1122.4" clip-path="url(#breeze-release-management-line-48)">────────────────────────────────────────────────────────────────────────────────────────────</text><text class="breeze-release-management-r5" x="1439.6" y="1191.2" textLength="24.4" clip-path="url(#breeze-release-management-line-48)">─╮</text><text class="breeze-release-management-r1" x="1464" y="1191.2" textLength="12.2" clip-path="url(#breeze-release-management-line-48)">
-</text><text class="breeze-release-management-r5" x="0" y="1215.6" textLength="12.2" clip-path="url(#breeze-release-management-line-49)">│</text><text class="breeze-release-management-r4" x="24.4" y="1215.6" textLength="292.8" clip-path="url(#breeze-release-management-line-49)">add-back-references&#160;&#160;&#160;&#160;&#160;</text><text class="breeze-release-management-r1" x="341.6" y="1215.6" textLength="1098" clip-path="url(#breeze-release-management-line-49)">Command&#160;to&#160;add&#160;back&#160;references&#160;for&#160;documentation&#160;to&#160;make&#160;it&#160;backward&#160;compatible.&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</text><text class="breeze-release-management-r5" x="1451.8" y="1215.6" textLength="12.2" clip-path="url(#breeze-release-management-line-49)">│</text><text class="breeze-release-management-r1" x="1464" y="1215.6" textLength="12.2" clip-path="url(#breeze-release-management-line-49)">
-</text><text class="breeze-release-management-r5" x="0" y="1240" textLength="12.2" clip-path="url(#breeze-release-management-line-50)">│</text><text class="breeze-release-management-r4" x="24.4" y="1240" textLength="292.8" clip-path="url(#breeze-release-management-line-50)">prepare-python-client&#160;&#160;&#160;</text><text class="breeze-release-management-r1" x="341.6" y="1240" textLength="1098" clip-path="url(#breeze-release-management-line-50)">Prepares&#160;python&#160;client&#160;packages.&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</text><text class="breeze-release-management-r5" x="1451.8" y="1240" textLength="12.2" clip-path="url(#breeze-release-management-line-50)">│</text><text class="breeze-release-management-r1" x="1464" y="1240" textLength="12.2" clip-path="url(#breeze-release-management-line-50)">
-</text><text class="breeze-release-management-r5" x="0" y="1264.4" textLength="12.2" clip-path="url(#breeze-release-management-line-51)">│</text><text class="breeze-release-management-r4" x="24.4" y="1264.4" textLength="292.8" clip-path="url(#breeze-release-management-line-51)">publish-docs&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</text><text class="breeze-release-management-r1" x="341.6" y="1264.4" textLength="1098" clip-path="url(#breeze-release-management-line-51)">Command&#160;to&#160;publish&#160;generated&#160;documentation&#160;to&#160;airflow-site&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</text><text class="breeze-release-management-r5" x="1451.8" y="1264.4" textLength="12.2" clip-path="url(#breeze-release-management-line-51)">│</text><text class="breeze-release-management-r1" x="1464" y="1264.4" textLength="12.2" clip-path="url(#breeze-release-management-line-51)">
-</text><text class="breeze-release-management-r5" x="0" y="1288.8" textLength="12.2" clip-path="url(#breeze-release-management-line-52)">│</text><text class="breeze-release-management-r4" x="24.4" y="1288.8" textLength="292.8" clip-path="url(#breeze-release-management-line-52)">generate-constraints&#160;&#160;&#160;&#160;</text><text class="breeze-release-management-r1" x="341.6" y="1288.8" textLength="1098" clip-path="url(#breeze-release-management-line-52)">Generates&#160;pinned&#160;constraint&#160;files&#160;with&#160;all&#160;extras&#160;from&#160;pyproject.toml&#160;in&#160;parallel.&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</text><text class="breeze-release-management-r5" x="1451.8" y="1288.8" textLength="12.2" clip-path="url(#breeze-release-management-line-52)">│</text><text class="breeze-release-management-r1" x="1464" y="1288.8" textLength="12.2" clip-path="url(#breeze-release-management-line-52)">
-</text><text class="breeze-release-management-r5" x="0" y="1313.2" textLength="12.2" clip-path="url(#breeze-release-management-line-53)">│</text><text class="breeze-release-management-r4" x="24.4" y="1313.2" textLength="292.8" clip-path="url(#breeze-release-management-line-53)">update-constraints&#160;&#160;&#160;&#160;&#160;&#160;</text><text class="breeze-release-management-r1" x="341.6" y="1313.2" textLength="1098" clip-path="url(#breeze-release-management-line-53)">Update&#160;released&#160;constraints&#160;with&#160;manual&#160;changes.&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</text><text class="breeze-release-management-r5" x="1451.8" y="1313.2" textLength="12.2" clip-path="url(#breeze-release-management-line-53)">│</text><text class="breeze-release-management-r1" x="1464" y="1313.2" textLength="12.2" clip-path="url(#breeze-release-management-line-53)">
-</text><text class="breeze-release-management-r5" x="0" y="1337.6" textLength="12.2" clip-path="url(#breeze-release-management-line-54)">│</text><text class="breeze-release-management-r4" x="24.4" y="1337.6" textLength="292.8" clip-path="url(#breeze-release-management-line-54)">publish-docs-to-s3&#160;&#160;&#160;&#160;&#160;&#160;</text><text class="breeze-release-management-r1" x="341.6" y="1337.6" textLength="1098" clip-path="url(#breeze-release-management-line-54)">Publishes&#160;docs&#160;to&#160;S3.&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</text><text class="breeze-release-management-r5" x="1451.8" y="1337.6" textLength="12.2" clip-path="url(#breeze-release-management-line-54)">│</text><text class="breeze-release-management-r1" x="1464" y="1337.6" textLength="12.2" clip-path="url(#breeze-release-management-line-54)">
-</text><text class="breeze-release-management-r5" x="0" y="1362" textLength="12.2" clip-path="url(#breeze-release-management-line-55)">│</text><text class="breeze-release-management-r4" x="24.4" y="1362" textLength="292.8" clip-path="url(#breeze-release-management-line-55)">verify-rc-by-pmc&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</text><text class="breeze-release-management-r1" x="341.6" y="1362" textLength="1098" clip-path="url(#breeze-release-management-line-55)">[EXPERIMENTAL]&#160;Verify&#160;a&#160;release&#160;candidate&#160;for&#160;PMC&#160;voting.&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</text><text class="breeze-release-management-r5" x="1451.8" y="1362" textLength="12.2" clip-path="url(#breeze-release-management-line-55)">│</text><text class="breeze-release-management-r1" x="1464" y="1362" textLength="12.2" clip-path="url(#breeze-release-management-line-55)">
-</text><text class="breeze-release-management-r5" x="0" y="1386.4" textLength="12.2" clip-path="url(#breeze-release-management-line-56)">│</text><text class="breeze-release-management-r4" x="24.4" y="1386.4" textLength="292.8" clip-path="url(#breeze-release-management-line-56)">check-release-files&#160;&#160;&#160;&#160;&#160;</text><text class="breeze-release-management-r1" x="341.6" y="1386.4" textLength="1098" clip-path="url(#breeze-release-management-line-56)">Verify&#160;that&#160;all&#160;expected&#160;packages&#160;are&#160;present&#160;in&#160;Apache&#160;Airflow&#160;svn.&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</text><text class="breeze-release-management-r5" x="1451.8" y="1386.4" textLength="12.2" clip-path="url(#breeze-release-management-line-56)">│</text><text class="breeze-release-management-r1" x="1464" y="1386.4" textLength="12.2" clip-path="url(#breeze-release-management-line-56)">
-</text><text class="breeze-release-management-r5" x="0" y="1410.8" textLength="1464" clip-path="url(#breeze-release-management-line-57)">╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯</text><text class="breeze-release-management-r1" x="1464" y="1410.8" textLength="12.2" clip-path="url(#breeze-release-management-line-57)">
-</text><text class="breeze-release-management-r5" x="0" y="1435.2" textLength="24.4" clip-path="url(#breeze-release-management-line-58)">╭─</text><text class="breeze-release-management-r5" x="24.4" y="1435.2" textLength="122" clip-path="url(#breeze-release-management-line-58)">&#160;Commands&#160;</text><text class="breeze-release-management-r5" x="146.4" y="1435.2" textLength="1293.2" clip-path="url(#breeze-release-management-line-58)">──────────────────────────────────────────────────────────────────────────────────────────────────────────</text><text class="breeze-release-management-r5" x="1439.6" y="1435.2" textLength="24.4" clip-path="url(#breeze-release-management-line-58)">─╮</text><text class="breeze-release-management-r1" x="1464" y="1435.2" textLength="12.2" clip-path="url(#breeze-release-management-line-58)">
-</text><text class="breeze-release-management-r5" x="0" y="1459.6" textLength="12.2" clip-path="url(#breeze-release-management-line-59)">│</text><text class="breeze-release-management-r4" x="24.4" y="1459.6" textLength="305" clip-path="url(#breeze-release-management-line-59)">constraints-version-check</text><text class="breeze-release-management-r1" x="353.8" y="1459.6" textLength="1085.8" clip-path="url(#breeze-release-management-line-59)">Check&#160;constraints&#160;against&#160;released&#160;versions&#160;of&#160;packages.&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</text><text class="breeze-release-management-r5" x="1451.8" y="1459.6" textLength="12.2" clip-path="url(#breeze-release-management-line-59)">│</text><text class="breeze-release-management-r1" x="1464" y="1459.6" textLength="12.2" clip-path="url(#breeze-release-management-line-59)">
-</text><text class="breeze-release-management-r5" x="0" y="1484" textLength="12.2" clip-path="url(#breeze-release-management-line-60)">│</text><text class="breeze-release-management-r4" x="24.4" y="1484" textLength="305" clip-path="url(#breeze-release-management-line-60)">merge-prod-images&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</text><text class="breeze-release-management-r1" x="353.8" y="1484" textLength="1085.8" clip-path="url(#breeze-release-management-line-60)">Merge&#160;production&#160;images&#160;in&#160;DockerHub&#160;based&#160;on&#160;digest&#160;files&#160;(needs&#160;DockerHub&#160;permissions).</text><text class="breeze-release-management-r5" x="1451.8" y="1484" textLength="12.2" clip-path="url(#breeze-release-management-line-60)">│</text><text class="breeze-release-management-r1" x="1464" y="1484" textLength="12.2" clip-path="url(#breeze-release-management-line-60)">
+</text><text class="breeze-release-management-r5" x="0" y="605.6" textLength="12.2" clip-path="url(#breeze-release-management-line-24)">│</text><text class="breeze-release-management-r4" x="24.4" y="605.6" textLength="390.4" clip-path="url(#breeze-release-management-line-24)">classify-provider-changes&#160;&#160;&#160;&#160;&#160;&#160;&#160;</text><text class="breeze-release-management-r1" x="439.2" y="605.6" textLength="1000.4" clip-path="url(#breeze-release-management-line-24)">Classify&#160;each&#160;provider&#x27;s&#160;unreleased&#160;changes&#160;with&#160;hard-coded,&#160;high-confidence&#160;&#160;&#160;&#160;&#160;&#160;</text><text class="breeze-release-management-r5" x="1451.8" y="605.6" textLength="12.2" clip-path="url(#breeze-release-management-line-24)">│</text><text class="breeze-release-management-r1" x="1464" y="605.6" textLength="12.2" clip-path="url(#breeze-release-management-line-24)">
+</text><text class="breeze-release-management-r5" x="0" y="630" textLength="12.2" clip-path="url(#breeze-release-management-line-25)">│</text><text class="breeze-release-management-r1" x="439.2" y="630" textLength="1000.4" clip-path="url(#breeze-release-management-line-25)">rules,&#160;flagging&#160;ambiguous&#160;commits&#160;as&#160;&#x27;needs_llm&#x27;&#160;for&#160;an&#160;agent/skill&#160;to&#160;assess.&#160;&#160;&#160;&#160;</text><text class="breeze-release-management-r5" x="1451.8" y="630" textLength="12.2" clip-path="url(#breeze-release-management-line-25)">│</text><text class="breeze-release-management-r1" x="1464" y="630" textLength="12.2" clip-path="url(#breeze-release-management-line-25)">
+</text><text class="breeze-release-management-r5" x="0" y="654.4" textLength="12.2" clip-path="url(#breeze-release-management-line-26)">│</text><text class="breeze-release-management-r1" x="439.2" y="654.4" textLength="707.6" clip-path="url(#breeze-release-management-line-26)">Outputs&#160;JSON&#160;-&#160;a&#160;deterministic&#160;alternative&#160;to&#160;the&#160;random&#160;&#x27;</text><text class="breeze-release-management-r4" x="1146.8" y="654.4" textLength="207.4" clip-path="url(#breeze-release-management-line-26)">--non-interactive</text><text class="breeze-release-management-r1" x="1354.2" y="654.4" textLength="85.4" clip-path="url(#breeze-release-management-line-26)">&#x27;&#160;run&#160;&#160;</text><text class="breeze-release-management-r5" x="1451.8" y="654.4" textLength="12.2" clip-path="url(#breeze-release-management-line-26)">│</text><text class="breeze-release-management-r1" x="1464" y="654.4" textLength="12.2" clip-path="url(#breeze-release-management-line-26)">
+</text><text class="breeze-release-management-r5" x="0" y="678.8" textLength="12.2" clip-path="url(#breeze-release-management-line-27)">│</text><text class="breeze-release-management-r1" x="439.2" y="678.8" textLength="1000.4" clip-path="url(#breeze-release-management-line-27)">used&#160;purely&#160;for&#160;discovery.&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</text><text class="breeze-release-management-r5" x="1451.8" y="678.8" textLength="12.2" clip-path="url(#breeze-release-management-line-27)">│</text><text class="breeze-release-management-r1" x="1464" y="678.8" textLength="12.2" clip-path="url(#breeze-release-management-line-27)">
+</text><text class="breeze-release-management-r5" x="0" y="703.2" textLength="12.2" clip-path="url(#breeze-release-management-line-28)">│</text><text class="breeze-release-management-r4" x="24.4" y="703.2" textLength="390.4" clip-path="url(#breeze-release-management-line-28)">update-providers-next-version&#160;&#160;&#160;</text><text class="breeze-release-management-r1" x="439.2" y="703.2" textLength="1000.4" clip-path="url(#breeze-release-management-line-28)">Update&#160;provider&#160;versions&#160;marked&#160;with&#160;&#x27;#&#160;use&#160;next&#160;version&#x27;&#160;comment.&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</text><text class="breeze-release-management-r5" x="1451.8" y="703.2" textLength="12.2" clip-path="url(#breeze-release-management-line-28)">│</text><text class="breeze-release-management-r1" x="1464" y="703.2" textLength="12.2" clip-path="url(#breeze-release-management-line-28)">
+</text><text class="breeze-release-management-r5" x="0" y="727.6" textLength="12.2" clip-path="url(#breeze-release-management-line-29)">│</text><text class="breeze-release-management-r4" x="24.4" y="727.6" textLength="390.4" clip-path="url(#breeze-release-management-line-29)">prepare-provider-distributions&#160;&#160;</text><text class="breeze-release-management-r1" x="439.2" y="727.6" textLength="1000.4" clip-path="url(#breeze-release-management-line-29)">Prepare&#160;sdist/whl&#160;distributions&#160;of&#160;Airflow&#160;Providers.&#160;Each&#160;provider&#160;directory&#160;is&#160;&#160;</text><text class="breeze-release-management-r5" x="1451.8" y="727.6" textLength="12.2" clip-path="url(#breeze-release-management-line-29)">│</text><text class="breeze-release-management-r1" x="1464" y="727.6" textLength="12.2" clip-path="url(#breeze-release-management-line-29)">
+</text><text class="breeze-release-management-r5" x="0" y="752" textLength="12.2" clip-path="url(#breeze-release-management-line-30)">│</text><text class="breeze-release-management-r1" x="439.2" y="752" textLength="268.4" clip-path="url(#breeze-release-management-line-30)">wiped&#160;with&#160;`git&#160;clean&#160;</text><text class="breeze-release-management-r6" x="707.6" y="752" textLength="48.8" clip-path="url(#breeze-release-management-line-30)">-fdx</text><text class="breeze-release-management-r1" x="756.4" y="752" textLength="683.2" clip-path="url(#breeze-release-management-line-30)">`&#160;(preserving&#160;.venv,&#160;.idea,&#160;.vscode)&#160;before&#160;build&#160;to&#160;&#160;&#160;&#160;</text><text class="breeze-release-management-r5" x="1451.8" y="752" textLength="12.2" clip-path="url(#breeze-release-management-line-30)">│</text><text class="breeze-release-management-r1" x="1464" y="752" textLength="12.2" clip-path="url(#breeze-release-management-line-30)">
+</text><text class="breeze-release-management-r5" x="0" y="776.4" textLength="12.2" clip-path="url(#breeze-release-management-line-31)">│</text><text class="breeze-release-management-r1" x="439.2" y="776.4" textLength="1000.4" clip-path="url(#breeze-release-management-line-31)">keep&#160;in-tree&#160;generated&#160;files&#160;out&#160;of&#160;the&#160;artifact.&#160;See&#160;dev/breeze&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</text><text class="breeze-release-management-r5" x="1451.8" y="776.4" textLength="12.2" clip-path="url(#breeze-release-management-line-31)">│</text><text class="breeze-release-management-r1" x="1464" y="776.4" textLength="12.2" clip-path="url(#breeze-release-management-line-31)">
+</text><text class="breeze-release-management-r5" x="0" y="800.8" textLength="12.2" clip-path="url(#breeze-release-management-line-32)">│</text><text class="breeze-release-management-r1" x="439.2" y="800.8" textLength="1000.4" clip-path="url(#breeze-release-management-line-32)">release-management&#160;docs.&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</text><text class="breeze-release-management-r5" x="1451.8" y="800.8" textLength="12.2" clip-path="url(#breeze-release-management-line-32)">│</text><text class="breeze-release-management-r1" x="1464" y="800.8" textLength="12.2" clip-path="url(#breeze-release-management-line-32)">
+</text><text class="breeze-release-management-r5" x="0" y="825.2" textLength="12.2" clip-path="url(#breeze-release-management-line-33)">│</text><text class="breeze-release-management-r4" x="24.4" y="825.2" textLength="390.4" clip-path="url(#breeze-release-management-line-33)">install-provider-distributions&#160;&#160;</text><text class="breeze-release-management-r1" x="439.2" y="825.2" textLength="1000.4" clip-path="url(#breeze-release-management-line-33)">Installs&#160;provider&#160;distributions&#160;that&#160;can&#160;be&#160;found&#160;in&#160;dist.&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</text><text class="breeze-release-management-r5" x="1451.8" y="825.2" textLength="12.2" clip-path="url(#breeze-release-management-line-33)">│</text><text class="breeze-release-management-r1" x="1464" y="825.2" textLength="12.2" clip-path="url(#breeze-release-management-line-33)">
+</text><text class="breeze-release-management-r5" x="0" y="849.6" textLength="12.2" clip-path="url(#breeze-release-management-line-34)">│</text><text class="breeze-release-management-r4" x="24.4" y="849.6" textLength="390.4" clip-path="url(#breeze-release-management-line-34)">verify-provider-distributions&#160;&#160;&#160;</text><text class="breeze-release-management-r1" x="439.2" y="849.6" textLength="1000.4" clip-path="url(#breeze-release-management-line-34)">Verifies&#160;if&#160;all&#160;provider&#160;code&#160;is&#160;following&#160;expectations&#160;for&#160;providers.&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</text><text class="breeze-release-management-r5" x="1451.8" y="849.6" textLength="12.2" clip-path="url(#breeze-release-management-line-34)">│</text><text class="breeze-release-management-r1" x="1464" y="849.6" textLength="12.2" clip-path="url(#breeze-release-management-line-34)">
+</text><text class="breeze-release-management-r5" x="0" y="874" textLength="12.2" clip-path="url(#breeze-release-management-line-35)">│</text><text class="breeze-release-management-r4" x="24.4" y="874" textLength="390.4" clip-path="url(#breeze-release-management-line-35)">generate-providers-metadata&#160;&#160;&#160;&#160;&#160;</text><text class="breeze-release-management-r1" x="439.2" y="874" textLength="1000.4" clip-path="url(#breeze-release-management-line-35)">Generates&#160;metadata&#160;for&#160;providers.&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</text><text class="breeze-release-management-r5" x="1451.8" y="874" textLength="12.2" clip-path="url(#breeze-release-management-line-35)">│</text><text class="breeze-release-management-r1" x="1464" y="874" textLength="12.2" clip-path="url(#breeze-release-management-line-35)">
+</text><text class="breeze-release-management-r5" x="0" y="898.4" textLength="12.2" clip-path="url(#breeze-release-management-line-36)">│</text><text class="breeze-release-management-r4" x="24.4" y="898.4" textLength="390.4" clip-path="url(#breeze-release-management-line-36)">generate-issue-content-providers</text><text class="breeze-release-management-r1" x="439.2" y="898.4" textLength="1000.4" clip-path="url(#breeze-release-management-line-36)">Generates&#160;content&#160;for&#160;issue&#160;to&#160;test&#160;the&#160;release.&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</text><text class="breeze-release-management-r5" x="1451.8" y="898.4" textLength="12.2" clip-path="url(#breeze-release-management-line-36)">│</text><text class="breeze-release-management-r1" x="1464" y="898.4" textLength="12.2" clip-path="url(#breeze-release-management-line-36)">
+</text><text class="breeze-release-management-r5" x="0" y="922.8" textLength="12.2" clip-path="url(#breeze-release-management-line-37)">│</text><text class="breeze-release-management-r4" x="24.4" y="922.8" textLength="390.4" clip-path="url(#breeze-release-management-line-37)">clean-old-provider-artifacts&#160;&#160;&#160;&#160;</text><text class="breeze-release-management-r1" x="439.2" y="922.8" textLength="1000.4" clip-path="url(#breeze-release-management-line-37)">Cleans&#160;the&#160;old&#160;provider&#160;artifacts&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</text><text class="breeze-release-management-r5" x="1451.8" y="922.8" textLength="12.2" clip-path="url(#breeze-release-management-line-37)">│</text><text class="breeze-release-management-r1" x="1464" y="922.8" textLength="12.2" clip-path="url(#breeze-release-management-line-37)">
+</text><text class="breeze-release-management-r5" x="0" y="947.2" textLength="12.2" clip-path="url(#breeze-release-management-line-38)">│</text><text class="breeze-release-management-r4" x="24.4" y="947.2" textLength="390.4" clip-path="url(#breeze-release-management-line-38)">tag-providers&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</text><text class="breeze-release-management-r1" x="439.2" y="947.2" textLength="1000.4" clip-path="url(#breeze-release-management-line-38)">Generates&#160;tags&#160;for&#160;airflow&#160;provider&#160;releases.&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</text><text class="breeze-release-management-r5" x="1451.8" y="947.2" textLength="12.2" clip-path="url(#breeze-release-management-line-38)">│</text><text class="breeze-release-management-r1" x="1464" y="947.2" textLength="12.2" clip-path="url(#breeze-release-management-line-38)">
+</text><text class="breeze-release-management-r5" x="0" y="971.6" textLength="1464" clip-path="url(#breeze-release-management-line-39)">╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯</text><text class="breeze-release-management-r1" x="1464" y="971.6" textLength="12.2" clip-path="url(#breeze-release-management-line-39)">
+</text><text class="breeze-release-management-r5" x="0" y="996" textLength="24.4" clip-path="url(#breeze-release-management-line-40)">╭─</text><text class="breeze-release-management-r5" x="24.4" y="996" textLength="427" clip-path="url(#breeze-release-management-line-40)">&#160;Airflow&#160;Task&#160;SDK&#160;release&#160;commands&#160;</text><text class="breeze-release-management-r5" x="451.4" y="996" textLength="988.2" clip-path="url(#breeze-release-management-line-40)">─────────────────────────────────────────────────────────────────────────────────</text><text class="breeze-release-management-r5" x="1439.6" y="996" textLength="24.4" clip-path="url(#breeze-release-management-line-40)">─╮</text><text class="breeze-release-management-r1" x="1464" y="996" textLength="12.2" clip-path="url(#breeze-release-management-line-40)">
+</text><text class="breeze-release-management-r5" x="0" y="1020.4" textLength="12.2" clip-path="url(#breeze-release-management-line-41)">│</text><text class="breeze-release-management-r4" x="24.4" y="1020.4" textLength="512.4" clip-path="url(#breeze-release-management-line-41)">prepare-task-sdk-distributions&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</text><text class="breeze-release-management-r1" x="561.2" y="1020.4" textLength="878.4" clip-path="url(#breeze-release-management-line-41)">Prepare&#160;sdist/whl&#160;distributions&#160;of&#160;Airflow&#160;Task&#160;SDK.&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</text><text class="breeze-release-management-r5" x="1451.8" y="1020.4" textLength="12.2" clip-path="url(#breeze-release-management-line-41)">│</text><text class="breeze-release-management-r1" x="1464" y="1020.4" textLength="12.2" clip-path="url(#breeze-release-management-line-41)">
+</text><text class="breeze-release-management-r5" x="0" y="1044.8" textLength="1464" clip-path="url(#breeze-release-management-line-42)">╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯</text><text class="breeze-release-management-r1" x="1464" y="1044.8" textLength="12.2" clip-path="url(#breeze-release-management-line-42)">
+</text><text class="breeze-release-management-r5" x="0" y="1069.2" textLength="24.4" clip-path="url(#breeze-release-management-line-43)">╭─</text><text class="breeze-release-management-r5" x="24.4" y="1069.2" textLength="353.8" clip-path="url(#breeze-release-management-line-43)">&#160;airflowctl&#160;release&#160;commands&#160;</text><text class="breeze-release-management-r5" x="378.2" y="1069.2" textLength="1061.4" clip-path="url(#breeze-release-management-line-43)">───────────────────────────────────────────────────────────────────────────────────────</text><text class="breeze-release-management-r5" x="1439.6" y="1069.2" textLength="24.4" clip-path="url(#breeze-release-management-line-43)">─╮</text><text class="breeze-release-management-r1" x="1464" y="1069.2" textLength="12.2" clip-path="url(#breeze-release-management-line-43)">
+</text><text class="breeze-release-management-r5" x="0" y="1093.6" textLength="12.2" clip-path="url(#breeze-release-management-line-44)">│</text><text class="breeze-release-management-r4" x="24.4" y="1093.6" textLength="414.8" clip-path="url(#breeze-release-management-line-44)">prepare-airflow-ctl-distributions&#160;</text><text class="breeze-release-management-r1" x="463.6" y="1093.6" textLength="976" clip-path="url(#breeze-release-management-line-44)">Prepare&#160;sdist/whl&#160;distributions&#160;of&#160;airflowctl.&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</text><text class="breeze-release-management-r5" x="1451.8" y="1093.6" textLength="12.2" clip-path="url(#breeze-release-management-line-44)">│</text><text class="breeze-release-management-r1" x="1464" y="1093.6" textLength="12.2" clip-path="url(#breeze-release-management-line-44)">
+</text><text class="breeze-release-management-r5" x="0" y="1118" textLength="12.2" clip-path="url(#breeze-release-management-line-45)">│</text><text class="breeze-release-management-r4" x="24.4" y="1118" textLength="414.8" clip-path="url(#breeze-release-management-line-45)">generate-issue-content-airflow-ctl</text><text class="breeze-release-management-r1" x="463.6" y="1118" textLength="976" clip-path="url(#breeze-release-management-line-45)">Generates&#160;content&#160;for&#160;issue&#160;to&#160;test&#160;airflow-ctl&#160;release.&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</text><text class="breeze-release-management-r5" x="1451.8" y="1118" textLength="12.2" clip-path="url(#breeze-release-management-line-45)">│</text><text class="breeze-release-management-r1" x="1464" y="1118" textLength="12.2" clip-path="url(#breeze-release-management-line-45)">
+</text><text class="breeze-release-management-r5" x="0" y="1142.4" textLength="12.2" clip-path="url(#breeze-release-management-line-46)">│</text><text class="breeze-release-management-r4" x="24.4" y="1142.4" textLength="414.8" clip-path="url(#breeze-release-management-line-46)">generate-airflowctl-changelog&#160;&#160;&#160;&#160;&#160;</text><text class="breeze-release-management-r1" x="463.6" y="1142.4" textLength="976" clip-path="url(#breeze-release-management-line-46)">Generates&#160;RST&#160;changelog&#160;for&#160;the&#160;airflowctl&#160;release&#160;and&#160;prepends&#160;it&#160;to&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</text><text class="breeze-release-management-r5" x="1451.8" y="1142.4" textLength="12.2" clip-path="url(#breeze-release-management-line-46)">│</text><text class="breeze-release-management-r1" x="1464" y="1142.4" textLength="12.2" clip-path="url(#breeze-release-management-line-46)">
+</text><text class="breeze-release-management-r5" x="0" y="1166.8" textLength="12.2" clip-path="url(#breeze-release-management-line-47)">│</text><text class="breeze-release-management-r1" x="463.6" y="1166.8" textLength="976" clip-path="url(#breeze-release-management-line-47)">RELEASE_NOTES.rst.&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</text><text class="breeze-release-management-r5" x="1451.8" y="1166.8" textLength="12.2" clip-path="url(#breeze-release-management-line-47)">│</text><text class="breeze-release-management-r1" x="1464" y="1166.8" textLength="12.2" clip-path="url(#breeze-release-management-line-47)">
+</text><text class="breeze-release-management-r5" x="0" y="1191.2" textLength="1464" clip-path="url(#breeze-release-management-line-48)">╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯</text><text class="breeze-release-management-r1" x="1464" y="1191.2" textLength="12.2" clip-path="url(#breeze-release-management-line-48)">
+</text><text class="breeze-release-management-r5" x="0" y="1215.6" textLength="24.4" clip-path="url(#breeze-release-management-line-49)">╭─</text><text class="breeze-release-management-r5" x="24.4" y="1215.6" textLength="463.6" clip-path="url(#breeze-release-management-line-49)">&#160;Apache&#160;Airflow&#160;Mypy&#160;release&#160;commands&#160;</text><text class="breeze-release-management-r5" x="488" y="1215.6" textLength="951.6" clip-path="url(#breeze-release-management-line-49)">──────────────────────────────────────────────────────────────────────────────</text><text class="breeze-release-management-r5" x="1439.6" y="1215.6" textLength="24.4" clip-path="url(#breeze-release-management-line-49)">─╮</text><text class="breeze-release-management-r1" x="1464" y="1215.6" textLength="12.2" clip-path="url(#breeze-release-management-line-49)">
+</text><text class="breeze-release-management-r5" x="0" y="1240" textLength="12.2" clip-path="url(#breeze-release-management-line-50)">│</text><text class="breeze-release-management-r4" x="24.4" y="1240" textLength="451.4" clip-path="url(#breeze-release-management-line-50)">prepare-mypy-distributions&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</text><text class="breeze-release-management-r1" x="500.2" y="1240" textLength="939.4" clip-path="url(#breeze-release-management-line-50)">Prepare&#160;sdist/whl&#160;distributions&#160;of&#160;Apache&#160;Airflow&#160;Mypy.&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</text><text class="breeze-release-management-r5" x="1451.8" y="1240" textLength="12.2" clip-path="url(#breeze-release-management-line-50)">│</text><text class="breeze-release-management-r1" x="1464" y="1240" textLength="12.2" clip-path="url(#breeze-release-management-line-50)">
+</text><text class="breeze-release-management-r5" x="0" y="1264.4" textLength="1464" clip-path="url(#breeze-release-management-line-51)">╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯</text><text class="breeze-release-management-r1" x="1464" y="1264.4" textLength="12.2" clip-path="url(#breeze-release-management-line-51)">
+</text><text class="breeze-release-management-r5" x="0" y="1288.8" textLength="24.4" clip-path="url(#breeze-release-management-line-52)">╭─</text><text class="breeze-release-management-r5" x="24.4" y="1288.8" textLength="292.8" clip-path="url(#breeze-release-management-line-52)">&#160;Other&#160;release&#160;commands&#160;</text><text class="breeze-release-management-r5" x="317.2" y="1288.8" textLength="1122.4" clip-path="url(#breeze-release-management-line-52)">────────────────────────────────────────────────────────────────────────────────────────────</text><text class="breeze-release-management-r5" x="1439.6" y="1288.8" textLength="24.4" clip-path="url(#breeze-release-management-line-52)">─╮</text><text class="breeze-release-management-r1" x="1464" y="1288.8" textLength="12.2" clip-path="url(#breeze-release-management-line-52)">
+</text><text class="breeze-release-management-r5" x="0" y="1313.2" textLength="12.2" clip-path="url(#breeze-release-management-line-53)">│</text><text class="breeze-release-management-r4" x="24.4" y="1313.2" textLength="292.8" clip-path="url(#breeze-release-management-line-53)">add-back-references&#160;&#160;&#160;&#160;&#160;</text><text class="breeze-release-management-r1" x="341.6" y="1313.2" textLength="1098" clip-path="url(#breeze-release-management-line-53)">Command&#160;to&#160;add&#160;back&#160;references&#160;for&#160;documentation&#160;to&#160;make&#160;it&#160;backward&#160;compatible.&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</text><text class="breeze-release-management-r5" x="1451.8" y="1313.2" textLength="12.2" clip-path="url(#breeze-release-management-line-53)">│</text><text class="breeze-release-management-r1" x="1464" y="1313.2" textLength="12.2" clip-path="url(#breeze-release-management-line-53)">
+</text><text class="breeze-release-management-r5" x="0" y="1337.6" textLength="12.2" clip-path="url(#breeze-release-management-line-54)">│</text><text class="breeze-release-management-r4" x="24.4" y="1337.6" textLength="292.8" clip-path="url(#breeze-release-management-line-54)">prepare-python-client&#160;&#160;&#160;</text><text class="breeze-release-management-r1" x="341.6" y="1337.6" textLength="1098" clip-path="url(#breeze-release-management-line-54)">Prepares&#160;python&#160;client&#160;packages.&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</text><text class="breeze-release-management-r5" x="1451.8" y="1337.6" textLength="12.2" clip-path="url(#breeze-release-management-line-54)">│</text><text class="breeze-release-management-r1" x="1464" y="1337.6" textLength="12.2" clip-path="url(#breeze-release-management-line-54)">
+</text><text class="breeze-release-management-r5" x="0" y="1362" textLength="12.2" clip-path="url(#breeze-release-management-line-55)">│</text><text class="breeze-release-management-r4" x="24.4" y="1362" textLength="292.8" clip-path="url(#breeze-release-management-line-55)">publish-docs&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</text><text class="breeze-release-management-r1" x="341.6" y="1362" textLength="1098" clip-path="url(#breeze-release-management-line-55)">Command&#160;to&#160;publish&#160;generated&#160;documentation&#160;to&#160;airflow-site&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</text><text class="breeze-release-management-r5" x="1451.8" y="1362" textLength="12.2" clip-path="url(#breeze-release-management-line-55)">│</text><text class="breeze-release-management-r1" x="1464" y="1362" textLength="12.2" clip-path="url(#breeze-release-management-line-55)">
+</text><text class="breeze-release-management-r5" x="0" y="1386.4" textLength="12.2" clip-path="url(#breeze-release-management-line-56)">│</text><text class="breeze-release-management-r4" x="24.4" y="1386.4" textLength="292.8" clip-path="url(#breeze-release-management-line-56)">generate-constraints&#160;&#160;&#160;&#160;</text><text class="breeze-release-management-r1" x="341.6" y="1386.4" textLength="1098" clip-path="url(#breeze-release-management-line-56)">Generates&#160;pinned&#160;constraint&#160;files&#160;with&#160;all&#160;extras&#160;from&#160;pyproject.toml&#160;in&#160;parallel.&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</text><text class="breeze-release-management-r5" x="1451.8" y="1386.4" textLength="12.2" clip-path="url(#breeze-release-management-line-56)">│</text><text class="breeze-release-management-r1" x="1464" y="1386.4" textLength="12.2" clip-path="url(#breeze-release-management-line-56)">
+</text><text class="breeze-release-management-r5" x="0" y="1410.8" textLength="12.2" clip-path="url(#breeze-release-management-line-57)">│</text><text class="breeze-release-management-r4" x="24.4" y="1410.8" textLength="292.8" clip-path="url(#breeze-release-management-line-57)">update-constraints&#160;&#160;&#160;&#160;&#160;&#160;</text><text class="breeze-release-management-r1" x="341.6" y="1410.8" textLength="1098" clip-path="url(#breeze-release-management-line-57)">Update&#160;released&#160;constraints&#160;with&#160;manual&#160;changes.&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</text><text class="breeze-release-management-r5" x="1451.8" y="1410.8" textLength="12.2" clip-path="url(#breeze-release-management-line-57)">│</text><text class="breeze-release-management-r1" x="1464" y="1410.8" textLength="12.2" clip-path="url(#breeze-release-management-line-57)">
+</text><text class="breeze-release-management-r5" x="0" y="1435.2" textLength="12.2" clip-path="url(#breeze-release-management-line-58)">│</text><text class="breeze-release-management-r4" x="24.4" y="1435.2" textLength="292.8" clip-path="url(#breeze-release-management-line-58)">publish-docs-to-s3&#160;&#160;&#160;&#160;&#160;&#160;</text><text class="breeze-release-management-r1" x="341.6" y="1435.2" textLength="1098" clip-path="url(#breeze-release-management-line-58)">Publishes&#160;docs&#160;to&#160;S3.&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</text><text class="breeze-release-management-r5" x="1451.8" y="1435.2" textLength="12.2" clip-path="url(#breeze-release-management-line-58)">│</text><text class="breeze-release-management-r1" x="1464" y="1435.2" textLength="12.2" clip-path="url(#breeze-release-management-line-58)">
+</text><text class="breeze-release-management-r5" x="0" y="1459.6" textLength="12.2" clip-path="url(#breeze-release-management-line-59)">│</text><text class="breeze-release-management-r4" x="24.4" y="1459.6" textLength="292.8" clip-path="url(#breeze-release-management-line-59)">verify-rc-by-pmc&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</text><text class="breeze-release-management-r1" x="341.6" y="1459.6" textLength="1098" clip-path="url(#breeze-release-management-line-59)">[EXPERIMENTAL]&#160;Verify&#160;a&#160;release&#160;candidate&#160;for&#160;PMC&#160;voting.&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</text><text class="breeze-release-management-r5" x="1451.8" y="1459.6" textLength="12.2" clip-path="url(#breeze-release-management-line-59)">│</text><text class="breeze-release-management-r1" x="1464" y="1459.6" textLength="12.2" clip-path="url(#breeze-release-management-line-59)">
+</text><text class="breeze-release-management-r5" x="0" y="1484" textLength="12.2" clip-path="url(#breeze-release-management-line-60)">│</text><text class="breeze-release-management-r4" x="24.4" y="1484" textLength="292.8" clip-path="url(#breeze-release-management-line-60)">check-release-files&#160;&#160;&#160;&#160;&#160;</text><text class="breeze-release-management-r1" x="341.6" y="1484" textLength="1098" clip-path="url(#breeze-release-management-line-60)">Verify&#160;that&#160;all&#160;expected&#160;packages&#160;are&#160;present&#160;in&#160;Apache&#160;Airflow&#160;svn.&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</text><text class="breeze-release-management-r5" x="1451.8" y="1484" textLength="12.2" clip-path="url(#breeze-release-management-line-60)">│</text><text class="breeze-release-management-r1" x="1464" y="1484" textLength="12.2" clip-path="url(#breeze-release-management-line-60)">
 </text><text class="breeze-release-management-r5" x="0" y="1508.4" textLength="1464" clip-path="url(#breeze-release-management-line-61)">╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯</text><text class="breeze-release-management-r1" x="1464" y="1508.4" textLength="12.2" clip-path="url(#breeze-release-management-line-61)">
+</text><text class="breeze-release-management-r5" x="0" y="1532.8" textLength="24.4" clip-path="url(#breeze-release-management-line-62)">╭─</text><text class="breeze-release-management-r5" x="24.4" y="1532.8" textLength="122" clip-path="url(#breeze-release-management-line-62)">&#160;Commands&#160;</text><text class="breeze-release-management-r5" x="146.4" y="1532.8" textLength="1293.2" clip-path="url(#breeze-release-management-line-62)">──────────────────────────────────────────────────────────────────────────────────────────────────────────</text><text class="breeze-release-management-r5" x="1439.6" y="1532.8" textLength="24.4" clip-path="url(#breeze-release-management-line-62)">─╮</text><text class="breeze-release-management-r1" x="1464" y="1532.8" textLength="12.2" clip-path="url(#breeze-release-management-line-62)">
+</text><text class="breeze-release-management-r5" x="0" y="1557.2" textLength="12.2" clip-path="url(#breeze-release-management-line-63)">│</text><text class="breeze-release-management-r4" x="24.4" y="1557.2" textLength="305" clip-path="url(#breeze-release-management-line-63)">constraints-version-check</text><text class="breeze-release-management-r1" x="353.8" y="1557.2" textLength="1085.8" clip-path="url(#breeze-release-management-line-63)">Check&#160;constraints&#160;against&#160;released&#160;versions&#160;of&#160;packages.&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</text><text class="breeze-release-management-r5" x="1451.8" y="1557.2" textLength="12.2" clip-path="url(#breeze-release-management-line-63)">│</text><text class="breeze-release-management-r1" x="1464" y="1557.2" textLength="12.2" clip-path="url(#breeze-release-management-line-63)">
+</text><text class="breeze-release-management-r5" x="0" y="1581.6" textLength="12.2" clip-path="url(#breeze-release-management-line-64)">│</text><text class="breeze-release-management-r4" x="24.4" y="1581.6" textLength="305" clip-path="url(#breeze-release-management-line-64)">merge-prod-images&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</text><text class="breeze-release-management-r1" x="353.8" y="1581.6" textLength="1085.8" clip-path="url(#breeze-release-management-line-64)">Merge&#160;production&#160;images&#160;in&#160;DockerHub&#160;based&#160;on&#160;digest&#160;files&#160;(needs&#160;DockerHub&#160;permissions).</text><text class="breeze-release-management-r5" x="1451.8" y="1581.6" textLength="12.2" clip-path="url(#breeze-release-management-line-64)">│</text><text class="breeze-release-management-r1" x="1464" y="1581.6" textLength="12.2" clip-path="url(#breeze-release-management-line-64)">
+</text><text class="breeze-release-management-r5" x="0" y="1606" textLength="1464" clip-path="url(#breeze-release-management-line-65)">╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯</text><text class="breeze-release-management-r1" x="1464" y="1606" textLength="12.2" clip-path="url(#breeze-release-management-line-65)">
 </text>
     </g>
     </g>
diff --git a/dev/breeze/doc/images/output_release-management.txt b/dev/breeze/doc/images/output_release-management.txt
index 10f371588014c..88669f75b5903 100644
--- a/dev/breeze/doc/images/output_release-management.txt
+++ b/dev/breeze/doc/images/output_release-management.txt
@@ -1 +1 @@
-422cbfd07af57d8374a63d90b480edf2
+1588da1100c6c55691550abd5da329b0
diff --git a/dev/breeze/doc/images/output_release-management_classify-provider-changes.svg b/dev/breeze/doc/images/output_release-management_classify-provider-changes.svg
new file mode 100644
index 0000000000000..ee322b3ccb698
--- /dev/null
+++ b/dev/breeze/doc/images/output_release-management_classify-provider-changes.svg
@@ -0,0 +1,196 @@
+<svg class="rich-terminal" viewBox="0 0 1482 879.5999999999999" xmlns="http://www.w3.org/2000/svg">
+    <!-- Generated with Rich https://www.textualize.io -->
+    <style>
+
+    @font-face {
+        font-family: "Fira Code";
+        src: local("FiraCode-Regular"),
+                url("https://cdnjs.cloudflare.com/ajax/libs/firacode/6.2.0/woff2/FiraCode-Regular.woff2") format("woff2"),
+                url("https://cdnjs.cloudflare.com/ajax/libs/firacode/6.2.0/woff/FiraCode-Regular.woff") format("woff");
+        font-style: normal;
+        font-weight: 400;
+    }
+    @font-face {
+        font-family: "Fira Code";
+        src: local("FiraCode-Bold"),
+                url("https://cdnjs.cloudflare.com/ajax/libs/firacode/6.2.0/woff2/FiraCode-Bold.woff2") format("woff2"),
+                url("https://cdnjs.cloudflare.com/ajax/libs/firacode/6.2.0/woff/FiraCode-Bold.woff") format("woff");
+        font-style: bold;
+        font-weight: 700;
+    }
+
+    .breeze-release-management-classify-provider-changes-matrix {
+        font-family: Fira Code, monospace;
+        font-size: 20px;
+        line-height: 24.4px;
+        font-variant-east-asian: full-width;
+    }
+
+    .breeze-release-management-classify-provider-changes-title {
+        font-size: 18px;
+        font-weight: bold;
+        font-family: arial;
+    }
+
+    .breeze-release-management-classify-provider-changes-r1 { fill: #c5c8c6 }
+.breeze-release-management-classify-provider-changes-r2 { fill: #d0b344 }
+.breeze-release-management-classify-provider-changes-r3 { fill: #c5c8c6;font-weight: bold }
+.breeze-release-management-classify-provider-changes-r4 { fill: #68a0b3;font-weight: bold }
+.breeze-release-management-classify-provider-changes-r5 { fill: #868887 }
+.breeze-release-management-classify-provider-changes-r6 { fill: #8d7b39 }
+.breeze-release-management-classify-provider-changes-r7 { fill: #98a84b;font-weight: bold }
+    </style>
+
+    <defs>
+    <clipPath id="breeze-release-management-classify-provider-changes-clip-terminal">
+      <rect x="0" y="0" width="1463.0" height="828.5999999999999" />
+    </clipPath>
+    <clipPath id="breeze-release-management-classify-provider-changes-line-0">
+    <rect x="0" y="1.5" width="1464" height="24.65"/>
+            </clipPath>
+<clipPath id="breeze-release-management-classify-provider-changes-line-1">
+    <rect x="0" y="25.9" width="1464" height="24.65"/>
+            </clipPath>
+<clipPath id="breeze-release-management-classify-provider-changes-line-2">
+    <rect x="0" y="50.3" width="1464" height="24.65"/>
+            </clipPath>
+<clipPath id="breeze-release-management-classify-provider-changes-line-3">
+    <rect x="0" y="74.7" width="1464" height="24.65"/>
+            </clipPath>
+<clipPath id="breeze-release-management-classify-provider-changes-line-4">
+    <rect x="0" y="99.1" width="1464" height="24.65"/>
+            </clipPath>
+<clipPath id="breeze-release-management-classify-provider-changes-line-5">
+    <rect x="0" y="123.5" width="1464" height="24.65"/>
+            </clipPath>
+<clipPath id="breeze-release-management-classify-provider-changes-line-6">
+    <rect x="0" y="147.9" width="1464" height="24.65"/>
+            </clipPath>
+<clipPath id="breeze-release-management-classify-provider-changes-line-7">
+    <rect x="0" y="172.3" width="1464" height="24.65"/>
+            </clipPath>
+<clipPath id="breeze-release-management-classify-provider-changes-line-8">
+    <rect x="0" y="196.7" width="1464" height="24.65"/>
+            </clipPath>
+<clipPath id="breeze-release-management-classify-provider-changes-line-9">
+    <rect x="0" y="221.1" width="1464" height="24.65"/>
+            </clipPath>
+<clipPath id="breeze-release-management-classify-provider-changes-line-10">
+    <rect x="0" y="245.5" width="1464" height="24.65"/>
+            </clipPath>
+<clipPath id="breeze-release-management-classify-provider-changes-line-11">
+    <rect x="0" y="269.9" width="1464" height="24.65"/>
+            </clipPath>
+<clipPath id="breeze-release-management-classify-provider-changes-line-12">
+    <rect x="0" y="294.3" width="1464" height="24.65"/>
+            </clipPath>
+<clipPath id="breeze-release-management-classify-provider-changes-line-13">
+    <rect x="0" y="318.7" width="1464" height="24.65"/>
+            </clipPath>
+<clipPath id="breeze-release-management-classify-provider-changes-line-14">
+    <rect x="0" y="343.1" width="1464" height="24.65"/>
+            </clipPath>
+<clipPath id="breeze-release-management-classify-provider-changes-line-15">
+    <rect x="0" y="367.5" width="1464" height="24.65"/>
+            </clipPath>
+<clipPath id="breeze-release-management-classify-provider-changes-line-16">
+    <rect x="0" y="391.9" width="1464" height="24.65"/>
+            </clipPath>
+<clipPath id="breeze-release-management-classify-provider-changes-line-17">
+    <rect x="0" y="416.3" width="1464" height="24.65"/>
+            </clipPath>
+<clipPath id="breeze-release-management-classify-provider-changes-line-18">
+    <rect x="0" y="440.7" width="1464" height="24.65"/>
+            </clipPath>
+<clipPath id="breeze-release-management-classify-provider-changes-line-19">
+    <rect x="0" y="465.1" width="1464" height="24.65"/>
+            </clipPath>
+<clipPath id="breeze-release-management-classify-provider-changes-line-20">
+    <rect x="0" y="489.5" width="1464" height="24.65"/>
+            </clipPath>
+<clipPath id="breeze-release-management-classify-provider-changes-line-21">
+    <rect x="0" y="513.9" width="1464" height="24.65"/>
+            </clipPath>
+<clipPath id="breeze-release-management-classify-provider-changes-line-22">
+    <rect x="0" y="538.3" width="1464" height="24.65"/>
+            </clipPath>
+<clipPath id="breeze-release-management-classify-provider-changes-line-23">
+    <rect x="0" y="562.7" width="1464" height="24.65"/>
+            </clipPath>
+<clipPath id="breeze-release-management-classify-provider-changes-line-24">
+    <rect x="0" y="587.1" width="1464" height="24.65"/>
+            </clipPath>
+<clipPath id="breeze-release-management-classify-provider-changes-line-25">
+    <rect x="0" y="611.5" width="1464" height="24.65"/>
+            </clipPath>
+<clipPath id="breeze-release-management-classify-provider-changes-line-26">
+    <rect x="0" y="635.9" width="1464" height="24.65"/>
+            </clipPath>
+<clipPath id="breeze-release-management-classify-provider-changes-line-27">
+    <rect x="0" y="660.3" width="1464" height="24.65"/>
+            </clipPath>
+<clipPath id="breeze-release-management-classify-provider-changes-line-28">
+    <rect x="0" y="684.7" width="1464" height="24.65"/>
+            </clipPath>
+<clipPath id="breeze-release-management-classify-provider-changes-line-29">
+    <rect x="0" y="709.1" width="1464" height="24.65"/>
+            </clipPath>
+<clipPath id="breeze-release-management-classify-provider-changes-line-30">
+    <rect x="0" y="733.5" width="1464" height="24.65"/>
+            </clipPath>
+<clipPath id="breeze-release-management-classify-provider-changes-line-31">
+    <rect x="0" y="757.9" width="1464" height="24.65"/>
+            </clipPath>
+<clipPath id="breeze-release-management-classify-provider-changes-line-32">
+    <rect x="0" y="782.3" width="1464" height="24.65"/>
+            </clipPath>
+    </defs>
+
+    <rect fill="#292929" stroke="rgba(255,255,255,0.35)" stroke-width="1" x="1" y="1" width="1480" height="877.6" rx="8"/><text class="breeze-release-management-classify-provider-changes-title" fill="#c5c8c6" text-anchor="middle" x="740" y="27">Command:&#160;release-management&#160;classify-provider-changes</text>
+            <g transform="translate(26,22)">
+            <circle cx="0" cy="0" r="7" fill="#ff5f57"/>
+            <circle cx="22" cy="0" r="7" fill="#febc2e"/>
+            <circle cx="44" cy="0" r="7" fill="#28c840"/>
+            </g>
+        
+    <g transform="translate(9, 41)" clip-path="url(#breeze-release-management-classify-provider-changes-clip-terminal)">
+    
+    <g class="breeze-release-management-classify-provider-changes-matrix">
+    <text class="breeze-release-management-classify-provider-changes-r1" x="1464" y="20" textLength="12.2" clip-path="url(#breeze-release-management-classify-provider-changes-line-0)">
+</text><text class="breeze-release-management-classify-provider-changes-r2" x="12.2" y="44.4" textLength="1439.6" clip-path="url(#breeze-release-management-classify-provider-changes-line-1)">Usage:&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</text><text class="breeze-release-management-classify-provider-changes-r1" x="1464" y="44.4" textLength="12.2" clip-path="url(#breeze-release-management-classify-provider-changes-line-1)">
+</text><text class="breeze-release-management-classify-provider-changes-r3" x="12.2" y="68.8" textLength="1439.6" clip-path="url(#breeze-release-management-classify-provider-changes-line-2)">breeze&#160;release-management&#160;classify-provider-changes&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</text><text class="breeze-release-management-classify-provider-changes-r1" x="1464" y="68.8" textLength="12.2" clip-path="url(#breeze-release-management-classify-provider-changes-line-2)">
+</text><text class="breeze-release-management-classify-provider-changes-r1" x="12.2" y="93.2" textLength="12.2" clip-path="url(#breeze-release-management-classify-provider-changes-line-3)">[</text><text class="breeze-release-management-classify-provider-changes-r4" x="24.4" y="93.2" textLength="85.4" clip-path="url(#breeze-release-management-classify-provider-changes-line-3)">OPTIONS</text><text class="breeze-release-management-classify-provider-changes-r1" x="109.8" y="93.2" textLength="36.6" clip-path="url(#breeze-release-management-classify-provider-changes-line-3)">]&#160;[</text><text class="breeze-release-management-classify-provider-changes-r4" x="146.4" y="93.2" textLength="85.4" clip-path="url(#breeze-release-management-classify-provider-changes-line-3)">airbyte</text><text class="breeze-release-management-classify-provider-changes-r1" x="231.8" y="93.2" textLength="36.6" clip-path="url(#breeze-release-management-classify-provider-changes-line-3)">&#160;|&#160;</text><text class="breeze-release-management-classify-provider-changes-r4" x="268.4" y="93.2" textLength="97.6" clip-path="url(#breeze-release-management-classify-provider-changes-line-3)">akeyless</text><text class="breeze-release-management-classify-provider-changes-r1" x="366" y="93.2" textLength="36.6" clip-path="url(#breeze-release-management-classify-provider-changes-line-3)">&#160;|&#160;</text><text class="breeze-release-management-classify-provider-changes-r4" x="402.6" y="93.2" textLength="85.4" clip-path="url(#breeze-release-management-classify-provider-changes-line-3)">alibaba</text><text class="breeze-release-management-classify-provider-changes-r1" x="488" y="93.2" textLength="36.6" clip-path="url(#breeze-release-management-classify-provider-changes-line-3)">&#160;|&#160;</text><text class="breeze-release-management-classify-provider-changes-r4" x="524.6" y="93.2" textLength="73.2" clip-path="url(#breeze-release-management-classify-provider-changes-line-3)">amazon</text><text class="breeze-release-management-classify-provider-changes-r1" x="597.8" y="93.2" textLength="36.6" clip-path="url(#breeze-release-management-classify-provider-changes-line-3)">&#160;|&#160;</text><text class="breeze-release-management-classify-provider-changes-r4" x="634.4" y="93.2" textLength="73.2" clip-path="url(#breeze-release-management-classify-provider-changes-line-3)">apache</text><text class="breeze-release-management-classify-provider-changes-r1" x="707.6" y="93.2" textLength="12.2" clip-path="url(#breeze-release-management-classify-provider-changes-line-3)">.</text><text class="breeze-release-management-classify-provider-changes-r4" x="719.8" y="93.2" textLength="109.8" clip-path="url(#breeze-release-management-classify-provider-changes-line-3)">cassandra</text><text class="breeze-release-management-classify-provider-changes-r1" x="829.6" y="93.2" textLength="36.6" clip-path="url(#breeze-release-management-classify-provider-changes-line-3)">&#160;|&#160;</text><text class="breeze-release-management-classify-provider-changes-r4" x="866.2" y="93.2" textLength="73.2" clip-path="url(#breeze-release-management-classify-provider-changes-line-3)">apache</text><text class="breeze-release-management-classify-provider-changes-r1" x="939.4" y="93.2" textLength="12.2" clip-path="url(#breeze-release-management-classify-provider-changes-line-3)">.</text><text class="breeze-release-management-classify-provider-changes-r4" x="951.6" y="93.2" textLength="61" clip-path="url(#breeze-release-management-classify-provider-changes-line-3)">drill</text><text class="breeze-release-management-classify-provider-changes-r1" x="1012.6" y="93.2" textLength="36.6" clip-path="url(#breeze-release-management-classify-provider-changes-line-3)">&#160;|&#160;</text><text class="breeze-release-management-classify-provider-changes-r4" x="1049.2" y="93.2" textLength="73.2" clip-path="url(#breeze-release-management-classify-provider-changes-line-3)">apache</text><text class="breeze-release-management-classify-provider-changes-r1" x="1122.4" y="93.2" textLength="12.2" clip-path="url(#breeze-release-management-classify-provider-changes-line-3)">.</text><text class="breeze-release-management-classify-provider-changes-r4" x="1134.6" y="93.2" textLength="61" clip-path="url(#breeze-release-management-classify-provider-changes-line-3)">druid</text><text class="breeze-release-management-classify-provider-changes-r1" x="1195.6" y="93.2" textLength="36.6" clip-path="url(#breeze-release-management-classify-provider-changes-line-3)">&#160;|&#160;</text><text class="breeze-release-management-classify-provider-changes-r4" x="1232.2" y="93.2" textLength="73.2" clip-path="url(#breeze-release-management-classify-provider-changes-line-3)">apache</text><text class="breeze-release-management-classify-provider-changes-r1" x="1305.4" y="93.2" textLength="12.2" clip-path="url(#breeze-release-management-classify-provider-changes-line-3)">.</text><text class="breeze-release-management-classify-provider-changes-r4" x="1317.6" y="93.2" textLength="61" clip-path="url(#breeze-release-management-classify-provider-changes-line-3)">flink</text><text class="breeze-release-management-classify-provider-changes-r1" x="1378.6" y="93.2" textLength="73.2" clip-path="url(#breeze-release-management-classify-provider-changes-line-3)">&#160;|&#160;&#160;&#160;&#160;</text><text class="breeze-release-management-classify-provider-changes-r1" x="1464" y="93.2" textLength="12.2" clip-path="url(#breeze-release-management-classify-provider-changes-line-3)">
+</text><text class="breeze-release-management-classify-provider-changes-r4" x="12.2" y="117.6" textLength="73.2" clip-path="url(#breeze-release-management-classify-provider-changes-line-4)">apache</text><text class="breeze-release-management-classify-provider-changes-r1" x="85.4" y="117.6" textLength="12.2" clip-path="url(#breeze-release-management-classify-provider-changes-line-4)">.</text><text class="breeze-release-management-classify-provider-changes-r4" x="97.6" y="117.6" textLength="48.8" clip-path="url(#breeze-release-management-classify-provider-changes-line-4)">hdfs</text><text class="breeze-release-management-classify-provider-changes-r1" x="146.4" y="117.6" textLength="36.6" clip-path="url(#breeze-release-management-classify-provider-changes-line-4)">&#160;|&#160;</text><text class="breeze-release-management-classify-provider-changes-r4" x="183" y="117.6" textLength="73.2" clip-path="url(#breeze-release-management-classify-provider-changes-line-4)">apache</text><text class="breeze-release-management-classify-provider-changes-r1" x="256.2" y="117.6" textLength="12.2" clip-path="url(#breeze-release-management-classify-provider-changes-line-4)">.</text><text class="breeze-release-management-classify-provider-changes-r4" x="268.4" y="117.6" textLength="48.8" clip-path="url(#breeze-release-management-classify-provider-changes-line-4)">hive</text><text class="breeze-release-management-classify-provider-changes-r1" x="317.2" y="117.6" textLength="36.6" clip-path="url(#breeze-release-management-classify-provider-changes-line-4)">&#160;|&#160;</text><text class="breeze-release-management-classify-provider-changes-r4" x="353.8" y="117.6" textLength="73.2" clip-path="url(#breeze-release-management-classify-provider-changes-line-4)">apache</text><text class="breeze-release-management-classify-provider-changes-r1" x="427" y="117.6" textLength="12.2" clip-path="url(#breeze-release-management-classify-provider-changes-line-4)">.</text><text class="breeze-release-management-classify-provider-changes-r4" x="439.2" y="117.6" textLength="85.4" clip-path="url(#breeze-release-management-classify-provider-changes-line-4)">iceberg</text><text class="breeze-release-management-classify-provider-changes-r1" x="524.6" y="117.6" textLength="36.6" clip-path="url(#breeze-release-management-classify-provider-changes-line-4)">&#160;|&#160;</text><text class="breeze-release-management-classify-provider-changes-r4" x="561.2" y="117.6" textLength="73.2" clip-path="url(#breeze-release-management-classify-provider-changes-line-4)">apache</text><text class="breeze-release-management-classify-provider-changes-r1" x="634.4" y="117.6" textLength="12.2" clip-path="url(#breeze-release-management-classify-provider-changes-line-4)">.</text><text class="breeze-release-management-classify-provider-changes-r4" x="646.6" y="117.6" textLength="73.2" clip-path="url(#breeze-release-management-classify-provider-changes-line-4)">impala</text><text class="breeze-release-management-classify-provider-changes-r1" x="719.8" y="117.6" textLength="36.6" clip-path="url(#breeze-release-management-classify-provider-changes-line-4)">&#160;|&#160;</text><text class="breeze-release-management-classify-provider-changes-r4" x="756.4" y="117.6" textLength="73.2" clip-path="url(#breeze-release-management-classify-provider-changes-line-4)">apache</text><text class="breeze-release-management-classify-provider-changes-r1" x="829.6" y="117.6" textLength="12.2" clip-path="url(#breeze-release-management-classify-provider-changes-line-4)">.</text><text class="breeze-release-management-classify-provider-changes-r4" x="841.8" y="117.6" textLength="61" clip-path="url(#breeze-release-management-classify-provider-changes-line-4)">kafka</text><text class="breeze-release-management-classify-provider-changes-r1" x="902.8" y="117.6" textLength="36.6" clip-path="url(#breeze-release-management-classify-provider-changes-line-4)">&#160;|&#160;</text><text class="breeze-release-management-classify-provider-changes-r4" x="939.4" y="117.6" textLength="73.2" clip-path="url(#breeze-release-management-classify-provider-changes-line-4)">apache</text><text class="breeze-release-management-classify-provider-changes-r1" x="1012.6" y="117.6" textLength="12.2" clip-path="url(#breeze-release-management-classify-provider-changes-line-4)">.</text><text class="breeze-release-management-classify-provider-changes-r4" x="1024.8" y="117.6" textLength="61" clip-path="url(#breeze-release-management-classify-provider-changes-line-4)">kylin</text><text class="breeze-release-management-classify-provider-changes-r1" x="1085.8" y="117.6" textLength="36.6" clip-path="url(#breeze-release-management-classify-provider-changes-line-4)">&#160;|&#160;</text><text class="breeze-release-management-classify-provider-changes-r4" x="1122.4" y="117.6" textLength="73.2" clip-path="url(#breeze-release-management-classify-provider-changes-line-4)">apache</text><text class="breeze-release-management-classify-provider-changes-r1" x="1195.6" y="117.6" textLength="12.2" clip-path="url(#breeze-release-management-classify-provider-changes-line-4)">.</text><text class="breeze-release-management-classify-provider-changes-r4" x="1207.8" y="117.6" textLength="48.8" clip-path="url(#breeze-release-management-classify-provider-changes-line-4)">livy</text><text class="breeze-release-management-classify-provider-changes-r1" x="1256.6" y="117.6" textLength="36.6" clip-path="url(#breeze-release-management-classify-provider-changes-line-4)">&#160;|&#160;</text><text class="breeze-release-management-classify-provider-changes-r4" x="1293.2" y="117.6" textLength="73.2" clip-path="url(#breeze-release-management-classify-provider-changes-line-4)">apache</text><text class="breeze-release-management-classify-provider-changes-r1" x="1366.4" y="117.6" textLength="12.2" clip-path="url(#breeze-release-management-classify-provider-changes-line-4)">.</text><text class="breeze-release-management-classify-provider-changes-r4" x="1378.6" y="117.6" textLength="36.6" clip-path="url(#breeze-release-management-classify-provider-changes-line-4)">pig</text><text class="breeze-release-management-classify-provider-changes-r1" x="1415.2" y="117.6" textLength="36.6" clip-path="url(#breeze-release-management-classify-provider-changes-line-4)">&#160;|&#160;</text><text class="breeze-release-management-classify-provider-changes-r1" x="1464" y="117.6" textLength="12.2" clip-path="url(#breeze-release-management-classify-provider-changes-line-4)">
+</text><text class="breeze-release-management-classify-provider-changes-r4" x="12.2" y="142" textLength="73.2" clip-path="url(#breeze-release-management-classify-provider-changes-line-5)">apache</text><text class="breeze-release-management-classify-provider-changes-r1" x="85.4" y="142" textLength="12.2" clip-path="url(#breeze-release-management-classify-provider-changes-line-5)">.</text><text class="breeze-release-management-classify-provider-changes-r4" x="97.6" y="142" textLength="61" clip-path="url(#breeze-release-management-classify-provider-changes-line-5)">pinot</text><text class="breeze-release-management-classify-provider-changes-r1" x="158.6" y="142" textLength="36.6" clip-path="url(#breeze-release-management-classify-provider-changes-line-5)">&#160;|&#160;</text><text class="breeze-release-management-classify-provider-changes-r4" x="195.2" y="142" textLength="73.2" clip-path="url(#breeze-release-management-classify-provider-changes-line-5)">apache</text><text class="breeze-release-management-classify-provider-changes-r1" x="268.4" y="142" textLength="12.2" clip-path="url(#breeze-release-management-classify-provider-changes-line-5)">.</text><text class="breeze-release-management-classify-provider-changes-r4" x="280.6" y="142" textLength="61" clip-path="url(#breeze-release-management-classify-provider-changes-line-5)">spark</text><text class="breeze-release-management-classify-provider-changes-r1" x="341.6" y="142" textLength="36.6" clip-path="url(#breeze-release-management-classify-provider-changes-line-5)">&#160;|&#160;</text><text class="breeze-release-management-classify-provider-changes-r4" x="378.2" y="142" textLength="73.2" clip-path="url(#breeze-release-management-classify-provider-changes-line-5)">apache</text><text class="breeze-release-management-classify-provider-changes-r1" x="451.4" y="142" textLength="12.2" clip-path="url(#breeze-release-management-classify-provider-changes-line-5)">.</text><text class="breeze-release-management-classify-provider-changes-r4" x="463.6" y="142" textLength="109.8" clip-path="url(#breeze-release-management-classify-provider-changes-line-5)">tinkerpop</text><text class="breeze-release-management-classify-provider-changes-r1" x="573.4" y="142" textLength="36.6" clip-path="url(#breeze-release-management-classify-provider-changes-line-5)">&#160;|&#160;</text><text class="breeze-release-management-classify-provider-changes-r4" x="610" y="142" textLength="85.4" clip-path="url(#breeze-release-management-classify-provider-changes-line-5)">apprise</text><text class="breeze-release-management-classify-provider-changes-r1" x="695.4" y="142" textLength="36.6" clip-path="url(#breeze-release-management-classify-provider-changes-line-5)">&#160;|&#160;</text><text class="breeze-release-management-classify-provider-changes-r4" x="732" y="142" textLength="97.6" clip-path="url(#breeze-release-management-classify-provider-changes-line-5)">arangodb</text><text class="breeze-release-management-classify-provider-changes-r1" x="829.6" y="142" textLength="36.6" clip-path="url(#breeze-release-management-classify-provider-changes-line-5)">&#160;|&#160;</text><text class="breeze-release-management-classify-provider-changes-r4" x="866.2" y="142" textLength="61" clip-path="url(#breeze-release-management-classify-provider-changes-line-5)">asana</text><text class="breeze-release-management-classify-provider-changes-r1" x="927.2" y="142" textLength="36.6" clip-path="url(#breeze-release-management-classify-provider-changes-line-5)">&#160;|&#160;</text><text class="breeze-release-management-classify-provider-changes-r4" x="963.8" y="142" textLength="109.8" clip-path="url(#breeze-release-management-classify-provider-changes-line-5)">atlassian</text><text class="breeze-release-management-classify-provider-changes-r1" x="1073.6" y="142" textLength="12.2" clip-path="url(#breeze-release-management-classify-provider-changes-line-5)">.</text><text class="breeze-release-management-classify-provider-changes-r4" x="1085.8" y="142" textLength="48.8" clip-path="url(#breeze-release-management-classify-provider-changes-line-5)">jira</text><text class="breeze-release-management-classify-provider-changes-r1" x="1134.6" y="142" textLength="36.6" clip-path="url(#breeze-release-management-classify-provider-changes-line-5)">&#160;|&#160;</text><text class="breeze-release-management-classify-provider-changes-r4" x="1171.2" y="142" textLength="73.2" clip-path="url(#breeze-release-management-classify-provider-changes-line-5)">celery</text><text class="breeze-release-management-classify-provider-changes-r1" x="1244.4" y="142" textLength="36.6" clip-path="url(#breeze-release-management-classify-provider-changes-line-5)">&#160;|&#160;</text><text class="breeze-release-management-classify-provider-changes-r4" x="1281" y="142" textLength="146.4" clip-path="url(#breeze-release-management-classify-provider-changes-line-5)">clickhousedb</text><text class="breeze-release-management-classify-provider-changes-r1" x="1427.4" y="142" textLength="24.4" clip-path="url(#breeze-release-management-classify-provider-changes-line-5)">&#160;|</text><text class="breeze-release-management-classify-provider-changes-r1" x="1464" y="142" textLength="12.2" clip-path="url(#breeze-release-management-classify-provider-changes-line-5)">
+</text><text class="breeze-release-management-classify-provider-changes-r4" x="12.2" y="166.4" textLength="97.6" clip-path="url(#breeze-release-management-classify-provider-changes-line-6)">cloudant</text><text class="breeze-release-management-classify-provider-changes-r1" x="109.8" y="166.4" textLength="36.6" clip-path="url(#breeze-release-management-classify-provider-changes-line-6)">&#160;|&#160;</text><text class="breeze-release-management-classify-provider-changes-r4" x="146.4" y="166.4" textLength="48.8" clip-path="url(#breeze-release-management-classify-provider-changes-line-6)">cncf</text><text class="breeze-release-management-classify-provider-changes-r1" x="195.2" y="166.4" textLength="12.2" clip-path="url(#breeze-release-management-classify-provider-changes-line-6)">.</text><text class="breeze-release-management-classify-provider-changes-r4" x="207.4" y="166.4" textLength="122" clip-path="url(#breeze-release-management-classify-provider-changes-line-6)">kubernetes</text><text class="breeze-release-management-classify-provider-changes-r1" x="329.4" y="166.4" textLength="36.6" clip-path="url(#breeze-release-management-classify-provider-changes-line-6)">&#160;|&#160;</text><text class="breeze-release-management-classify-provider-changes-r4" x="366" y="166.4" textLength="73.2" clip-path="url(#breeze-release-management-classify-provider-changes-line-6)">cohere</text><text class="breeze-release-management-classify-provider-changes-r1" x="439.2" y="166.4" textLength="36.6" clip-path="url(#breeze-release-management-classify-provider-changes-line-6)">&#160;|&#160;</text><text class="breeze-release-management-classify-provider-changes-r4" x="475.8" y="166.4" textLength="73.2" clip-path="url(#breeze-release-management-classify-provider-changes-line-6)">common</text><text class="breeze-release-management-classify-provider-changes-r1" x="549" y="166.4" textLength="12.2" clip-path="url(#breeze-release-management-classify-provider-changes-line-6)">.</text><text class="breeze-release-management-classify-provider-changes-r4" x="561.2" y="166.4" textLength="24.4" clip-path="url(#breeze-release-management-classify-provider-changes-line-6)">ai</text><text class="breeze-release-management-classify-provider-changes-r1" x="585.6" y="166.4" textLength="36.6" clip-path="url(#breeze-release-management-classify-provider-changes-line-6)">&#160;|&#160;</text><text class="breeze-release-management-classify-provider-changes-r4" x="622.2" y="166.4" textLength="73.2" clip-path="url(#breeze-release-management-classify-provider-changes-line-6)">common</text><text class="breeze-release-management-classify-provider-changes-r1" x="695.4" y="166.4" textLength="12.2" clip-path="url(#breeze-release-management-classify-provider-changes-line-6)">.</text><text class="breeze-release-management-classify-provider-changes-r4" x="707.6" y="166.4" textLength="73.2" clip-path="url(#breeze-release-management-classify-provider-changes-line-6)">compat</text><text class="breeze-release-management-classify-provider-changes-r1" x="780.8" y="166.4" textLength="36.6" clip-path="url(#breeze-release-management-classify-provider-changes-line-6)">&#160;|&#160;</text><text class="breeze-release-management-classify-provider-changes-r4" x="817.4" y="166.4" textLength="73.2" clip-path="url(#breeze-release-management-classify-provider-changes-line-6)">common</text><text class="breeze-release-management-classify-provider-changes-r1" x="890.6" y="166.4" textLength="12.2" clip-path="url(#breeze-release-management-classify-provider-changes-line-6)">.</text><text class="breeze-release-management-classify-provider-changes-r4" x="902.8" y="166.4" textLength="24.4" clip-path="url(#breeze-release-management-classify-provider-changes-line-6)">io</text><text class="breeze-release-management-classify-provider-changes-r1" x="927.2" y="166.4" textLength="36.6" clip-path="url(#breeze-release-management-classify-provider-changes-line-6)">&#160;|&#160;</text><text class="breeze-release-management-classify-provider-changes-r4" x="963.8" y="166.4" textLength="73.2" clip-path="url(#breeze-release-management-classify-provider-changes-line-6)">common</text><text class="breeze-release-management-classify-provider-changes-r1" x="1037" y="166.4" textLength="12.2" clip-path="url(#breeze-release-management-classify-provider-changes-line-6)">.</text><text class="breeze-release-management-classify-provider-changes-r4" x="1049.2" y="166.4" textLength="109.8" clip-path="url(#breeze-release-management-classify-provider-changes-line-6)">messaging</text><text class="breeze-release-management-classify-provider-changes-r1" x="1159" y="166.4" textLength="36.6" clip-path="url(#breeze-release-management-classify-provider-changes-line-6)">&#160;|&#160;</text><text class="breeze-release-management-classify-provider-changes-r4" x="1195.6" y="166.4" textLength="73.2" clip-path="url(#breeze-release-management-classify-provider-changes-line-6)">common</text><text class="breeze-release-management-classify-provider-changes-r1" x="1268.8" y="166.4" textLength="12.2" clip-path="url(#breeze-release-management-classify-provider-changes-line-6)">.</text><text class="breeze-release-management-classify-provider-changes-r4" x="1281" y="166.4" textLength="36.6" clip-path="url(#breeze-release-management-classify-provider-changes-line-6)">sql</text><text class="breeze-release-management-classify-provider-changes-r1" x="1317.6" y="166.4" textLength="134.2" clip-path="url(#breeze-release-management-classify-provider-changes-line-6)">&#160;|&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</text><text class="breeze-release-management-classify-provider-changes-r1" x="1464" y="166.4" textLength="12.2" clip-path="url(#breeze-release-management-classify-provider-changes-line-6)">
+</text><text class="breeze-release-management-classify-provider-changes-r4" x="12.2" y="190.8" textLength="122" clip-path="url(#breeze-release-management-classify-provider-changes-line-7)">databricks</text><text class="breeze-release-management-classify-provider-changes-r1" x="134.2" y="190.8" textLength="36.6" clip-path="url(#breeze-release-management-classify-provider-changes-line-7)">&#160;|&#160;</text><text class="breeze-release-management-classify-provider-changes-r4" x="170.8" y="190.8" textLength="85.4" clip-path="url(#breeze-release-management-classify-provider-changes-line-7)">datadog</text><text class="breeze-release-management-classify-provider-changes-r1" x="256.2" y="190.8" textLength="36.6" clip-path="url(#breeze-release-management-classify-provider-changes-line-7)">&#160;|&#160;</text><text class="breeze-release-management-classify-provider-changes-r4" x="292.8" y="190.8" textLength="36.6" clip-path="url(#breeze-release-management-classify-provider-changes-line-7)">dbt</text><text class="breeze-release-management-classify-provider-changes-r1" x="329.4" y="190.8" textLength="12.2" clip-path="url(#breeze-release-management-classify-provider-changes-line-7)">.</text><text class="breeze-release-management-classify-provider-changes-r4" x="341.6" y="190.8" textLength="61" clip-path="url(#breeze-release-management-classify-provider-changes-line-7)">cloud</text><text class="breeze-release-management-classify-provider-changes-r1" x="402.6" y="190.8" textLength="36.6" clip-path="url(#breeze-release-management-classify-provider-changes-line-7)">&#160;|&#160;</text><text class="breeze-release-management-classify-provider-changes-r4" x="439.2" y="190.8" textLength="97.6" clip-path="url(#breeze-release-management-classify-provider-changes-line-7)">dingding</text><text class="breeze-release-management-classify-provider-changes-r1" x="536.8" y="190.8" textLength="36.6" clip-path="url(#breeze-release-management-classify-provider-changes-line-7)">&#160;|&#160;</text><text class="breeze-release-management-classify-provider-changes-r4" x="573.4" y="190.8" textLength="85.4" clip-path="url(#breeze-release-management-classify-provider-changes-line-7)">discord</text><text class="breeze-release-management-classify-provider-changes-r1" x="658.8" y="190.8" textLength="36.6" clip-path="url(#breeze-release-management-classify-provider-changes-line-7)">&#160;|&#160;</text><text class="breeze-release-management-classify-provider-changes-r4" x="695.4" y="190.8" textLength="73.2" clip-path="url(#breeze-release-management-classify-provider-changes-line-7)">docker</text><text class="breeze-release-management-classify-provider-changes-r1" x="768.6" y="190.8" textLength="36.6" clip-path="url(#breeze-release-management-classify-provider-changes-line-7)">&#160;|&#160;</text><text class="breeze-release-management-classify-provider-changes-r4" x="805.2" y="190.8" textLength="61" clip-path="url(#breeze-release-management-classify-provider-changes-line-7)">edge3</text><text class="breeze-release-management-classify-provider-changes-r1" x="866.2" y="190.8" textLength="36.6" clip-path="url(#breeze-release-management-classify-provider-changes-line-7)">&#160;|&#160;</text><text class="breeze-release-management-classify-provider-changes-r4" x="902.8" y="190.8" textLength="158.6" clip-path="url(#breeze-release-management-classify-provider-changes-line-7)">elasticsearch</text><text class="breeze-release-management-classify-provider-changes-r1" x="1061.4" y="190.8" textLength="36.6" clip-path="url(#breeze-release-management-classify-provider-changes-line-7)">&#160;|&#160;</text><text class="breeze-release-management-classify-provider-changes-r4" x="1098" y="190.8" textLength="73.2" clip-path="url(#breeze-release-management-classify-provider-changes-line-7)">exasol</text><text class="breeze-release-management-classify-provider-changes-r1" x="1171.2" y="190.8" textLength="36.6" clip-path="url(#breeze-release-management-classify-provider-changes-line-7)">&#160;|&#160;</text><text class="breeze-release-management-classify-provider-changes-r4" x="1207.8" y="190.8" textLength="36.6" clip-path="url(#breeze-release-management-classify-provider-changes-line-7)">fab</text><text class="breeze-release-management-classify-provider-changes-r1" x="1244.4" y="190.8" textLength="36.6" clip-path="url(#breeze-release-management-classify-provider-changes-line-7)">&#160;|&#160;</text><text class="breeze-release-management-classify-provider-changes-r4" x="1281" y="190.8" textLength="97.6" clip-path="url(#breeze-release-management-classify-provider-changes-line-7)">facebook</text><text class="breeze-release-management-classify-provider-changes-r1" x="1378.6" y="190.8" textLength="36.6" clip-path="url(#breeze-release-management-classify-provider-changes-line-7)">&#160;|&#160;</text><text class="breeze-release-management-classify-provider-changes-r4" x="1415.2" y="190.8" textLength="36.6" clip-path="url(#breeze-release-management-classify-provider-changes-line-7)">ftp</text><text class="breeze-release-management-classify-provider-changes-r1" x="1464" y="190.8" textLength="12.2" clip-path="url(#breeze-release-management-classify-provider-changes-line-7)">
+</text><text class="breeze-release-management-classify-provider-changes-r1" x="12.2" y="215.2" textLength="24.4" clip-path="url(#breeze-release-management-classify-provider-changes-line-8)">|&#160;</text><text class="breeze-release-management-classify-provider-changes-r4" x="36.6" y="215.2" textLength="36.6" clip-path="url(#breeze-release-management-classify-provider-changes-line-8)">git</text><text class="breeze-release-management-classify-provider-changes-r1" x="73.2" y="215.2" textLength="36.6" clip-path="url(#breeze-release-management-classify-provider-changes-line-8)">&#160;|&#160;</text><text class="breeze-release-management-classify-provider-changes-r4" x="109.8" y="215.2" textLength="73.2" clip-path="url(#breeze-release-management-classify-provider-changes-line-8)">github</text><text class="breeze-release-management-classify-provider-changes-r1" x="183" y="215.2" textLength="36.6" clip-path="url(#breeze-release-management-classify-provider-changes-line-8)">&#160;|&#160;</text><text class="breeze-release-management-classify-provider-changes-r4" x="219.6" y="215.2" textLength="73.2" clip-path="url(#breeze-release-management-classify-provider-changes-line-8)">google</text><text class="breeze-release-management-classify-provider-changes-r1" x="292.8" y="215.2" textLength="36.6" clip-path="url(#breeze-release-management-classify-provider-changes-line-8)">&#160;|&#160;</text><text class="breeze-release-management-classify-provider-changes-r4" x="329.4" y="215.2" textLength="48.8" clip-path="url(#breeze-release-management-classify-provider-changes-line-8)">grpc</text><text class="breeze-release-management-classify-provider-changes-r1" x="378.2" y="215.2" textLength="36.6" clip-path="url(#breeze-release-management-classify-provider-changes-line-8)">&#160;|&#160;</text><text class="breeze-release-management-classify-provider-changes-r4" x="414.8" y="215.2" textLength="109.8" clip-path="url(#breeze-release-management-classify-provider-changes-line-8)">hashicorp</text><text class="breeze-release-management-classify-provider-changes-r1" x="524.6" y="215.2" textLength="36.6" clip-path="url(#breeze-release-management-classify-provider-changes-line-8)">&#160;|&#160;</text><text class="breeze-release-management-classify-provider-changes-r4" x="561.2" y="215.2" textLength="48.8" clip-path="url(#breeze-release-management-classify-provider-changes-line-8)">http</text><text class="breeze-release-management-classify-provider-changes-r1" x="610" y="215.2" textLength="36.6" clip-path="url(#breeze-release-management-classify-provider-changes-line-8)">&#160;|&#160;</text><text class="breeze-release-management-classify-provider-changes-r4" x="646.6" y="215.2" textLength="48.8" clip-path="url(#breeze-release-management-classify-provider-changes-line-8)">imap</text><text class="breeze-release-management-classify-provider-changes-r1" x="695.4" y="215.2" textLength="36.6" clip-path="url(#breeze-release-management-classify-provider-changes-line-8)">&#160;|&#160;</text><text class="breeze-release-management-classify-provider-changes-r4" x="732" y="215.2" textLength="97.6" clip-path="url(#breeze-release-management-classify-provider-changes-line-8)">influxdb</text><text class="breeze-release-management-classify-provider-changes-r1" x="829.6" y="215.2" textLength="36.6" clip-path="url(#breeze-release-management-classify-provider-changes-line-8)">&#160;|&#160;</text><text class="breeze-release-management-classify-provider-changes-r4" x="866.2" y="215.2" textLength="134.2" clip-path="url(#breeze-release-management-classify-provider-changes-line-8)">informatica</text><text class="breeze-release-management-classify-provider-changes-r1" x="1000.4" y="215.2" textLength="36.6" clip-path="url(#breeze-release-management-classify-provider-changes-line-8)">&#160;|&#160;</text><text class="breeze-release-management-classify-provider-changes-r4" x="1037" y="215.2" textLength="48.8" clip-path="url(#breeze-release-management-classify-provider-changes-line-8)">jdbc</text><text class="breeze-release-management-classify-provider-changes-r1" x="1085.8" y="215.2" textLength="36.6" clip-path="url(#breeze-release-management-classify-provider-changes-line-8)">&#160;|&#160;</text><text class="breeze-release-management-classify-provider-changes-r4" x="1122.4" y="215.2" textLength="85.4" clip-path="url(#breeze-release-management-classify-provider-changes-line-8)">jenkins</text><text class="breeze-release-management-classify-provider-changes-r1" x="1207.8" y="215.2" textLength="36.6" clip-path="url(#breeze-release-management-classify-provider-changes-line-8)">&#160;|&#160;</text><text class="breeze-release-management-classify-provider-changes-r4" x="1244.4" y="215.2" textLength="97.6" clip-path="url(#breeze-release-management-classify-provider-changes-line-8)">keycloak</text><text class="breeze-release-management-classify-provider-changes-r1" x="1342" y="215.2" textLength="109.8" clip-path="url(#breeze-release-management-classify-provider-changes-line-8)">&#160;|&#160;&#160;&#160;&#160;&#160;&#160;&#160;</text><text class="breeze-release-management-classify-provider-changes-r1" x="1464" y="215.2" textLength="12.2" clip-path="url(#breeze-release-management-classify-provider-changes-line-8)">
+</text><text class="breeze-release-management-classify-provider-changes-r4" x="12.2" y="239.6" textLength="109.8" clip-path="url(#breeze-release-management-classify-provider-changes-line-9)">microsoft</text><text class="breeze-release-management-classify-provider-changes-r1" x="122" y="239.6" textLength="12.2" clip-path="url(#breeze-release-management-classify-provider-changes-line-9)">.</text><text class="breeze-release-management-classify-provider-changes-r4" x="134.2" y="239.6" textLength="61" clip-path="url(#breeze-release-management-classify-provider-changes-line-9)">azure</text><text class="breeze-release-management-classify-provider-changes-r1" x="195.2" y="239.6" textLength="36.6" clip-path="url(#breeze-release-management-classify-provider-changes-line-9)">&#160;|&#160;</text><text class="breeze-release-management-classify-provider-changes-r4" x="231.8" y="239.6" textLength="109.8" clip-path="url(#breeze-release-management-classify-provider-changes-line-9)">microsoft</text><text class="breeze-release-management-classify-provider-changes-r1" x="341.6" y="239.6" textLength="12.2" clip-path="url(#breeze-release-management-classify-provider-changes-line-9)">.</text><text class="breeze-release-management-classify-provider-changes-r4" x="353.8" y="239.6" textLength="61" clip-path="url(#breeze-release-management-classify-provider-changes-line-9)">mssql</text><text class="breeze-release-management-classify-provider-changes-r1" x="414.8" y="239.6" textLength="36.6" clip-path="url(#breeze-release-management-classify-provider-changes-line-9)">&#160;|&#160;</text><text class="breeze-release-management-classify-provider-changes-r4" x="451.4" y="239.6" textLength="109.8" clip-path="url(#breeze-release-management-classify-provider-changes-line-9)">microsoft</text><text class="breeze-release-management-classify-provider-changes-r1" x="561.2" y="239.6" textLength="12.2" clip-path="url(#breeze-release-management-classify-provider-changes-line-9)">.</text><text class="breeze-release-management-classify-provider-changes-r4" x="573.4" y="239.6" textLength="48.8" clip-path="url(#breeze-release-management-classify-provider-changes-line-9)">psrp</text><text class="breeze-release-management-classify-provider-changes-r1" x="622.2" y="239.6" textLength="36.6" clip-path="url(#breeze-release-management-classify-provider-changes-line-9)">&#160;|&#160;</text><text class="breeze-release-management-classify-provider-changes-r4" x="658.8" y="239.6" textLength="109.8" clip-path="url(#breeze-release-management-classify-provider-changes-line-9)">microsoft</text><text class="breeze-release-management-classify-provider-changes-r1" x="768.6" y="239.6" textLength="12.2" clip-path="url(#breeze-release-management-classify-provider-changes-line-9)">.</text><text class="breeze-release-management-classify-provider-changes-r4" x="780.8" y="239.6" textLength="61" clip-path="url(#breeze-release-management-classify-provider-changes-line-9)">winrm</text><text class="breeze-release-management-classify-provider-changes-r1" x="841.8" y="239.6" textLength="36.6" clip-path="url(#breeze-release-management-classify-provider-changes-line-9)">&#160;|&#160;</text><text class="breeze-release-management-classify-provider-changes-r4" x="878.4" y="239.6" textLength="61" clip-path="url(#breeze-release-management-classify-provider-changes-line-9)">mongo</text><text class="breeze-release-management-classify-provider-changes-r1" x="939.4" y="239.6" textLength="36.6" clip-path="url(#breeze-release-management-classify-provider-changes-line-9)">&#160;|&#160;</text><text class="breeze-release-management-classify-provider-changes-r4" x="976" y="239.6" textLength="61" clip-path="url(#breeze-release-management-classify-provider-changes-line-9)">mysql</text><text class="breeze-release-management-classify-provider-changes-r1" x="1037" y="239.6" textLength="36.6" clip-path="url(#breeze-release-management-classify-provider-changes-line-9)">&#160;|&#160;</text><text class="breeze-release-management-classify-provider-changes-r4" x="1073.6" y="239.6" textLength="61" clip-path="url(#breeze-release-management-classify-provider-changes-line-9)">neo4j</text><text class="breeze-release-management-classify-provider-changes-r1" x="1134.6" y="239.6" textLength="36.6" clip-path="url(#breeze-release-management-classify-provider-changes-line-9)">&#160;|&#160;</text><text class="breeze-release-management-classify-provider-changes-r4" x="1171.2" y="239.6" textLength="48.8" clip-path="url(#breeze-release-management-classify-provider-changes-line-9)">odbc</text><text class="breeze-release-management-classify-provider-changes-r1" x="1220" y="239.6" textLength="36.6" clip-path="url(#breeze-release-management-classify-provider-changes-line-9)">&#160;|&#160;</text><text class="breeze-release-management-classify-provider-changes-r4" x="1256.6" y="239.6" textLength="73.2" clip-path="url(#breeze-release-management-classify-provider-changes-line-9)">openai</text><text class="breeze-release-management-classify-provider-changes-r1" x="1329.8" y="239.6" textLength="122" clip-path="url(#breeze-release-management-classify-provider-changes-line-9)">&#160;|&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</text><text class="breeze-release-management-classify-provider-changes-r1" x="1464" y="239.6" textLength="12.2" clip-path="url(#breeze-release-management-classify-provider-changes-line-9)">
+</text><text class="breeze-release-management-classify-provider-changes-r4" x="12.2" y="264" textLength="97.6" clip-path="url(#breeze-release-management-classify-provider-changes-line-10)">openfaas</text><text class="breeze-release-management-classify-provider-changes-r1" x="109.8" y="264" textLength="36.6" clip-path="url(#breeze-release-management-classify-provider-changes-line-10)">&#160;|&#160;</text><text class="breeze-release-management-classify-provider-changes-r4" x="146.4" y="264" textLength="134.2" clip-path="url(#breeze-release-management-classify-provider-changes-line-10)">openlineage</text><text class="breeze-release-management-classify-provider-changes-r1" x="280.6" y="264" textLength="36.6" clip-path="url(#breeze-release-management-classify-provider-changes-line-10)">&#160;|&#160;</text><text class="breeze-release-management-classify-provider-changes-r4" x="317.2" y="264" textLength="122" clip-path="url(#breeze-release-management-classify-provider-changes-line-10)">opensearch</text><text class="breeze-release-management-classify-provider-changes-r1" x="439.2" y="264" textLength="36.6" clip-path="url(#breeze-release-management-classify-provider-changes-line-10)">&#160;|&#160;</text><text class="breeze-release-management-classify-provider-changes-r4" x="475.8" y="264" textLength="97.6" clip-path="url(#breeze-release-management-classify-provider-changes-line-10)">opsgenie</text><text class="breeze-release-management-classify-provider-changes-r1" x="573.4" y="264" textLength="36.6" clip-path="url(#breeze-release-management-classify-provider-changes-line-10)">&#160;|&#160;</text><text class="breeze-release-management-classify-provider-changes-r4" x="610" y="264" textLength="73.2" clip-path="url(#breeze-release-management-classify-provider-changes-line-10)">oracle</text><text class="breeze-release-management-classify-provider-changes-r1" x="683.2" y="264" textLength="36.6" clip-path="url(#breeze-release-management-classify-provider-changes-line-10)">&#160;|&#160;</text><text class="breeze-release-management-classify-provider-changes-r4" x="719.8" y="264" textLength="109.8" clip-path="url(#breeze-release-management-classify-provider-changes-line-10)">pagerduty</text><text class="breeze-release-management-classify-provider-changes-r1" x="829.6" y="264" textLength="36.6" clip-path="url(#breeze-release-management-classify-provider-changes-line-10)">&#160;|&#160;</text><text class="breeze-release-management-classify-provider-changes-r4" x="866.2" y="264" textLength="109.8" clip-path="url(#breeze-release-management-classify-provider-changes-line-10)">papermill</text><text class="breeze-release-management-classify-provider-changes-r1" x="976" y="264" textLength="36.6" clip-path="url(#breeze-release-management-classify-provider-changes-line-10)">&#160;|&#160;</text><text class="breeze-release-management-classify-provider-changes-r4" x="1012.6" y="264" textLength="97.6" clip-path="url(#breeze-release-management-classify-provider-changes-line-10)">pgvector</text><text class="breeze-release-management-classify-provider-changes-r1" x="1110.2" y="264" textLength="36.6" clip-path="url(#breeze-release-management-classify-provider-changes-line-10)">&#160;|&#160;</text><text class="breeze-release-management-classify-provider-changes-r4" x="1146.8" y="264" textLength="97.6" clip-path="url(#breeze-release-management-classify-provider-changes-line-10)">pinecone</text><text class="breeze-release-management-classify-provider-changes-r1" x="1244.4" y="264" textLength="36.6" clip-path="url(#breeze-release-management-classify-provider-changes-line-10)">&#160;|&#160;</text><text class="breeze-release-management-classify-provider-changes-r4" x="1281" y="264" textLength="97.6" clip-path="url(#breeze-release-management-classify-provider-changes-line-10)">postgres</text><text class="breeze-release-management-classify-provider-changes-r1" x="1378.6" y="264" textLength="73.2" clip-path="url(#breeze-release-management-classify-provider-changes-line-10)">&#160;|&#160;&#160;&#160;&#160;</text><text class="breeze-release-management-classify-provider-changes-r1" x="1464" y="264" textLength="12.2" clip-path="url(#breeze-release-management-classify-provider-changes-line-10)">
+</text><text class="breeze-release-management-classify-provider-changes-r4" x="12.2" y="288.4" textLength="73.2" clip-path="url(#breeze-release-management-classify-provider-changes-line-11)">presto</text><text class="breeze-release-management-classify-provider-changes-r1" x="85.4" y="288.4" textLength="36.6" clip-path="url(#breeze-release-management-classify-provider-changes-line-11)">&#160;|&#160;</text><text class="breeze-release-management-classify-provider-changes-r4" x="122" y="288.4" textLength="73.2" clip-path="url(#breeze-release-management-classify-provider-changes-line-11)">qdrant</text><text class="breeze-release-management-classify-provider-changes-r1" x="195.2" y="288.4" textLength="36.6" clip-path="url(#breeze-release-management-classify-provider-changes-line-11)">&#160;|&#160;</text><text class="breeze-release-management-classify-provider-changes-r4" x="231.8" y="288.4" textLength="61" clip-path="url(#breeze-release-management-classify-provider-changes-line-11)">redis</text><text class="breeze-release-management-classify-provider-changes-r1" x="292.8" y="288.4" textLength="36.6" clip-path="url(#breeze-release-management-classify-provider-changes-line-11)">&#160;|&#160;</text><text class="breeze-release-management-classify-provider-changes-r4" x="329.4" y="288.4" textLength="122" clip-path="url(#breeze-release-management-classify-provider-changes-line-11)">salesforce</text><text class="breeze-release-management-classify-provider-changes-r1" x="451.4" y="288.4" textLength="36.6" clip-path="url(#breeze-release-management-classify-provider-changes-line-11)">&#160;|&#160;</text><text class="breeze-release-management-classify-provider-changes-r4" x="488" y="288.4" textLength="61" clip-path="url(#breeze-release-management-classify-provider-changes-line-11)">samba</text><text class="breeze-release-management-classify-provider-changes-r1" x="549" y="288.4" textLength="36.6" clip-path="url(#breeze-release-management-classify-provider-changes-line-11)">&#160;|&#160;</text><text class="breeze-release-management-classify-provider-changes-r4" x="585.6" y="288.4" textLength="85.4" clip-path="url(#breeze-release-management-classify-provider-changes-line-11)">segment</text><text class="breeze-release-management-classify-provider-changes-r1" x="671" y="288.4" textLength="36.6" clip-path="url(#breeze-release-management-classify-provider-changes-line-11)">&#160;|&#160;</text><text class="breeze-release-management-classify-provider-changes-r4" x="707.6" y="288.4" textLength="97.6" clip-path="url(#breeze-release-management-classify-provider-changes-line-11)">sendgrid</text><text class="breeze-release-management-classify-provider-changes-r1" x="805.2" y="288.4" textLength="36.6" clip-path="url(#breeze-release-management-classify-provider-changes-line-11)">&#160;|&#160;</text><text class="breeze-release-management-classify-provider-changes-r4" x="841.8" y="288.4" textLength="48.8" clip-path="url(#breeze-release-management-classify-provider-changes-line-11)">sftp</text><text class="breeze-release-management-classify-provider-changes-r1" x="890.6" y="288.4" textLength="36.6" clip-path="url(#breeze-release-management-classify-provider-changes-line-11)">&#160;|&#160;</text><text class="breeze-release-management-classify-provider-changes-r4" x="927.2" y="288.4" textLength="134.2" clip-path="url(#breeze-release-management-classify-provider-changes-line-11)">singularity</text><text class="breeze-release-management-classify-provider-changes-r1" x="1061.4" y="288.4" textLength="36.6" clip-path="url(#breeze-release-management-classify-provider-changes-line-11)">&#160;|&#160;</text><text class="breeze-release-management-classify-provider-changes-r4" x="1098" y="288.4" textLength="61" clip-path="url(#breeze-release-management-classify-provider-changes-line-11)">slack</text><text class="breeze-release-management-classify-provider-changes-r1" x="1159" y="288.4" textLength="36.6" clip-path="url(#breeze-release-management-classify-provider-changes-line-11)">&#160;|&#160;</text><text class="breeze-release-management-classify-provider-changes-r4" x="1195.6" y="288.4" textLength="48.8" clip-path="url(#breeze-release-management-classify-provider-changes-line-11)">smtp</text><text class="breeze-release-management-classify-provider-changes-r1" x="1244.4" y="288.4" textLength="36.6" clip-path="url(#breeze-release-management-classify-provider-changes-line-11)">&#160;|&#160;</text><text class="breeze-release-management-classify-provider-changes-r4" x="1281" y="288.4" textLength="109.8" clip-path="url(#breeze-release-management-classify-provider-changes-line-11)">snowflake</text><text class="breeze-release-management-classify-provider-changes-r1" x="1390.8" y="288.4" textLength="61" clip-path="url(#breeze-release-management-classify-provider-changes-line-11)">&#160;|&#160;&#160;&#160;</text><text class="breeze-release-management-classify-provider-changes-r1" x="1464" y="288.4" textLength="12.2" clip-path="url(#breeze-release-management-classify-provider-changes-line-11)">
+</text><text class="breeze-release-management-classify-provider-changes-r4" x="12.2" y="312.8" textLength="73.2" clip-path="url(#breeze-release-management-classify-provider-changes-line-12)">sqlite</text><text class="breeze-release-management-classify-provider-changes-r1" x="85.4" y="312.8" textLength="36.6" clip-path="url(#breeze-release-management-classify-provider-changes-line-12)">&#160;|&#160;</text><text class="breeze-release-management-classify-provider-changes-r4" x="122" y="312.8" textLength="36.6" clip-path="url(#breeze-release-management-classify-provider-changes-line-12)">ssh</text><text class="breeze-release-management-classify-provider-changes-r1" x="158.6" y="312.8" textLength="36.6" clip-path="url(#breeze-release-management-classify-provider-changes-line-12)">&#160;|&#160;</text><text class="breeze-release-management-classify-provider-changes-r4" x="195.2" y="312.8" textLength="97.6" clip-path="url(#breeze-release-management-classify-provider-changes-line-12)">standard</text><text class="breeze-release-management-classify-provider-changes-r1" x="292.8" y="312.8" textLength="36.6" clip-path="url(#breeze-release-management-classify-provider-changes-line-12)">&#160;|&#160;</text><text class="breeze-release-management-classify-provider-changes-r4" x="329.4" y="312.8" textLength="85.4" clip-path="url(#breeze-release-management-classify-provider-changes-line-12)">tableau</text><text class="breeze-release-management-classify-provider-changes-r1" x="414.8" y="312.8" textLength="36.6" clip-path="url(#breeze-release-management-classify-provider-changes-line-12)">&#160;|&#160;</text><text class="breeze-release-management-classify-provider-changes-r4" x="451.4" y="312.8" textLength="97.6" clip-path="url(#breeze-release-management-classify-provider-changes-line-12)">telegram</text><text class="breeze-release-management-classify-provider-changes-r1" x="549" y="312.8" textLength="36.6" clip-path="url(#breeze-release-management-classify-provider-changes-line-12)">&#160;|&#160;</text><text class="breeze-release-management-classify-provider-changes-r4" x="585.6" y="312.8" textLength="97.6" clip-path="url(#breeze-release-management-classify-provider-changes-line-12)">teradata</text><text class="breeze-release-management-classify-provider-changes-r1" x="683.2" y="312.8" textLength="36.6" clip-path="url(#breeze-release-management-classify-provider-changes-line-12)">&#160;|&#160;</text><text class="breeze-release-management-classify-provider-changes-r4" x="719.8" y="312.8" textLength="61" clip-path="url(#breeze-release-management-classify-provider-changes-line-12)">trino</text><text class="breeze-release-management-classify-provider-changes-r1" x="780.8" y="312.8" textLength="36.6" clip-path="url(#breeze-release-management-classify-provider-changes-line-12)">&#160;|&#160;</text><text class="breeze-release-management-classify-provider-changes-r4" x="817.4" y="312.8" textLength="85.4" clip-path="url(#breeze-release-management-classify-provider-changes-line-12)">vertica</text><text class="breeze-release-management-classify-provider-changes-r1" x="902.8" y="312.8" textLength="36.6" clip-path="url(#breeze-release-management-classify-provider-changes-line-12)">&#160;|&#160;</text><text class="breeze-release-management-classify-provider-changes-r4" x="939.4" y="312.8" textLength="61" clip-path="url(#breeze-release-management-classify-provider-changes-line-12)">vespa</text><text class="breeze-release-management-classify-provider-changes-r1" x="1000.4" y="312.8" textLength="36.6" clip-path="url(#breeze-release-management-classify-provider-changes-line-12)">&#160;|&#160;</text><text class="breeze-release-management-classify-provider-changes-r4" x="1037" y="312.8" textLength="97.6" clip-path="url(#breeze-release-management-classify-provider-changes-line-12)">weaviate</text><text class="breeze-release-management-classify-provider-changes-r1" x="1134.6" y="312.8" textLength="36.6" clip-path="url(#breeze-release-management-classify-provider-changes-line-12)">&#160;|&#160;</text><text class="breeze-release-management-classify-provider-changes-r4" x="1171.2" y="312.8" textLength="73.2" clip-path="url(#breeze-release-management-classify-provider-changes-line-12)">yandex</text><text class="breeze-release-management-classify-provider-changes-r1" x="1244.4" y="312.8" textLength="36.6" clip-path="url(#breeze-release-management-classify-provider-changes-line-12)">&#160;|&#160;</text><text class="breeze-release-management-classify-provider-changes-r4" x="1281" y="312.8" textLength="36.6" clip-path="url(#breeze-release-management-classify-provider-changes-line-12)">ydb</text><text class="breeze-release-management-classify-provider-changes-r1" x="1317.6" y="312.8" textLength="134.2" clip-path="url(#breeze-release-management-classify-provider-changes-line-12)">&#160;|&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</text><text class="breeze-release-management-classify-provider-changes-r1" x="1464" y="312.8" textLength="12.2" clip-path="url(#breeze-release-management-classify-provider-changes-line-12)">
+</text><text class="breeze-release-management-classify-provider-changes-r4" x="12.2" y="337.2" textLength="85.4" clip-path="url(#breeze-release-management-classify-provider-changes-line-13)">zendesk</text><text class="breeze-release-management-classify-provider-changes-r1" x="97.6" y="337.2" textLength="1354.2" clip-path="url(#breeze-release-management-classify-provider-changes-line-13)">]...&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</text><text class="breeze-release-management-classify-provider-changes-r1" x="1464" y="337.2" textLength="12.2" clip-path="url(#breeze-release-management-classify-provider-changes-line-13)">
+</text><text class="breeze-release-management-classify-provider-changes-r1" x="1464" y="361.6" textLength="12.2" clip-path="url(#breeze-release-management-classify-provider-changes-line-14)">
+</text><text class="breeze-release-management-classify-provider-changes-r1" x="12.2" y="386" textLength="1390.8" clip-path="url(#breeze-release-management-classify-provider-changes-line-15)">Classify&#160;each&#160;provider&#x27;s&#160;unreleased&#160;changes&#160;with&#160;hard-coded,&#160;high-confidence&#160;rules,&#160;flagging&#160;ambiguous&#160;commits&#160;as&#160;</text><text class="breeze-release-management-classify-provider-changes-r1" x="1464" y="386" textLength="12.2" clip-path="url(#breeze-release-management-classify-provider-changes-line-15)">
+</text><text class="breeze-release-management-classify-provider-changes-r1" x="12.2" y="410.4" textLength="1220" clip-path="url(#breeze-release-management-classify-provider-changes-line-16)">&#x27;needs_llm&#x27;&#160;for&#160;an&#160;agent/skill&#160;to&#160;assess.&#160;Outputs&#160;JSON&#160;-&#160;a&#160;deterministic&#160;alternative&#160;to&#160;the&#160;random&#160;&#x27;</text><text class="breeze-release-management-classify-provider-changes-r4" x="1232.2" y="410.4" textLength="207.4" clip-path="url(#breeze-release-management-classify-provider-changes-line-16)">--non-interactive</text><text class="breeze-release-management-classify-provider-changes-r1" x="1439.6" y="410.4" textLength="12.2" clip-path="url(#breeze-release-management-classify-provider-changes-line-16)">&#x27;</text><text class="breeze-release-management-classify-provider-changes-r1" x="1464" y="410.4" textLength="12.2" clip-path="url(#breeze-release-management-classify-provider-changes-line-16)">
+</text><text class="breeze-release-management-classify-provider-changes-r1" x="12.2" y="434.8" textLength="366" clip-path="url(#breeze-release-management-classify-provider-changes-line-17)">run&#160;used&#160;purely&#160;for&#160;discovery.</text><text class="breeze-release-management-classify-provider-changes-r1" x="1464" y="434.8" textLength="12.2" clip-path="url(#breeze-release-management-classify-provider-changes-line-17)">
+</text><text class="breeze-release-management-classify-provider-changes-r1" x="1464" y="459.2" textLength="12.2" clip-path="url(#breeze-release-management-classify-provider-changes-line-18)">
+</text><text class="breeze-release-management-classify-provider-changes-r5" x="0" y="483.6" textLength="24.4" clip-path="url(#breeze-release-management-classify-provider-changes-line-19)">╭─</text><text class="breeze-release-management-classify-provider-changes-r5" x="24.4" y="483.6" textLength="292.8" clip-path="url(#breeze-release-management-classify-provider-changes-line-19)">&#160;Classification&#160;options&#160;</text><text class="breeze-release-management-classify-provider-changes-r5" x="317.2" y="483.6" textLength="1122.4" clip-path="url(#breeze-release-management-classify-provider-changes-line-19)">────────────────────────────────────────────────────────────────────────────────────────────</text><text class="breeze-release-management-classify-provider-changes-r5" x="1439.6" y="483.6" textLength="24.4" clip-path="url(#breeze-release-management-classify-provider-changes-line-19)">─╮</text><text class="breeze-release-management-classify-provider-changes-r1" x="1464" y="483.6" textLength="12.2" clip-path="url(#breeze-release-management-classify-provider-changes-line-19)">
+</text><text class="breeze-release-management-classify-provider-changes-r5" x="0" y="508" textLength="12.2" clip-path="url(#breeze-release-management-classify-provider-changes-line-20)">│</text><text class="breeze-release-management-classify-provider-changes-r4" x="24.4" y="508" textLength="195.2" clip-path="url(#breeze-release-management-classify-provider-changes-line-20)">--base-branch&#160;&#160;&#160;</text><text class="breeze-release-management-classify-provider-changes-r1" x="244" y="508" textLength="610" clip-path="url(#breeze-release-management-classify-provider-changes-line-20)">Base&#160;branch&#160;to&#160;diff&#160;the&#160;provider&#160;changes&#160;against.&#160;</text><text class="breeze-release-management-classify-provider-changes-r6" x="854" y="508" textLength="73.2" clip-path="url(#breeze-release-management-classify-provider-changes-line-20)">(TEXT)</text><text class="breeze-release-management-classify-provider-changes-r5" x="1451.8" y="508" textLength="12.2" clip-path="url(#breeze-release-management-classify-provider-changes-line-20)">│</text><text class="breeze-release-management-classify-provider-changes-r1" x="1464" y="508" textLength="12.2" clip-path="url(#breeze-release-management-classify-provider-changes-line-20)">
+</text><text class="breeze-release-management-classify-provider-changes-r5" x="0" y="532.4" textLength="12.2" clip-path="url(#breeze-release-management-classify-provider-changes-line-21)">│</text><text class="breeze-release-management-classify-provider-changes-r4" x="24.4" y="532.4" textLength="195.2" clip-path="url(#breeze-release-management-classify-provider-changes-line-21)">--skip-git-fetch</text><text class="breeze-release-management-classify-provider-changes-r1" x="244" y="532.4" textLength="1122.4" clip-path="url(#breeze-release-management-classify-provider-changes-line-21)">Skip&#160;recreating/fetching&#160;the&#160;&#x27;apache-https-for-providers&#x27;&#160;remote;&#160;use&#160;the&#160;local&#160;state&#160;as-is.</text><text class="breeze-release-management-classify-provider-changes-r5" x="1451.8" y="532.4" textLength="12.2" clip-path="url(#breeze-release-management-classify-provider-changes-line-21)">│</text><text class="breeze-release-management-classify-provider-changes-r1" x="1464" y="532.4" textLength="12.2" clip-path="url(#breeze-release-management-classify-provider-changes-line-21)">
+</text><text class="breeze-release-management-classify-provider-changes-r5" x="0" y="556.8" textLength="12.2" clip-path="url(#breeze-release-management-classify-provider-changes-line-22)">│</text><text class="breeze-release-management-classify-provider-changes-r4" x="24.4" y="556.8" textLength="195.2" clip-path="url(#breeze-release-management-classify-provider-changes-line-22)">--output-file&#160;&#160;&#160;</text><text class="breeze-release-management-classify-provider-changes-r1" x="244" y="556.8" textLength="1037" clip-path="url(#breeze-release-management-classify-provider-changes-line-22)">Write&#160;the&#160;JSON&#160;result&#160;here&#160;instead&#160;of&#160;stdout&#160;(keeps&#160;stdout&#160;free&#160;of&#160;progress&#160;output).&#160;</text><text class="breeze-release-management-classify-provider-changes-r6" x="1281" y="556.8" textLength="73.2" clip-path="url(#breeze-release-management-classify-provider-changes-line-22)">(FILE)</text><text class="breeze-release-management-classify-provider-changes-r5" x="1451.8" y="556.8" textLength="12.2" clip-path="url(#breeze-release-management-classify-provider-changes-line-22)">│</text><text class="breeze-release-management-classify-provider-changes-r1" x="1464" y="556.8" textLength="12.2" clip-path="url(#breeze-release-management-classify-provider-changes-line-22)">
+</text><text class="breeze-release-management-classify-provider-changes-r5" x="0" y="581.2" textLength="1464" clip-path="url(#breeze-release-management-classify-provider-changes-line-23)">╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯</text><text class="breeze-release-management-classify-provider-changes-r1" x="1464" y="581.2" textLength="12.2" clip-path="url(#breeze-release-management-classify-provider-changes-line-23)">
+</text><text class="breeze-release-management-classify-provider-changes-r5" x="0" y="605.6" textLength="24.4" clip-path="url(#breeze-release-management-classify-provider-changes-line-24)">╭─</text><text class="breeze-release-management-classify-provider-changes-r5" x="24.4" y="605.6" textLength="366" clip-path="url(#breeze-release-management-classify-provider-changes-line-24)">&#160;Select&#160;non-regular&#160;providers&#160;</text><text class="breeze-release-management-classify-provider-changes-r5" x="390.4" y="605.6" textLength="1049.2" clip-path="url(#breeze-release-management-classify-provider-changes-line-24)">──────────────────────────────────────────────────────────────────────────────────────</text><text class="breeze-release-management-classify-provider-changes-r5" x="1439.6" y="605.6" textLength="24.4" clip-path="url(#breeze-release-management-classify-provider-changes-line-24)">─╮</text><text class="breeze-release-management-classify-provider-changes-r1" x="1464" y="605.6" textLength="12.2" clip-path="url(#breeze-release-management-classify-provider-changes-line-24)">
+</text><text class="breeze-release-management-classify-provider-changes-r5" x="0" y="630" textLength="12.2" clip-path="url(#breeze-release-management-classify-provider-changes-line-25)">│</text><text class="breeze-release-management-classify-provider-changes-r4" x="24.4" y="630" textLength="353.8" clip-path="url(#breeze-release-management-classify-provider-changes-line-25)">--include-not-ready-providers</text><text class="breeze-release-management-classify-provider-changes-r1" x="402.6" y="630" textLength="817.4" clip-path="url(#breeze-release-management-classify-provider-changes-line-25)">Whether&#160;to&#160;include&#160;providers&#160;that&#160;are&#160;not&#160;yet&#160;ready&#160;to&#160;be&#160;released.</text><text class="breeze-release-management-classify-provider-changes-r5" x="1451.8" y="630" textLength="12.2" clip-path="url(#breeze-release-management-classify-provider-changes-line-25)">│</text><text class="breeze-release-management-classify-provider-changes-r1" x="1464" y="630" textLength="12.2" clip-path="url(#breeze-release-management-classify-provider-changes-line-25)">
+</text><text class="breeze-release-management-classify-provider-changes-r5" x="0" y="654.4" textLength="12.2" clip-path="url(#breeze-release-management-classify-provider-changes-line-26)">│</text><text class="breeze-release-management-classify-provider-changes-r4" x="24.4" y="654.4" textLength="353.8" clip-path="url(#breeze-release-management-classify-provider-changes-line-26)">--include-removed-providers&#160;&#160;</text><text class="breeze-release-management-classify-provider-changes-r1" x="402.6" y="654.4" textLength="561.2" clip-path="url(#breeze-release-management-classify-provider-changes-line-26)">Whether&#160;to&#160;include&#160;providers&#160;that&#160;are&#160;removed.</text><text class="breeze-release-management-classify-provider-changes-r5" x="1451.8" y="654.4" textLength="12.2" clip-path="url(#breeze-release-management-classify-provider-changes-line-26)">│</text><text class="breeze-release-management-classify-provider-changes-r1" x="1464" y="654.4" textLength="12.2" clip-path="url(#breeze-release-management-classify-provider-changes-line-26)">
+</text><text class="breeze-release-management-classify-provider-changes-r5" x="0" y="678.8" textLength="1464" clip-path="url(#breeze-release-management-classify-provider-changes-line-27)">╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯</text><text class="breeze-release-management-classify-provider-changes-r1" x="1464" y="678.8" textLength="12.2" clip-path="url(#breeze-release-management-classify-provider-changes-line-27)">
+</text><text class="breeze-release-management-classify-provider-changes-r5" x="0" y="703.2" textLength="24.4" clip-path="url(#breeze-release-management-classify-provider-changes-line-28)">╭─</text><text class="breeze-release-management-classify-provider-changes-r5" x="24.4" y="703.2" textLength="195.2" clip-path="url(#breeze-release-management-classify-provider-changes-line-28)">&#160;Common&#160;options&#160;</text><text class="breeze-release-management-classify-provider-changes-r5" x="219.6" y="703.2" textLength="1220" clip-path="url(#breeze-release-management-classify-provider-changes-line-28)">────────────────────────────────────────────────────────────────────────────────────────────────────</text><text class="breeze-release-management-classify-provider-changes-r5" x="1439.6" y="703.2" textLength="24.4" clip-path="url(#breeze-release-management-classify-provider-changes-line-28)">─╮</text><text class="breeze-release-management-classify-provider-changes-r1" x="1464" y="703.2" textLength="12.2" clip-path="url(#breeze-release-management-classify-provider-changes-line-28)">
+</text><text class="breeze-release-management-classify-provider-changes-r5" x="0" y="727.6" textLength="12.2" clip-path="url(#breeze-release-management-classify-provider-changes-line-29)">│</text><text class="breeze-release-management-classify-provider-changes-r4" x="24.4" y="727.6" textLength="231.8" clip-path="url(#breeze-release-management-classify-provider-changes-line-29)">--github-repository</text><text class="breeze-release-management-classify-provider-changes-r7" x="280.6" y="727.6" textLength="24.4" clip-path="url(#breeze-release-management-classify-provider-changes-line-29)">-g</text><text class="breeze-release-management-classify-provider-changes-r1" x="329.4" y="727.6" textLength="597.8" clip-path="url(#breeze-release-management-classify-provider-changes-line-29)">GitHub&#160;repository&#160;used&#160;to&#160;pull,&#160;push&#160;run&#160;images.&#160;</text><text class="breeze-release-management-classify-provider-changes-r5" x="927.2" y="727.6" textLength="305" clip-path="url(#breeze-release-management-classify-provider-changes-line-29)">[default:&#160;apache/airflow]</text><text class="breeze-release-management-classify-provider-changes-r6" x="1244.4" y="727.6" textLength="73.2" clip-path="url(#breeze-release-management-classify-provider-changes-line-29)">(TEXT)</text><text class="breeze-release-management-classify-provider-changes-r5" x="1451.8" y="727.6" textLength="12.2" clip-path="url(#breeze-release-management-classify-provider-changes-line-29)">│</text><text class="breeze-release-management-classify-provider-changes-r1" x="1464" y="727.6" textLength="12.2" clip-path="url(#breeze-release-management-classify-provider-changes-line-29)">
+</text><text class="breeze-release-management-classify-provider-changes-r5" x="0" y="752" textLength="12.2" clip-path="url(#breeze-release-management-classify-provider-changes-line-30)">│</text><text class="breeze-release-management-classify-provider-changes-r4" x="24.4" y="752" textLength="231.8" clip-path="url(#breeze-release-management-classify-provider-changes-line-30)">--verbose&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</text><text class="breeze-release-management-classify-provider-changes-r7" x="280.6" y="752" textLength="24.4" clip-path="url(#breeze-release-management-classify-provider-changes-line-30)">-v</text><text class="breeze-release-management-classify-provider-changes-r1" x="329.4" y="752" textLength="585.6" clip-path="url(#breeze-release-management-classify-provider-changes-line-30)">Print&#160;verbose&#160;information&#160;about&#160;performed&#160;steps.</text><text class="breeze-release-management-classify-provider-changes-r5" x="1451.8" y="752" textLength="12.2" clip-path="url(#breeze-release-management-classify-provider-changes-line-30)">│</text><text class="breeze-release-management-classify-provider-changes-r1" x="1464" y="752" textLength="12.2" clip-path="url(#breeze-release-management-classify-provider-changes-line-30)">
+</text><text class="breeze-release-management-classify-provider-changes-r5" x="0" y="776.4" textLength="12.2" clip-path="url(#breeze-release-management-classify-provider-changes-line-31)">│</text><text class="breeze-release-management-classify-provider-changes-r4" x="24.4" y="776.4" textLength="231.8" clip-path="url(#breeze-release-management-classify-provider-changes-line-31)">--dry-run&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</text><text class="breeze-release-management-classify-provider-changes-r7" x="280.6" y="776.4" textLength="24.4" clip-path="url(#breeze-release-management-classify-provider-changes-line-31)">-D</text><text class="breeze-release-management-classify-provider-changes-r1" x="329.4" y="776.4" textLength="719.8" clip-path="url(#breeze-release-management-classify-provider-changes-line-31)">If&#160;dry-run&#160;is&#160;set,&#160;commands&#160;are&#160;only&#160;printed,&#160;not&#160;executed.</text><text class="breeze-release-management-classify-provider-changes-r5" x="1451.8" y="776.4" textLength="12.2" clip-path="url(#breeze-release-management-classify-provider-changes-line-31)">│</text><text class="breeze-release-management-classify-provider-changes-r1" x="1464" y="776.4" textLength="12.2" clip-path="url(#breeze-release-management-classify-provider-changes-line-31)">
+</text><text class="breeze-release-management-classify-provider-changes-r5" x="0" y="800.8" textLength="12.2" clip-path="url(#breeze-release-management-classify-provider-changes-line-32)">│</text><text class="breeze-release-management-classify-provider-changes-r4" x="24.4" y="800.8" textLength="231.8" clip-path="url(#breeze-release-management-classify-provider-changes-line-32)">--help&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</text><text class="breeze-release-management-classify-provider-changes-r7" x="280.6" y="800.8" textLength="24.4" clip-path="url(#breeze-release-management-classify-provider-changes-line-32)">-h</text><text class="breeze-release-management-classify-provider-changes-r1" x="329.4" y="800.8" textLength="329.4" clip-path="url(#breeze-release-management-classify-provider-changes-line-32)">Show&#160;this&#160;message&#160;and&#160;exit.</text><text class="breeze-release-management-classify-provider-changes-r5" x="1451.8" y="800.8" textLength="12.2" clip-path="url(#breeze-release-management-classify-provider-changes-line-32)">│</text><text class="breeze-release-management-classify-provider-changes-r1" x="1464" y="800.8" textLength="12.2" clip-path="url(#breeze-release-management-classify-provider-changes-line-32)">
+</text><text class="breeze-release-management-classify-provider-changes-r5" x="0" y="825.2" textLength="1464" clip-path="url(#breeze-release-management-classify-provider-changes-line-33)">╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯</text><text class="breeze-release-management-classify-provider-changes-r1" x="1464" y="825.2" textLength="12.2" clip-path="url(#breeze-release-management-classify-provider-changes-line-33)">
+</text>
+    </g>
+    </g>
+</svg>
diff --git a/dev/breeze/doc/images/output_release-management_classify-provider-changes.txt b/dev/breeze/doc/images/output_release-management_classify-provider-changes.txt
new file mode 100644
index 0000000000000..2d07d9aa3c50c
--- /dev/null
+++ b/dev/breeze/doc/images/output_release-management_classify-provider-changes.txt
@@ -0,0 +1 @@
+04b4357a8f4dca28f14f26c2371d843d
diff --git a/dev/breeze/src/airflow_breeze/commands/release_management_commands.py b/dev/breeze/src/airflow_breeze/commands/release_management_commands.py
index c7e6378239b4a..a117e9f11f609 100644
--- a/dev/breeze/src/airflow_breeze/commands/release_management_commands.py
+++ b/dev/breeze/src/airflow_breeze/commands/release_management_commands.py
@@ -811,6 +811,115 @@ def provider_action_summary(description: str, message_type: MessageType, package
         console_print()
 
 
+@release_management_group.command(
+    name="classify-provider-changes",
+    help="Classify each provider's unreleased changes with hard-coded, high-confidence rules, "
+    "flagging ambiguous commits as 'needs_llm' for an agent/skill to assess. Outputs JSON - a "
+    "deterministic alternative to the random '--non-interactive' run used purely for discovery.",
+)
+@click.option(
+    "--base-branch",
+    type=str,
+    default="main",
+    help="Base branch to diff the provider changes against.",
+)
+@click.option(
+    "--skip-git-fetch",
+    is_flag=True,
+    help="Skip recreating/fetching the 'apache-https-for-providers' remote; use the local state as-is.",
+)
+@click.option(
+    "--output-file",
+    type=click.Path(dir_okay=False, writable=True, path_type=Path),
+    help="Write the JSON result here instead of stdout (keeps stdout free of progress output).",
+)
+@option_github_repository
+@option_include_not_ready_providers
+@option_include_removed_providers
+@argument_provider_distributions
+@option_verbose
+@option_dry_run
+def classify_provider_changes(
+    base_branch: str,
+    skip_git_fetch: bool,
+    output_file: Path | None,
+    github_repository: str,
+    include_not_ready_providers: bool,
+    include_removed_providers: bool,
+    provider_distributions: tuple[str, ...],
+):
+    import json
+
+    from airflow_breeze.prepare_providers.provider_documentation import (
+        NEEDS_LLM_CLASSIFICATION,
+        _get_all_changes_for_package,
+        classify_change_deterministically,
+    )
+
+    perform_environment_checks()
+    cleanup_python_generated_files()
+    if not provider_distributions:
+        provider_distributions = get_available_distributions(
+            include_removed=include_removed_providers, include_not_ready=include_not_ready_providers
+        )
+    if not skip_git_fetch:
+        run_command(["git", "remote", "rm", "apache-https-for-providers"], check=False, stderr=DEVNULL)
+        make_sure_remote_apache_exists_and_fetch(github_repository=github_repository)
+
+    result: dict[str, Any] = {"base_branch": base_branch, "providers": {}}
+    needs_llm_total = 0
+    for provider_id in provider_distributions:
+        try:
+            basic_provider_checks(provider_id)
+            _, list_of_list_of_changes, _ = _get_all_changes_for_package(
+                provider_id,
+                base_branch,
+                reapply_templates_only=False,
+                only_min_version_update=False,
+            )
+        except Exception as e:
+            # Typically a brand-new provider with no prior release tag, or a suspended provider.
+            result["providers"][provider_id] = {
+                "pending": True,
+                "needs_llm": True,
+                "note": f"could not compute diff (new provider or missing release tag): {e}",
+            }
+            continue
+        changes = list_of_list_of_changes[0] if list_of_list_of_changes else []
+        if not changes:
+            continue
+        commits = []
+        for change in changes:
+            classification, reason = classify_change_deterministically(provider_id, change)
+            if classification == NEEDS_LLM_CLASSIFICATION:
+                needs_llm_total += 1
+            commits.append(
+                {
+                    "hash": change.short_hash,
+                    "pr": change.pr,
+                    "subject": change.message_without_backticks,
+                    "classification": classification,
+                    "reason": reason,
+                }
+            )
+        result["providers"][provider_id] = {
+            "current_version": get_provider_details(provider_id).versions[0],
+            "commits": commits,
+        }
+
+    payload = json.dumps(result, indent=2)
+    if output_file:
+        output_file.write_text(payload + "\n")
+        console_print(
+            f"[success]Wrote classification for {len(result['providers'])} provider(s) "
+            f"to {output_file}[/]\n"
+            f"[info]{needs_llm_total} commit(s) flagged 'needs_llm' for LLM assessment.[/]"
+        )
+    else:
+        # Plain stdout (not via the rich console) so the JSON is machine-parsable.
+        print(payload)
+
+
 @release_management_group.command(
     name="prepare-provider-documentation",
     help="Prepare CHANGELOG, README and COMMITS information for providers.",
diff --git a/dev/breeze/src/airflow_breeze/commands/release_management_commands_config.py b/dev/breeze/src/airflow_breeze/commands/release_management_commands_config.py
index 52c51e0c53151..214b2932b8c62 100644
--- a/dev/breeze/src/airflow_breeze/commands/release_management_commands_config.py
+++ b/dev/breeze/src/airflow_breeze/commands/release_management_commands_config.py
@@ -42,6 +42,7 @@
     "name": "Providers release commands",
     "commands": [
         "prepare-provider-documentation",
+        "classify-provider-changes",
         "update-providers-next-version",
         "prepare-provider-distributions",
         "install-provider-distributions",
@@ -266,6 +267,23 @@
             ],
         },
     ],
+    "breeze release-management classify-provider-changes": [
+        {
+            "name": "Classification options",
+            "options": [
+                "--base-branch",
+                "--skip-git-fetch",
+                "--output-file",
+            ],
+        },
+        {
+            "name": "Select non-regular providers",
+            "options": [
+                "--include-not-ready-providers",
+                "--include-removed-providers",
+            ],
+        },
+    ],
     "breeze release-management prepare-provider-documentation": [
         {
             "name": "Documentation generation mode",
diff --git a/dev/breeze/src/airflow_breeze/prepare_providers/provider_documentation.py b/dev/breeze/src/airflow_breeze/prepare_providers/provider_documentation.py
index 3b42befe3fa37..0a3053f11842d 100644
--- a/dev/breeze/src/airflow_breeze/prepare_providers/provider_documentation.py
+++ b/dev/breeze/src/airflow_breeze/prepare_providers/provider_documentation.py
@@ -251,6 +251,50 @@ def classify_provider_pr_files(provider_id: str, commit_hash: str) -> str:
     return classification_result(provider_id, changed_files)
 
 
+# Classification value emitted when no high-confidence hard-coded rule matches and
+# an LLM/agent must assess the type of change. The deterministic rules only ever
+# decide ``documentation``/``skip``/``misc`` (the cases that can be decided with
+# near-certainty from changed files or the commit subject); everything else is
+# deliberately left to an LLM, because ``Fix``/``Add`` subjects are too often wrong
+# (e.g. an "Add ..." that is actually a breaking change).
+NEEDS_LLM_CLASSIFICATION = "needs_llm"
+
+# Maps the deterministic file/subject verdicts to the human-readable classification
+# names used by the prepare-providers-documentation skill and changelog sections.
+_DETERMINISTIC_CLASSIFICATION_NAMES = {
+    TypeOfChange.DOCUMENTATION: "documentation",
+    TypeOfChange.SKIP: "skip",
+    TypeOfChange.MISC: "misc",
+}
+
+_BUMP_SUBJECT_RE = re.compile(r"^\s*bump\b", re.IGNORECASE)
+
+
+def classify_change_deterministically(provider_id: str, change: Change) -> tuple[str, str]:
+    """Classify a single provider change using only hard-coded, high-confidence rules.
+
+    Returns a ``(classification, reason)`` tuple where ``classification`` is one of
+    ``documentation``, ``skip``, ``misc`` (decided here) or ``needs_llm`` (no
+    high-confidence rule matched - an LLM/agent must assess the type of change).
+
+    Intentionally conservative: only changed-files heuristics and a ``Bump``
+    dependency-bump subject are trusted. ``Fix``/``Add`` subjects are NOT
+    auto-classified as bugfix/feature, since they are wrong too often to be safe.
+    """
+    files_class = classify_provider_pr_files(provider_id, change.full_hash)
+    if files_class == "documentation":
+        return _DETERMINISTIC_CLASSIFICATION_NAMES[TypeOfChange.DOCUMENTATION], (
+            "only provider documentation (*.rst) files changed"
+        )
+    if files_class == "test_or_example_only":
+        return _DETERMINISTIC_CLASSIFICATION_NAMES[TypeOfChange.SKIP], ("only tests / example DAGs changed")
+    if _BUMP_SUBJECT_RE.match(change.message):
+        return _DETERMINISTIC_CLASSIFICATION_NAMES[TypeOfChange.MISC], (
+            "dependency bump (subject starts with 'Bump')"
+        )
+    return NEEDS_LLM_CLASSIFICATION, "no high-confidence deterministic rule matched"
+
+
 def _get_git_log_command(
     folder_paths: list[Path] | None = None, from_commit: str | None = None, to_commit: str | None = None
 ) -> list[str]:
diff --git a/dev/breeze/tests/test_provider_documentation.py b/dev/breeze/tests/test_provider_documentation.py
index 9d4340c48ae93..b10484520711c 100644
--- a/dev/breeze/tests/test_provider_documentation.py
+++ b/dev/breeze/tests/test_provider_documentation.py
@@ -23,6 +23,7 @@
 import pytest
 
 from airflow_breeze.prepare_providers.provider_documentation import (
+    NEEDS_LLM_CLASSIFICATION,
     VERSION_MAJOR_INDEX,
     VERSION_MINOR_INDEX,
     VERSION_PATCHLEVEL_INDEX,
@@ -34,6 +35,7 @@
     _get_changes_classified,
     _get_git_log_command,
     classification_result,
+    classify_change_deterministically,
     get_most_impactful_change,
     get_version_tag,
 )
@@ -490,3 +492,43 @@ def test_get_most_impactful_change(changes, expected):
 def test_classify_provider_pr_files_logic(provider_id, changed_files, expected):
     result = classification_result(provider_id, changed_files)
     assert result == expected
+
+
+def _make_change(subject: str) -> Change:
+    return Change(
+        full_hash="deadbeefdeadbeefdeadbeefdeadbeefdeadbeef",
+        short_hash="deadbee",
+        date="2026-06-08",
+        version="1.0.0",
+        message=subject,
+        message_without_backticks=subject.replace("`", "'"),
+        pr="123",
+    )
+
+
+@pytest.mark.parametrize(
+    ("files_class", "subject", "expected"),
+    [
+        # changed-files verdict wins, regardless of the subject
+        pytest.param("documentation", "Fix typo in docs", "documentation", id="doc_only"),
+        pytest.param("documentation", "Bump aiohttp", "documentation", id="doc_only_beats_bump"),
+        pytest.param("test_or_example_only", "Add a flaky test", "skip", id="test_only"),
+        # subject-based deterministic rule: dependency bumps
+        pytest.param("other", "Bump aiohttp regarding dependabot warning", "misc", id="bump_misc"),
+        pytest.param("other", "bump the deps group across 1 directory", "misc", id="lowercase_bump_misc"),
+        # everything else is intentionally left to the LLM (conservative)
+        pytest.param("other", "Fix the ftp tls", NEEDS_LLM_CLASSIFICATION, id="fix_needs_llm"),
+        pytest.param("other", "Add DmsModifyTaskOperator", NEEDS_LLM_CLASSIFICATION, id="add_needs_llm"),
+        pytest.param("other", "Rename resumablemixin file", NEEDS_LLM_CLASSIFICATION, id="rename_needs_llm"),
+    ],
+)
+def test_classify_change_deterministically(files_class, subject, expected):
+    from unittest import mock
+
+    with mock.patch(
+        "airflow_breeze.prepare_providers.provider_documentation.classify_provider_pr_files",
+        return_value=files_class,
+    ):
+        classification, reason = classify_change_deterministically("amazon", _make_change(subject))
+    assert classification == expected
+    assert reason, "a non-empty reason must always be returned"

From 8e75292a35b462df11eed51e7afd473276afb0cb Mon Sep 17 00:00:00 2001
From: Jarek Potiuk <jarek@potiuk.com>
Date: Thu, 11 Jun 2026 18:40:18 +0200
Subject: [PATCH 2/3] Assign --github-repository to an option group and
 regenerate breeze command images

The new classify-provider-changes command left --github-repository
ungrouped, failing the check-all-params-in-groups static check, and the
command-output images were not regenerated. Group the option and refresh
the generated command images.
---
 ...e-management_classify-provider-changes.svg | 38 +++++----
 ...e-management_classify-provider-changes.txt |  2 +-
 ...utput_setup_check-all-params-in-groups.svg | 10 +--
 ...utput_setup_check-all-params-in-groups.txt |  2 +-
 ...output_setup_regenerate-command-images.svg | 80 ++++++++++---------
 ...output_setup_regenerate-command-images.txt |  2 +-
 .../release_management_commands_config.py     |  1 +
 7 files changed, 72 insertions(+), 63 deletions(-)

diff --git a/dev/breeze/doc/images/output_release-management_classify-provider-changes.svg b/dev/breeze/doc/images/output_release-management_classify-provider-changes.svg
index ee322b3ccb698..e7b78f7153ee1 100644
--- a/dev/breeze/doc/images/output_release-management_classify-provider-changes.svg
+++ b/dev/breeze/doc/images/output_release-management_classify-provider-changes.svg
@@ -1,4 +1,4 @@
-<svg class="rich-terminal" viewBox="0 0 1482 879.5999999999999" xmlns="http://www.w3.org/2000/svg">
+<svg class="rich-terminal" viewBox="0 0 1482 904.0" xmlns="http://www.w3.org/2000/svg">
     <!-- Generated with Rich https://www.textualize.io -->
     <style>
 
@@ -43,7 +43,7 @@
 
     <defs>
     <clipPath id="breeze-release-management-classify-provider-changes-clip-terminal">
-      <rect x="0" y="0" width="1463.0" height="828.5999999999999" />
+      <rect x="0" y="0" width="1463.0" height="853.0" />
     </clipPath>
     <clipPath id="breeze-release-management-classify-provider-changes-line-0">
     <rect x="0" y="1.5" width="1464" height="24.65"/>
@@ -144,9 +144,12 @@
 <clipPath id="breeze-release-management-classify-provider-changes-line-32">
     <rect x="0" y="782.3" width="1464" height="24.65"/>
             </clipPath>
+<clipPath id="breeze-release-management-classify-provider-changes-line-33">
+    <rect x="0" y="806.7" width="1464" height="24.65"/>
+            </clipPath>
     </defs>
 
-    <rect fill="#292929" stroke="rgba(255,255,255,0.35)" stroke-width="1" x="1" y="1" width="1480" height="877.6" rx="8"/><text class="breeze-release-management-classify-provider-changes-title" fill="#c5c8c6" text-anchor="middle" x="740" y="27">Command:&#160;release-management&#160;classify-provider-changes</text>
+    <rect fill="#292929" stroke="rgba(255,255,255,0.35)" stroke-width="1" x="1" y="1" width="1480" height="902" rx="8"/><text class="breeze-release-management-classify-provider-changes-title" fill="#c5c8c6" text-anchor="middle" x="740" y="27">Command:&#160;release-management&#160;classify-provider-changes</text>
             <g transform="translate(26,22)">
             <circle cx="0" cy="0" r="7" fill="#ff5f57"/>
             <circle cx="22" cy="0" r="7" fill="#febc2e"/>
@@ -176,20 +179,21 @@
 </text><text class="breeze-release-management-classify-provider-changes-r1" x="12.2" y="434.8" textLength="366" clip-path="url(#breeze-release-management-classify-provider-changes-line-17)">run&#160;used&#160;purely&#160;for&#160;discovery.</text><text class="breeze-release-management-classify-provider-changes-r1" x="1464" y="434.8" textLength="12.2" clip-path="url(#breeze-release-management-classify-provider-changes-line-17)">
 </text><text class="breeze-release-management-classify-provider-changes-r1" x="1464" y="459.2" textLength="12.2" clip-path="url(#breeze-release-management-classify-provider-changes-line-18)">
 </text><text class="breeze-release-management-classify-provider-changes-r5" x="0" y="483.6" textLength="24.4" clip-path="url(#breeze-release-management-classify-provider-changes-line-19)">╭─</text><text class="breeze-release-management-classify-provider-changes-r5" x="24.4" y="483.6" textLength="292.8" clip-path="url(#breeze-release-management-classify-provider-changes-line-19)">&#160;Classification&#160;options&#160;</text><text class="breeze-release-management-classify-provider-changes-r5" x="317.2" y="483.6" textLength="1122.4" clip-path="url(#breeze-release-management-classify-provider-changes-line-19)">────────────────────────────────────────────────────────────────────────────────────────────</text><text class="breeze-release-management-classify-provider-changes-r5" x="1439.6" y="483.6" textLength="24.4" clip-path="url(#breeze-release-management-classify-provider-changes-line-19)">─╮</text><text class="breeze-release-management-classify-provider-changes-r1" x="1464" y="483.6" textLength="12.2" clip-path="url(#breeze-release-management-classify-provider-changes-line-19)">
-</text><text class="breeze-release-management-classify-provider-changes-r5" x="0" y="508" textLength="12.2" clip-path="url(#breeze-release-management-classify-provider-changes-line-20)">│</text><text class="breeze-release-management-classify-provider-changes-r4" x="24.4" y="508" textLength="195.2" clip-path="url(#breeze-release-management-classify-provider-changes-line-20)">--base-branch&#160;&#160;&#160;</text><text class="breeze-release-management-classify-provider-changes-r1" x="244" y="508" textLength="610" clip-path="url(#breeze-release-management-classify-provider-changes-line-20)">Base&#160;branch&#160;to&#160;diff&#160;the&#160;provider&#160;changes&#160;against.&#160;</text><text class="breeze-release-management-classify-provider-changes-r6" x="854" y="508" textLength="73.2" clip-path="url(#breeze-release-management-classify-provider-changes-line-20)">(TEXT)</text><text class="breeze-release-management-classify-provider-changes-r5" x="1451.8" y="508" textLength="12.2" clip-path="url(#breeze-release-management-classify-provider-changes-line-20)">│</text><text class="breeze-release-management-classify-provider-changes-r1" x="1464" y="508" textLength="12.2" clip-path="url(#breeze-release-management-classify-provider-changes-line-20)">
-</text><text class="breeze-release-management-classify-provider-changes-r5" x="0" y="532.4" textLength="12.2" clip-path="url(#breeze-release-management-classify-provider-changes-line-21)">│</text><text class="breeze-release-management-classify-provider-changes-r4" x="24.4" y="532.4" textLength="195.2" clip-path="url(#breeze-release-management-classify-provider-changes-line-21)">--skip-git-fetch</text><text class="breeze-release-management-classify-provider-changes-r1" x="244" y="532.4" textLength="1122.4" clip-path="url(#breeze-release-management-classify-provider-changes-line-21)">Skip&#160;recreating/fetching&#160;the&#160;&#x27;apache-https-for-providers&#x27;&#160;remote;&#160;use&#160;the&#160;local&#160;state&#160;as-is.</text><text class="breeze-release-management-classify-provider-changes-r5" x="1451.8" y="532.4" textLength="12.2" clip-path="url(#breeze-release-management-classify-provider-changes-line-21)">│</text><text class="breeze-release-management-classify-provider-changes-r1" x="1464" y="532.4" textLength="12.2" clip-path="url(#breeze-release-management-classify-provider-changes-line-21)">
-</text><text class="breeze-release-management-classify-provider-changes-r5" x="0" y="556.8" textLength="12.2" clip-path="url(#breeze-release-management-classify-provider-changes-line-22)">│</text><text class="breeze-release-management-classify-provider-changes-r4" x="24.4" y="556.8" textLength="195.2" clip-path="url(#breeze-release-management-classify-provider-changes-line-22)">--output-file&#160;&#160;&#160;</text><text class="breeze-release-management-classify-provider-changes-r1" x="244" y="556.8" textLength="1037" clip-path="url(#breeze-release-management-classify-provider-changes-line-22)">Write&#160;the&#160;JSON&#160;result&#160;here&#160;instead&#160;of&#160;stdout&#160;(keeps&#160;stdout&#160;free&#160;of&#160;progress&#160;output).&#160;</text><text class="breeze-release-management-classify-provider-changes-r6" x="1281" y="556.8" textLength="73.2" clip-path="url(#breeze-release-management-classify-provider-changes-line-22)">(FILE)</text><text class="breeze-release-management-classify-provider-changes-r5" x="1451.8" y="556.8" textLength="12.2" clip-path="url(#breeze-release-management-classify-provider-changes-line-22)">│</text><text class="breeze-release-management-classify-provider-changes-r1" x="1464" y="556.8" textLength="12.2" clip-path="url(#breeze-release-management-classify-provider-changes-line-22)">
-</text><text class="breeze-release-management-classify-provider-changes-r5" x="0" y="581.2" textLength="1464" clip-path="url(#breeze-release-management-classify-provider-changes-line-23)">╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯</text><text class="breeze-release-management-classify-provider-changes-r1" x="1464" y="581.2" textLength="12.2" clip-path="url(#breeze-release-management-classify-provider-changes-line-23)">
-</text><text class="breeze-release-management-classify-provider-changes-r5" x="0" y="605.6" textLength="24.4" clip-path="url(#breeze-release-management-classify-provider-changes-line-24)">╭─</text><text class="breeze-release-management-classify-provider-changes-r5" x="24.4" y="605.6" textLength="366" clip-path="url(#breeze-release-management-classify-provider-changes-line-24)">&#160;Select&#160;non-regular&#160;providers&#160;</text><text class="breeze-release-management-classify-provider-changes-r5" x="390.4" y="605.6" textLength="1049.2" clip-path="url(#breeze-release-management-classify-provider-changes-line-24)">──────────────────────────────────────────────────────────────────────────────────────</text><text class="breeze-release-management-classify-provider-changes-r5" x="1439.6" y="605.6" textLength="24.4" clip-path="url(#breeze-release-management-classify-provider-changes-line-24)">─╮</text><text class="breeze-release-management-classify-provider-changes-r1" x="1464" y="605.6" textLength="12.2" clip-path="url(#breeze-release-management-classify-provider-changes-line-24)">
-</text><text class="breeze-release-management-classify-provider-changes-r5" x="0" y="630" textLength="12.2" clip-path="url(#breeze-release-management-classify-provider-changes-line-25)">│</text><text class="breeze-release-management-classify-provider-changes-r4" x="24.4" y="630" textLength="353.8" clip-path="url(#breeze-release-management-classify-provider-changes-line-25)">--include-not-ready-providers</text><text class="breeze-release-management-classify-provider-changes-r1" x="402.6" y="630" textLength="817.4" clip-path="url(#breeze-release-management-classify-provider-changes-line-25)">Whether&#160;to&#160;include&#160;providers&#160;that&#160;are&#160;not&#160;yet&#160;ready&#160;to&#160;be&#160;released.</text><text class="breeze-release-management-classify-provider-changes-r5" x="1451.8" y="630" textLength="12.2" clip-path="url(#breeze-release-management-classify-provider-changes-line-25)">│</text><text class="breeze-release-management-classify-provider-changes-r1" x="1464" y="630" textLength="12.2" clip-path="url(#breeze-release-management-classify-provider-changes-line-25)">
-</text><text class="breeze-release-management-classify-provider-changes-r5" x="0" y="654.4" textLength="12.2" clip-path="url(#breeze-release-management-classify-provider-changes-line-26)">│</text><text class="breeze-release-management-classify-provider-changes-r4" x="24.4" y="654.4" textLength="353.8" clip-path="url(#breeze-release-management-classify-provider-changes-line-26)">--include-removed-providers&#160;&#160;</text><text class="breeze-release-management-classify-provider-changes-r1" x="402.6" y="654.4" textLength="561.2" clip-path="url(#breeze-release-management-classify-provider-changes-line-26)">Whether&#160;to&#160;include&#160;providers&#160;that&#160;are&#160;removed.</text><text class="breeze-release-management-classify-provider-changes-r5" x="1451.8" y="654.4" textLength="12.2" clip-path="url(#breeze-release-management-classify-provider-changes-line-26)">│</text><text class="breeze-release-management-classify-provider-changes-r1" x="1464" y="654.4" textLength="12.2" clip-path="url(#breeze-release-management-classify-provider-changes-line-26)">
-</text><text class="breeze-release-management-classify-provider-changes-r5" x="0" y="678.8" textLength="1464" clip-path="url(#breeze-release-management-classify-provider-changes-line-27)">╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯</text><text class="breeze-release-management-classify-provider-changes-r1" x="1464" y="678.8" textLength="12.2" clip-path="url(#breeze-release-management-classify-provider-changes-line-27)">
-</text><text class="breeze-release-management-classify-provider-changes-r5" x="0" y="703.2" textLength="24.4" clip-path="url(#breeze-release-management-classify-provider-changes-line-28)">╭─</text><text class="breeze-release-management-classify-provider-changes-r5" x="24.4" y="703.2" textLength="195.2" clip-path="url(#breeze-release-management-classify-provider-changes-line-28)">&#160;Common&#160;options&#160;</text><text class="breeze-release-management-classify-provider-changes-r5" x="219.6" y="703.2" textLength="1220" clip-path="url(#breeze-release-management-classify-provider-changes-line-28)">────────────────────────────────────────────────────────────────────────────────────────────────────</text><text class="breeze-release-management-classify-provider-changes-r5" x="1439.6" y="703.2" textLength="24.4" clip-path="url(#breeze-release-management-classify-provider-changes-line-28)">─╮</text><text class="breeze-release-management-classify-provider-changes-r1" x="1464" y="703.2" textLength="12.2" clip-path="url(#breeze-release-management-classify-provider-changes-line-28)">
-</text><text class="breeze-release-management-classify-provider-changes-r5" x="0" y="727.6" textLength="12.2" clip-path="url(#breeze-release-management-classify-provider-changes-line-29)">│</text><text class="breeze-release-management-classify-provider-changes-r4" x="24.4" y="727.6" textLength="231.8" clip-path="url(#breeze-release-management-classify-provider-changes-line-29)">--github-repository</text><text class="breeze-release-management-classify-provider-changes-r7" x="280.6" y="727.6" textLength="24.4" clip-path="url(#breeze-release-management-classify-provider-changes-line-29)">-g</text><text class="breeze-release-management-classify-provider-changes-r1" x="329.4" y="727.6" textLength="597.8" clip-path="url(#breeze-release-management-classify-provider-changes-line-29)">GitHub&#160;repository&#160;used&#160;to&#160;pull,&#160;push&#160;run&#160;images.&#160;</text><text class="breeze-release-management-classify-provider-changes-r5" x="927.2" y="727.6" textLength="305" clip-path="url(#breeze-release-management-classify-provider-changes-line-29)">[default:&#160;apache/airflow]</text><text class="breeze-release-management-classify-provider-changes-r6" x="1244.4" y="727.6" textLength="73.2" clip-path="url(#breeze-release-management-classify-provider-changes-line-29)">(TEXT)</text><text class="breeze-release-management-classify-provider-changes-r5" x="1451.8" y="727.6" textLength="12.2" clip-path="url(#breeze-release-management-classify-provider-changes-line-29)">│</text><text class="breeze-release-management-classify-provider-changes-r1" x="1464" y="727.6" textLength="12.2" clip-path="url(#breeze-release-management-classify-provider-changes-line-29)">
-</text><text class="breeze-release-management-classify-provider-changes-r5" x="0" y="752" textLength="12.2" clip-path="url(#breeze-release-management-classify-provider-changes-line-30)">│</text><text class="breeze-release-management-classify-provider-changes-r4" x="24.4" y="752" textLength="231.8" clip-path="url(#breeze-release-management-classify-provider-changes-line-30)">--verbose&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</text><text class="breeze-release-management-classify-provider-changes-r7" x="280.6" y="752" textLength="24.4" clip-path="url(#breeze-release-management-classify-provider-changes-line-30)">-v</text><text class="breeze-release-management-classify-provider-changes-r1" x="329.4" y="752" textLength="585.6" clip-path="url(#breeze-release-management-classify-provider-changes-line-30)">Print&#160;verbose&#160;information&#160;about&#160;performed&#160;steps.</text><text class="breeze-release-management-classify-provider-changes-r5" x="1451.8" y="752" textLength="12.2" clip-path="url(#breeze-release-management-classify-provider-changes-line-30)">│</text><text class="breeze-release-management-classify-provider-changes-r1" x="1464" y="752" textLength="12.2" clip-path="url(#breeze-release-management-classify-provider-changes-line-30)">
-</text><text class="breeze-release-management-classify-provider-changes-r5" x="0" y="776.4" textLength="12.2" clip-path="url(#breeze-release-management-classify-provider-changes-line-31)">│</text><text class="breeze-release-management-classify-provider-changes-r4" x="24.4" y="776.4" textLength="231.8" clip-path="url(#breeze-release-management-classify-provider-changes-line-31)">--dry-run&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</text><text class="breeze-release-management-classify-provider-changes-r7" x="280.6" y="776.4" textLength="24.4" clip-path="url(#breeze-release-management-classify-provider-changes-line-31)">-D</text><text class="breeze-release-management-classify-provider-changes-r1" x="329.4" y="776.4" textLength="719.8" clip-path="url(#breeze-release-management-classify-provider-changes-line-31)">If&#160;dry-run&#160;is&#160;set,&#160;commands&#160;are&#160;only&#160;printed,&#160;not&#160;executed.</text><text class="breeze-release-management-classify-provider-changes-r5" x="1451.8" y="776.4" textLength="12.2" clip-path="url(#breeze-release-management-classify-provider-changes-line-31)">│</text><text class="breeze-release-management-classify-provider-changes-r1" x="1464" y="776.4" textLength="12.2" clip-path="url(#breeze-release-management-classify-provider-changes-line-31)">
-</text><text class="breeze-release-management-classify-provider-changes-r5" x="0" y="800.8" textLength="12.2" clip-path="url(#breeze-release-management-classify-provider-changes-line-32)">│</text><text class="breeze-release-management-classify-provider-changes-r4" x="24.4" y="800.8" textLength="231.8" clip-path="url(#breeze-release-management-classify-provider-changes-line-32)">--help&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</text><text class="breeze-release-management-classify-provider-changes-r7" x="280.6" y="800.8" textLength="24.4" clip-path="url(#breeze-release-management-classify-provider-changes-line-32)">-h</text><text class="breeze-release-management-classify-provider-changes-r1" x="329.4" y="800.8" textLength="329.4" clip-path="url(#breeze-release-management-classify-provider-changes-line-32)">Show&#160;this&#160;message&#160;and&#160;exit.</text><text class="breeze-release-management-classify-provider-changes-r5" x="1451.8" y="800.8" textLength="12.2" clip-path="url(#breeze-release-management-classify-provider-changes-line-32)">│</text><text class="breeze-release-management-classify-provider-changes-r1" x="1464" y="800.8" textLength="12.2" clip-path="url(#breeze-release-management-classify-provider-changes-line-32)">
-</text><text class="breeze-release-management-classify-provider-changes-r5" x="0" y="825.2" textLength="1464" clip-path="url(#breeze-release-management-classify-provider-changes-line-33)">╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯</text><text class="breeze-release-management-classify-provider-changes-r1" x="1464" y="825.2" textLength="12.2" clip-path="url(#breeze-release-management-classify-provider-changes-line-33)">
+</text><text class="breeze-release-management-classify-provider-changes-r5" x="0" y="508" textLength="12.2" clip-path="url(#breeze-release-management-classify-provider-changes-line-20)">│</text><text class="breeze-release-management-classify-provider-changes-r4" x="24.4" y="508" textLength="231.8" clip-path="url(#breeze-release-management-classify-provider-changes-line-20)">--base-branch&#160;&#160;&#160;&#160;&#160;&#160;</text><text class="breeze-release-management-classify-provider-changes-r1" x="329.4" y="508" textLength="610" clip-path="url(#breeze-release-management-classify-provider-changes-line-20)">Base&#160;branch&#160;to&#160;diff&#160;the&#160;provider&#160;changes&#160;against.&#160;</text><text class="breeze-release-management-classify-provider-changes-r6" x="939.4" y="508" textLength="73.2" clip-path="url(#breeze-release-management-classify-provider-changes-line-20)">(TEXT)</text><text class="breeze-release-management-classify-provider-changes-r5" x="1451.8" y="508" textLength="12.2" clip-path="url(#breeze-release-management-classify-provider-changes-line-20)">│</text><text class="breeze-release-management-classify-provider-changes-r1" x="1464" y="508" textLength="12.2" clip-path="url(#breeze-release-management-classify-provider-changes-line-20)">
+</text><text class="breeze-release-management-classify-provider-changes-r5" x="0" y="532.4" textLength="12.2" clip-path="url(#breeze-release-management-classify-provider-changes-line-21)">│</text><text class="breeze-release-management-classify-provider-changes-r4" x="24.4" y="532.4" textLength="231.8" clip-path="url(#breeze-release-management-classify-provider-changes-line-21)">--skip-git-fetch&#160;&#160;&#160;</text><text class="breeze-release-management-classify-provider-changes-r1" x="329.4" y="532.4" textLength="1110.2" clip-path="url(#breeze-release-management-classify-provider-changes-line-21)">Skip&#160;recreating/fetching&#160;the&#160;&#x27;apache-https-for-providers&#x27;&#160;remote;&#160;use&#160;the&#160;local&#160;state&#160;&#160;&#160;&#160;&#160;&#160;</text><text class="breeze-release-management-classify-provider-changes-r5" x="1451.8" y="532.4" textLength="12.2" clip-path="url(#breeze-release-management-classify-provider-changes-line-21)">│</text><text class="breeze-release-management-classify-provider-changes-r1" x="1464" y="532.4" textLength="12.2" clip-path="url(#breeze-release-management-classify-provider-changes-line-21)">
+</text><text class="breeze-release-management-classify-provider-changes-r5" x="0" y="556.8" textLength="12.2" clip-path="url(#breeze-release-management-classify-provider-changes-line-22)">│</text><text class="breeze-release-management-classify-provider-changes-r1" x="329.4" y="556.8" textLength="1110.2" clip-path="url(#breeze-release-management-classify-provider-changes-line-22)">as-is.&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</text><text class="breeze-release-management-classify-provider-changes-r5" x="1451.8" y="556.8" textLength="12.2" clip-path="url(#breeze-release-management-classify-provider-changes-line-22)">│</text><text class="breeze-release-management-classify-provider-changes-r1" x="1464" y="556.8" textLength="12.2" clip-path="url(#breeze-release-management-classify-provider-changes-line-22)">
+</text><text class="breeze-release-management-classify-provider-changes-r5" x="0" y="581.2" textLength="12.2" clip-path="url(#breeze-release-management-classify-provider-changes-line-23)">│</text><text class="breeze-release-management-classify-provider-changes-r4" x="24.4" y="581.2" textLength="231.8" clip-path="url(#breeze-release-management-classify-provider-changes-line-23)">--github-repository</text><text class="breeze-release-management-classify-provider-changes-r7" x="280.6" y="581.2" textLength="24.4" clip-path="url(#breeze-release-management-classify-provider-changes-line-23)">-g</text><text class="breeze-release-management-classify-provider-changes-r1" x="329.4" y="581.2" textLength="597.8" clip-path="url(#breeze-release-management-classify-provider-changes-line-23)">GitHub&#160;repository&#160;used&#160;to&#160;pull,&#160;push&#160;run&#160;images.&#160;</text><text class="breeze-release-management-classify-provider-changes-r5" x="927.2" y="581.2" textLength="305" clip-path="url(#breeze-release-management-classify-provider-changes-line-23)">[default:&#160;apache/airflow]</text><text class="breeze-release-management-classify-provider-changes-r6" x="1244.4" y="581.2" textLength="73.2" clip-path="url(#breeze-release-management-classify-provider-changes-line-23)">(TEXT)</text><text class="breeze-release-management-classify-provider-changes-r5" x="1451.8" y="581.2" textLength="12.2" clip-path="url(#breeze-release-management-classify-provider-changes-line-23)">│</text><text class="breeze-release-management-classify-provider-changes-r1" x="1464" y="581.2" textLength="12.2" clip-path="url(#breeze-release-management-classify-provider-changes-line-23)">
+</text><text class="breeze-release-management-classify-provider-changes-r5" x="0" y="605.6" textLength="12.2" clip-path="url(#breeze-release-management-classify-provider-changes-line-24)">│</text><text class="breeze-release-management-classify-provider-changes-r4" x="24.4" y="605.6" textLength="231.8" clip-path="url(#breeze-release-management-classify-provider-changes-line-24)">--output-file&#160;&#160;&#160;&#160;&#160;&#160;</text><text class="breeze-release-management-classify-provider-changes-r1" x="329.4" y="605.6" textLength="1037" clip-path="url(#breeze-release-management-classify-provider-changes-line-24)">Write&#160;the&#160;JSON&#160;result&#160;here&#160;instead&#160;of&#160;stdout&#160;(keeps&#160;stdout&#160;free&#160;of&#160;progress&#160;output).&#160;</text><text class="breeze-release-management-classify-provider-changes-r6" x="1366.4" y="605.6" textLength="73.2" clip-path="url(#breeze-release-management-classify-provider-changes-line-24)">(FILE)</text><text class="breeze-release-management-classify-provider-changes-r5" x="1451.8" y="605.6" textLength="12.2" clip-path="url(#breeze-release-management-classify-provider-changes-line-24)">│</text><text class="breeze-release-management-classify-provider-changes-r1" x="1464" y="605.6" textLength="12.2" clip-path="url(#breeze-release-management-classify-provider-changes-line-24)">
+</text><text class="breeze-release-management-classify-provider-changes-r5" x="0" y="630" textLength="1464" clip-path="url(#breeze-release-management-classify-provider-changes-line-25)">╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯</text><text class="breeze-release-management-classify-provider-changes-r1" x="1464" y="630" textLength="12.2" clip-path="url(#breeze-release-management-classify-provider-changes-line-25)">
+</text><text class="breeze-release-management-classify-provider-changes-r5" x="0" y="654.4" textLength="24.4" clip-path="url(#breeze-release-management-classify-provider-changes-line-26)">╭─</text><text class="breeze-release-management-classify-provider-changes-r5" x="24.4" y="654.4" textLength="366" clip-path="url(#breeze-release-management-classify-provider-changes-line-26)">&#160;Select&#160;non-regular&#160;providers&#160;</text><text class="breeze-release-management-classify-provider-changes-r5" x="390.4" y="654.4" textLength="1049.2" clip-path="url(#breeze-release-management-classify-provider-changes-line-26)">──────────────────────────────────────────────────────────────────────────────────────</text><text class="breeze-release-management-classify-provider-changes-r5" x="1439.6" y="654.4" textLength="24.4" clip-path="url(#breeze-release-management-classify-provider-changes-line-26)">─╮</text><text class="breeze-release-management-classify-provider-changes-r1" x="1464" y="654.4" textLength="12.2" clip-path="url(#breeze-release-management-classify-provider-changes-line-26)">
+</text><text class="breeze-release-management-classify-provider-changes-r5" x="0" y="678.8" textLength="12.2" clip-path="url(#breeze-release-management-classify-provider-changes-line-27)">│</text><text class="breeze-release-management-classify-provider-changes-r4" x="24.4" y="678.8" textLength="353.8" clip-path="url(#breeze-release-management-classify-provider-changes-line-27)">--include-not-ready-providers</text><text class="breeze-release-management-classify-provider-changes-r1" x="402.6" y="678.8" textLength="817.4" clip-path="url(#breeze-release-management-classify-provider-changes-line-27)">Whether&#160;to&#160;include&#160;providers&#160;that&#160;are&#160;not&#160;yet&#160;ready&#160;to&#160;be&#160;released.</text><text class="breeze-release-management-classify-provider-changes-r5" x="1451.8" y="678.8" textLength="12.2" clip-path="url(#breeze-release-management-classify-provider-changes-line-27)">│</text><text class="breeze-release-management-classify-provider-changes-r1" x="1464" y="678.8" textLength="12.2" clip-path="url(#breeze-release-management-classify-provider-changes-line-27)">
+</text><text class="breeze-release-management-classify-provider-changes-r5" x="0" y="703.2" textLength="12.2" clip-path="url(#breeze-release-management-classify-provider-changes-line-28)">│</text><text class="breeze-release-management-classify-provider-changes-r4" x="24.4" y="703.2" textLength="353.8" clip-path="url(#breeze-release-management-classify-provider-changes-line-28)">--include-removed-providers&#160;&#160;</text><text class="breeze-release-management-classify-provider-changes-r1" x="402.6" y="703.2" textLength="561.2" clip-path="url(#breeze-release-management-classify-provider-changes-line-28)">Whether&#160;to&#160;include&#160;providers&#160;that&#160;are&#160;removed.</text><text class="breeze-release-management-classify-provider-changes-r5" x="1451.8" y="703.2" textLength="12.2" clip-path="url(#breeze-release-management-classify-provider-changes-line-28)">│</text><text class="breeze-release-management-classify-provider-changes-r1" x="1464" y="703.2" textLength="12.2" clip-path="url(#breeze-release-management-classify-provider-changes-line-28)">
+</text><text class="breeze-release-management-classify-provider-changes-r5" x="0" y="727.6" textLength="1464" clip-path="url(#breeze-release-management-classify-provider-changes-line-29)">╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯</text><text class="breeze-release-management-classify-provider-changes-r1" x="1464" y="727.6" textLength="12.2" clip-path="url(#breeze-release-management-classify-provider-changes-line-29)">
+</text><text class="breeze-release-management-classify-provider-changes-r5" x="0" y="752" textLength="24.4" clip-path="url(#breeze-release-management-classify-provider-changes-line-30)">╭─</text><text class="breeze-release-management-classify-provider-changes-r5" x="24.4" y="752" textLength="195.2" clip-path="url(#breeze-release-management-classify-provider-changes-line-30)">&#160;Common&#160;options&#160;</text><text class="breeze-release-management-classify-provider-changes-r5" x="219.6" y="752" textLength="1220" clip-path="url(#breeze-release-management-classify-provider-changes-line-30)">────────────────────────────────────────────────────────────────────────────────────────────────────</text><text class="breeze-release-management-classify-provider-changes-r5" x="1439.6" y="752" textLength="24.4" clip-path="url(#breeze-release-management-classify-provider-changes-line-30)">─╮</text><text class="breeze-release-management-classify-provider-changes-r1" x="1464" y="752" textLength="12.2" clip-path="url(#breeze-release-management-classify-provider-changes-line-30)">
+</text><text class="breeze-release-management-classify-provider-changes-r5" x="0" y="776.4" textLength="12.2" clip-path="url(#breeze-release-management-classify-provider-changes-line-31)">│</text><text class="breeze-release-management-classify-provider-changes-r4" x="24.4" y="776.4" textLength="109.8" clip-path="url(#breeze-release-management-classify-provider-changes-line-31)">--verbose</text><text class="breeze-release-management-classify-provider-changes-r7" x="158.6" y="776.4" textLength="24.4" clip-path="url(#breeze-release-management-classify-provider-changes-line-31)">-v</text><text class="breeze-release-management-classify-provider-changes-r1" x="207.4" y="776.4" textLength="585.6" clip-path="url(#breeze-release-management-classify-provider-changes-line-31)">Print&#160;verbose&#160;information&#160;about&#160;performed&#160;steps.</text><text class="breeze-release-management-classify-provider-changes-r5" x="1451.8" y="776.4" textLength="12.2" clip-path="url(#breeze-release-management-classify-provider-changes-line-31)">│</text><text class="breeze-release-management-classify-provider-changes-r1" x="1464" y="776.4" textLength="12.2" clip-path="url(#breeze-release-management-classify-provider-changes-line-31)">
+</text><text class="breeze-release-management-classify-provider-changes-r5" x="0" y="800.8" textLength="12.2" clip-path="url(#breeze-release-management-classify-provider-changes-line-32)">│</text><text class="breeze-release-management-classify-provider-changes-r4" x="24.4" y="800.8" textLength="109.8" clip-path="url(#breeze-release-management-classify-provider-changes-line-32)">--dry-run</text><text class="breeze-release-management-classify-provider-changes-r7" x="158.6" y="800.8" textLength="24.4" clip-path="url(#breeze-release-management-classify-provider-changes-line-32)">-D</text><text class="breeze-release-management-classify-provider-changes-r1" x="207.4" y="800.8" textLength="719.8" clip-path="url(#breeze-release-management-classify-provider-changes-line-32)">If&#160;dry-run&#160;is&#160;set,&#160;commands&#160;are&#160;only&#160;printed,&#160;not&#160;executed.</text><text class="breeze-release-management-classify-provider-changes-r5" x="1451.8" y="800.8" textLength="12.2" clip-path="url(#breeze-release-management-classify-provider-changes-line-32)">│</text><text class="breeze-release-management-classify-provider-changes-r1" x="1464" y="800.8" textLength="12.2" clip-path="url(#breeze-release-management-classify-provider-changes-line-32)">
+</text><text class="breeze-release-management-classify-provider-changes-r5" x="0" y="825.2" textLength="12.2" clip-path="url(#breeze-release-management-classify-provider-changes-line-33)">│</text><text class="breeze-release-management-classify-provider-changes-r4" x="24.4" y="825.2" textLength="109.8" clip-path="url(#breeze-release-management-classify-provider-changes-line-33)">--help&#160;&#160;&#160;</text><text class="breeze-release-management-classify-provider-changes-r7" x="158.6" y="825.2" textLength="24.4" clip-path="url(#breeze-release-management-classify-provider-changes-line-33)">-h</text><text class="breeze-release-management-classify-provider-changes-r1" x="207.4" y="825.2" textLength="329.4" clip-path="url(#breeze-release-management-classify-provider-changes-line-33)">Show&#160;this&#160;message&#160;and&#160;exit.</text><text class="breeze-release-management-classify-provider-changes-r5" x="1451.8" y="825.2" textLength="12.2" clip-path="url(#breeze-release-management-classify-provider-changes-line-33)">│</text><text class="breeze-release-management-classify-provider-changes-r1" x="1464" y="825.2" textLength="12.2" clip-path="url(#breeze-release-management-classify-provider-changes-line-33)">
+</text><text class="breeze-release-management-classify-provider-changes-r5" x="0" y="849.6" textLength="1464" clip-path="url(#breeze-release-management-classify-provider-changes-line-34)">╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯</text><text class="breeze-release-management-classify-provider-changes-r1" x="1464" y="849.6" textLength="12.2" clip-path="url(#breeze-release-management-classify-provider-changes-line-34)">
 </text>
     </g>
     </g>
diff --git a/dev/breeze/doc/images/output_release-management_classify-provider-changes.txt b/dev/breeze/doc/images/output_release-management_classify-provider-changes.txt
index 2d07d9aa3c50c..226f5e3c0feab 100644
--- a/dev/breeze/doc/images/output_release-management_classify-provider-changes.txt
+++ b/dev/breeze/doc/images/output_release-management_classify-provider-changes.txt
@@ -1 +1 @@
-04b4357a8f4dca28f14f26c2371d843d
+57466e5cb9470b0d4398724fda2a1825
diff --git a/dev/breeze/doc/images/output_setup_check-all-params-in-groups.svg b/dev/breeze/doc/images/output_setup_check-all-params-in-groups.svg
index e60ddb39e3810..a94f436f33fd9 100644
--- a/dev/breeze/doc/images/output_setup_check-all-params-in-groups.svg
+++ b/dev/breeze/doc/images/output_setup_check-all-params-in-groups.svg
@@ -214,11 +214,11 @@
 </text><text class="breeze-setup-check-all-params-in-groups-r5" x="0" y="337.2" textLength="12.2" clip-path="url(#breeze-setup-check-all-params-in-groups-line-13)">│</text><text class="breeze-setup-check-all-params-in-groups-r6" x="158.6" y="337.2" textLength="1110.2" clip-path="url(#breeze-setup-check-all-params-in-groups-line-13)">k8s:upload-k8s-image&#160;|&#160;prod-image&#160;|&#160;prod-image:build&#160;|&#160;prod-image:load&#160;|&#160;prod-image:pull&#160;|&#160;</text><text class="breeze-setup-check-all-params-in-groups-r5" x="1451.8" y="337.2" textLength="12.2" clip-path="url(#breeze-setup-check-all-params-in-groups-line-13)">│</text><text class="breeze-setup-check-all-params-in-groups-r1" x="1464" y="337.2" textLength="12.2" clip-path="url(#breeze-setup-check-all-params-in-groups-line-13)">
 </text><text class="breeze-setup-check-all-params-in-groups-r5" x="0" y="361.6" textLength="12.2" clip-path="url(#breeze-setup-check-all-params-in-groups-line-14)">│</text><text class="breeze-setup-check-all-params-in-groups-r6" x="158.6" y="361.6" textLength="1134.6" clip-path="url(#breeze-setup-check-all-params-in-groups-line-14)">prod-image:save&#160;|&#160;prod-image:verify&#160;|&#160;registry&#160;|&#160;registry:backfill&#160;|&#160;registry:extract-data&#160;|&#160;</text><text class="breeze-setup-check-all-params-in-groups-r5" x="1451.8" y="361.6" textLength="12.2" clip-path="url(#breeze-setup-check-all-params-in-groups-line-14)">│</text><text class="breeze-setup-check-all-params-in-groups-r1" x="1464" y="361.6" textLength="12.2" clip-path="url(#breeze-setup-check-all-params-in-groups-line-14)">
 </text><text class="breeze-setup-check-all-params-in-groups-r5" x="0" y="386" textLength="12.2" clip-path="url(#breeze-setup-check-all-params-in-groups-line-15)">│</text><text class="breeze-setup-check-all-params-in-groups-r6" x="158.6" y="386" textLength="1098" clip-path="url(#breeze-setup-check-all-params-in-groups-line-15)">registry:publish-versions&#160;|&#160;release-management&#160;|&#160;release-management:add-back-references&#160;|&#160;</text><text class="breeze-setup-check-all-params-in-groups-r5" x="1451.8" y="386" textLength="12.2" clip-path="url(#breeze-setup-check-all-params-in-groups-line-15)">│</text><text class="breeze-setup-check-all-params-in-groups-r1" x="1464" y="386" textLength="12.2" clip-path="url(#breeze-setup-check-all-params-in-groups-line-15)">
-</text><text class="breeze-setup-check-all-params-in-groups-r5" x="0" y="410.4" textLength="12.2" clip-path="url(#breeze-setup-check-all-params-in-groups-line-16)">│</text><text class="breeze-setup-check-all-params-in-groups-r6" x="158.6" y="410.4" textLength="1110.2" clip-path="url(#breeze-setup-check-all-params-in-groups-line-16)">release-management:check-release-files&#160;|&#160;release-management:clean-old-provider-artifacts&#160;|&#160;</text><text class="breeze-setup-check-all-params-in-groups-r5" x="1451.8" y="410.4" textLength="12.2" clip-path="url(#breeze-setup-check-all-params-in-groups-line-16)">│</text><text class="breeze-setup-check-all-params-in-groups-r1" x="1464" y="410.4" textLength="12.2" clip-path="url(#breeze-setup-check-all-params-in-groups-line-16)">
-</text><text class="breeze-setup-check-all-params-in-groups-r5" x="0" y="434.8" textLength="12.2" clip-path="url(#breeze-setup-check-all-params-in-groups-line-17)">│</text><text class="breeze-setup-check-all-params-in-groups-r6" x="158.6" y="434.8" textLength="1073.6" clip-path="url(#breeze-setup-check-all-params-in-groups-line-17)">release-management:constraints-version-check&#160;|&#160;release-management:create-minor-branch&#160;|&#160;</text><text class="breeze-setup-check-all-params-in-groups-r5" x="1451.8" y="434.8" textLength="12.2" clip-path="url(#breeze-setup-check-all-params-in-groups-line-17)">│</text><text class="breeze-setup-check-all-params-in-groups-r1" x="1464" y="434.8" textLength="12.2" clip-path="url(#breeze-setup-check-all-params-in-groups-line-17)">
-</text><text class="breeze-setup-check-all-params-in-groups-r5" x="0" y="459.2" textLength="12.2" clip-path="url(#breeze-setup-check-all-params-in-groups-line-18)">│</text><text class="breeze-setup-check-all-params-in-groups-r6" x="158.6" y="459.2" textLength="1134.6" clip-path="url(#breeze-setup-check-all-params-in-groups-line-18)">release-management:generate-airflowctl-changelog&#160;|&#160;release-management:generate-constraints&#160;|&#160;</text><text class="breeze-setup-check-all-params-in-groups-r5" x="1451.8" y="459.2" textLength="12.2" clip-path="url(#breeze-setup-check-all-params-in-groups-line-18)">│</text><text class="breeze-setup-check-all-params-in-groups-r1" x="1464" y="459.2" textLength="12.2" clip-path="url(#breeze-setup-check-all-params-in-groups-line-18)">
-</text><text class="breeze-setup-check-all-params-in-groups-r5" x="0" y="483.6" textLength="12.2" clip-path="url(#breeze-setup-check-all-params-in-groups-line-19)">│</text><text class="breeze-setup-check-all-params-in-groups-r6" x="158.6" y="483.6" textLength="1281" clip-path="url(#breeze-setup-check-all-params-in-groups-line-19)">release-management:generate-issue-content-airflow-ctl&#160;|&#160;release-management:generate-issue-content-core&#160;|&#160;</text><text class="breeze-setup-check-all-params-in-groups-r5" x="1451.8" y="483.6" textLength="12.2" clip-path="url(#breeze-setup-check-all-params-in-groups-line-19)">│</text><text class="breeze-setup-check-all-params-in-groups-r1" x="1464" y="483.6" textLength="12.2" clip-path="url(#breeze-setup-check-all-params-in-groups-line-19)">
-</text><text class="breeze-setup-check-all-params-in-groups-r5" x="0" y="508" textLength="12.2" clip-path="url(#breeze-setup-check-all-params-in-groups-line-20)">│</text><text class="breeze-setup-check-all-params-in-groups-r6" x="158.6" y="508" textLength="671" clip-path="url(#breeze-setup-check-all-params-in-groups-line-20)">release-management:generate-issue-content-helm-chart&#160;|&#160;</text><text class="breeze-setup-check-all-params-in-groups-r5" x="1451.8" y="508" textLength="12.2" clip-path="url(#breeze-setup-check-all-params-in-groups-line-20)">│</text><text class="breeze-setup-check-all-params-in-groups-r1" x="1464" y="508" textLength="12.2" clip-path="url(#breeze-setup-check-all-params-in-groups-line-20)">
+</text><text class="breeze-setup-check-all-params-in-groups-r5" x="0" y="410.4" textLength="12.2" clip-path="url(#breeze-setup-check-all-params-in-groups-line-16)">│</text><text class="breeze-setup-check-all-params-in-groups-r6" x="158.6" y="410.4" textLength="1073.6" clip-path="url(#breeze-setup-check-all-params-in-groups-line-16)">release-management:check-release-files&#160;|&#160;release-management:classify-provider-changes&#160;|&#160;</text><text class="breeze-setup-check-all-params-in-groups-r5" x="1451.8" y="410.4" textLength="12.2" clip-path="url(#breeze-setup-check-all-params-in-groups-line-16)">│</text><text class="breeze-setup-check-all-params-in-groups-r1" x="1464" y="410.4" textLength="12.2" clip-path="url(#breeze-setup-check-all-params-in-groups-line-16)">
+</text><text class="breeze-setup-check-all-params-in-groups-r5" x="0" y="434.8" textLength="12.2" clip-path="url(#breeze-setup-check-all-params-in-groups-line-17)">│</text><text class="breeze-setup-check-all-params-in-groups-r6" x="158.6" y="434.8" textLength="1183.4" clip-path="url(#breeze-setup-check-all-params-in-groups-line-17)">release-management:clean-old-provider-artifacts&#160;|&#160;release-management:constraints-version-check&#160;|&#160;</text><text class="breeze-setup-check-all-params-in-groups-r5" x="1451.8" y="434.8" textLength="12.2" clip-path="url(#breeze-setup-check-all-params-in-groups-line-17)">│</text><text class="breeze-setup-check-all-params-in-groups-r1" x="1464" y="434.8" textLength="12.2" clip-path="url(#breeze-setup-check-all-params-in-groups-line-17)">
+</text><text class="breeze-setup-check-all-params-in-groups-r5" x="0" y="459.2" textLength="12.2" clip-path="url(#breeze-setup-check-all-params-in-groups-line-18)">│</text><text class="breeze-setup-check-all-params-in-groups-r6" x="158.6" y="459.2" textLength="1122.4" clip-path="url(#breeze-setup-check-all-params-in-groups-line-18)">release-management:create-minor-branch&#160;|&#160;release-management:generate-airflowctl-changelog&#160;|&#160;</text><text class="breeze-setup-check-all-params-in-groups-r5" x="1451.8" y="459.2" textLength="12.2" clip-path="url(#breeze-setup-check-all-params-in-groups-line-18)">│</text><text class="breeze-setup-check-all-params-in-groups-r1" x="1464" y="459.2" textLength="12.2" clip-path="url(#breeze-setup-check-all-params-in-groups-line-18)">
+</text><text class="breeze-setup-check-all-params-in-groups-r5" x="0" y="483.6" textLength="12.2" clip-path="url(#breeze-setup-check-all-params-in-groups-line-19)">│</text><text class="breeze-setup-check-all-params-in-groups-r6" x="158.6" y="483.6" textLength="1195.6" clip-path="url(#breeze-setup-check-all-params-in-groups-line-19)">release-management:generate-constraints&#160;|&#160;release-management:generate-issue-content-airflow-ctl&#160;|&#160;</text><text class="breeze-setup-check-all-params-in-groups-r5" x="1451.8" y="483.6" textLength="12.2" clip-path="url(#breeze-setup-check-all-params-in-groups-line-19)">│</text><text class="breeze-setup-check-all-params-in-groups-r1" x="1464" y="483.6" textLength="12.2" clip-path="url(#breeze-setup-check-all-params-in-groups-line-19)">
+</text><text class="breeze-setup-check-all-params-in-groups-r5" x="0" y="508" textLength="12.2" clip-path="url(#breeze-setup-check-all-params-in-groups-line-20)">│</text><text class="breeze-setup-check-all-params-in-groups-r6" x="158.6" y="508" textLength="1268.8" clip-path="url(#breeze-setup-check-all-params-in-groups-line-20)">release-management:generate-issue-content-core&#160;|&#160;release-management:generate-issue-content-helm-chart&#160;|&#160;</text><text class="breeze-setup-check-all-params-in-groups-r5" x="1451.8" y="508" textLength="12.2" clip-path="url(#breeze-setup-check-all-params-in-groups-line-20)">│</text><text class="breeze-setup-check-all-params-in-groups-r1" x="1464" y="508" textLength="12.2" clip-path="url(#breeze-setup-check-all-params-in-groups-line-20)">
 </text><text class="breeze-setup-check-all-params-in-groups-r5" x="0" y="532.4" textLength="12.2" clip-path="url(#breeze-setup-check-all-params-in-groups-line-21)">│</text><text class="breeze-setup-check-all-params-in-groups-r6" x="158.6" y="532.4" textLength="1256.6" clip-path="url(#breeze-setup-check-all-params-in-groups-line-21)">release-management:generate-issue-content-providers&#160;|&#160;release-management:generate-providers-metadata&#160;|&#160;</text><text class="breeze-setup-check-all-params-in-groups-r5" x="1451.8" y="532.4" textLength="12.2" clip-path="url(#breeze-setup-check-all-params-in-groups-line-21)">│</text><text class="breeze-setup-check-all-params-in-groups-r1" x="1464" y="532.4" textLength="12.2" clip-path="url(#breeze-setup-check-all-params-in-groups-line-21)">
 </text><text class="breeze-setup-check-all-params-in-groups-r5" x="0" y="556.8" textLength="12.2" clip-path="url(#breeze-setup-check-all-params-in-groups-line-22)">│</text><text class="breeze-setup-check-all-params-in-groups-r6" x="158.6" y="556.8" textLength="1110.2" clip-path="url(#breeze-setup-check-all-params-in-groups-line-22)">release-management:install-provider-distributions&#160;|&#160;release-management:merge-prod-images&#160;|&#160;</text><text class="breeze-setup-check-all-params-in-groups-r5" x="1451.8" y="556.8" textLength="12.2" clip-path="url(#breeze-setup-check-all-params-in-groups-line-22)">│</text><text class="breeze-setup-check-all-params-in-groups-r1" x="1464" y="556.8" textLength="12.2" clip-path="url(#breeze-setup-check-all-params-in-groups-line-22)">
 </text><text class="breeze-setup-check-all-params-in-groups-r5" x="0" y="581.2" textLength="12.2" clip-path="url(#breeze-setup-check-all-params-in-groups-line-23)">│</text><text class="breeze-setup-check-all-params-in-groups-r6" x="158.6" y="581.2" textLength="1281" clip-path="url(#breeze-setup-check-all-params-in-groups-line-23)">release-management:prepare-airflow-ctl-distributions&#160;|&#160;release-management:prepare-airflow-distributions&#160;|</text><text class="breeze-setup-check-all-params-in-groups-r5" x="1451.8" y="581.2" textLength="12.2" clip-path="url(#breeze-setup-check-all-params-in-groups-line-23)">│</text><text class="breeze-setup-check-all-params-in-groups-r1" x="1464" y="581.2" textLength="12.2" clip-path="url(#breeze-setup-check-all-params-in-groups-line-23)">
diff --git a/dev/breeze/doc/images/output_setup_check-all-params-in-groups.txt b/dev/breeze/doc/images/output_setup_check-all-params-in-groups.txt
index 827782657bead..f6155ca71eb7d 100644
--- a/dev/breeze/doc/images/output_setup_check-all-params-in-groups.txt
+++ b/dev/breeze/doc/images/output_setup_check-all-params-in-groups.txt
@@ -1 +1 @@
-e9e98d932ec6cb9cfb86af58105b007f
+ab7f4fb815bf503631f336876c24e2b1
diff --git a/dev/breeze/doc/images/output_setup_regenerate-command-images.svg b/dev/breeze/doc/images/output_setup_regenerate-command-images.svg
index df79de9080e73..0e07ebb3f1ed3 100644
--- a/dev/breeze/doc/images/output_setup_regenerate-command-images.svg
+++ b/dev/breeze/doc/images/output_setup_regenerate-command-images.svg
@@ -1,4 +1,4 @@
-<svg class="rich-terminal" viewBox="0 0 1482 1343.1999999999998" xmlns="http://www.w3.org/2000/svg">
+<svg class="rich-terminal" viewBox="0 0 1482 1367.6" xmlns="http://www.w3.org/2000/svg">
     <!-- Generated with Rich https://www.textualize.io -->
     <style>
 
@@ -43,7 +43,7 @@
 
     <defs>
     <clipPath id="breeze-setup-regenerate-command-images-clip-terminal">
-      <rect x="0" y="0" width="1463.0" height="1292.1999999999998" />
+      <rect x="0" y="0" width="1463.0" height="1316.6" />
     </clipPath>
     <clipPath id="breeze-setup-regenerate-command-images-line-0">
     <rect x="0" y="1.5" width="1464" height="24.65"/>
@@ -201,9 +201,12 @@
 <clipPath id="breeze-setup-regenerate-command-images-line-51">
     <rect x="0" y="1245.9" width="1464" height="24.65"/>
             </clipPath>
+<clipPath id="breeze-setup-regenerate-command-images-line-52">
+    <rect x="0" y="1270.3" width="1464" height="24.65"/>
+            </clipPath>
     </defs>
 
-    <rect fill="#292929" stroke="rgba(255,255,255,0.35)" stroke-width="1" x="1" y="1" width="1480" height="1341.2" rx="8"/><text class="breeze-setup-regenerate-command-images-title" fill="#c5c8c6" text-anchor="middle" x="740" y="27">Command:&#160;setup&#160;regenerate-command-images</text>
+    <rect fill="#292929" stroke="rgba(255,255,255,0.35)" stroke-width="1" x="1" y="1" width="1480" height="1365.6" rx="8"/><text class="breeze-setup-regenerate-command-images-title" fill="#c5c8c6" text-anchor="middle" x="740" y="27">Command:&#160;setup&#160;regenerate-command-images</text>
             <g transform="translate(26,22)">
             <circle cx="0" cy="0" r="7" fill="#ff5f57"/>
             <circle cx="22" cy="0" r="7" fill="#febc2e"/>
@@ -231,41 +234,42 @@
 </text><text class="breeze-setup-regenerate-command-images-r5" x="0" y="386" textLength="12.2" clip-path="url(#breeze-setup-regenerate-command-images-line-15)">│</text><text class="breeze-setup-regenerate-command-images-r6" x="195.2" y="386" textLength="1244.4" clip-path="url(#breeze-setup-regenerate-command-images-line-15)">prod-image:build&#160;|&#160;prod-image:load&#160;|&#160;prod-image:pull&#160;|&#160;prod-image:save&#160;|&#160;prod-image:verify&#160;|&#160;registry&#160;</text><text class="breeze-setup-regenerate-command-images-r5" x="1451.8" y="386" textLength="12.2" clip-path="url(#breeze-setup-regenerate-command-images-line-15)">│</text><text class="breeze-setup-regenerate-command-images-r1" x="1464" y="386" textLength="12.2" clip-path="url(#breeze-setup-regenerate-command-images-line-15)">
 </text><text class="breeze-setup-regenerate-command-images-r5" x="0" y="410.4" textLength="12.2" clip-path="url(#breeze-setup-regenerate-command-images-line-16)">│</text><text class="breeze-setup-regenerate-command-images-r6" x="195.2" y="410.4" textLength="1159" clip-path="url(#breeze-setup-regenerate-command-images-line-16)">|&#160;registry:backfill&#160;|&#160;registry:extract-data&#160;|&#160;registry:publish-versions&#160;|&#160;release-management&#160;|&#160;</text><text class="breeze-setup-regenerate-command-images-r5" x="1451.8" y="410.4" textLength="12.2" clip-path="url(#breeze-setup-regenerate-command-images-line-16)">│</text><text class="breeze-setup-regenerate-command-images-r1" x="1464" y="410.4" textLength="12.2" clip-path="url(#breeze-setup-regenerate-command-images-line-16)">
 </text><text class="breeze-setup-regenerate-command-images-r5" x="0" y="434.8" textLength="12.2" clip-path="url(#breeze-setup-regenerate-command-images-line-17)">│</text><text class="breeze-setup-regenerate-command-images-r6" x="195.2" y="434.8" textLength="1000.4" clip-path="url(#breeze-setup-regenerate-command-images-line-17)">release-management:add-back-references&#160;|&#160;release-management:check-release-files&#160;|&#160;</text><text class="breeze-setup-regenerate-command-images-r5" x="1451.8" y="434.8" textLength="12.2" clip-path="url(#breeze-setup-regenerate-command-images-line-17)">│</text><text class="breeze-setup-regenerate-command-images-r1" x="1464" y="434.8" textLength="12.2" clip-path="url(#breeze-setup-regenerate-command-images-line-17)">
-</text><text class="breeze-setup-regenerate-command-images-r5" x="0" y="459.2" textLength="12.2" clip-path="url(#breeze-setup-regenerate-command-images-line-18)">│</text><text class="breeze-setup-regenerate-command-images-r6" x="195.2" y="459.2" textLength="1183.4" clip-path="url(#breeze-setup-regenerate-command-images-line-18)">release-management:clean-old-provider-artifacts&#160;|&#160;release-management:constraints-version-check&#160;|&#160;</text><text class="breeze-setup-regenerate-command-images-r5" x="1451.8" y="459.2" textLength="12.2" clip-path="url(#breeze-setup-regenerate-command-images-line-18)">│</text><text class="breeze-setup-regenerate-command-images-r1" x="1464" y="459.2" textLength="12.2" clip-path="url(#breeze-setup-regenerate-command-images-line-18)">
-</text><text class="breeze-setup-regenerate-command-images-r5" x="0" y="483.6" textLength="12.2" clip-path="url(#breeze-setup-regenerate-command-images-line-19)">│</text><text class="breeze-setup-regenerate-command-images-r6" x="195.2" y="483.6" textLength="1122.4" clip-path="url(#breeze-setup-regenerate-command-images-line-19)">release-management:create-minor-branch&#160;|&#160;release-management:generate-airflowctl-changelog&#160;|&#160;</text><text class="breeze-setup-regenerate-command-images-r5" x="1451.8" y="483.6" textLength="12.2" clip-path="url(#breeze-setup-regenerate-command-images-line-19)">│</text><text class="breeze-setup-regenerate-command-images-r1" x="1464" y="483.6" textLength="12.2" clip-path="url(#breeze-setup-regenerate-command-images-line-19)">
-</text><text class="breeze-setup-regenerate-command-images-r5" x="0" y="508" textLength="12.2" clip-path="url(#breeze-setup-regenerate-command-images-line-20)">│</text><text class="breeze-setup-regenerate-command-images-r6" x="195.2" y="508" textLength="1195.6" clip-path="url(#breeze-setup-regenerate-command-images-line-20)">release-management:generate-constraints&#160;|&#160;release-management:generate-issue-content-airflow-ctl&#160;|&#160;</text><text class="breeze-setup-regenerate-command-images-r5" x="1451.8" y="508" textLength="12.2" clip-path="url(#breeze-setup-regenerate-command-images-line-20)">│</text><text class="breeze-setup-regenerate-command-images-r1" x="1464" y="508" textLength="12.2" clip-path="url(#breeze-setup-regenerate-command-images-line-20)">
-</text><text class="breeze-setup-regenerate-command-images-r5" x="0" y="532.4" textLength="12.2" clip-path="url(#breeze-setup-regenerate-command-images-line-21)">│</text><text class="breeze-setup-regenerate-command-images-r6" x="195.2" y="532.4" textLength="1244.4" clip-path="url(#breeze-setup-regenerate-command-images-line-21)">release-management:generate-issue-content-core&#160;|&#160;release-management:generate-issue-content-helm-chart&#160;</text><text class="breeze-setup-regenerate-command-images-r5" x="1451.8" y="532.4" textLength="12.2" clip-path="url(#breeze-setup-regenerate-command-images-line-21)">│</text><text class="breeze-setup-regenerate-command-images-r1" x="1464" y="532.4" textLength="12.2" clip-path="url(#breeze-setup-regenerate-command-images-line-21)">
-</text><text class="breeze-setup-regenerate-command-images-r5" x="0" y="556.8" textLength="12.2" clip-path="url(#breeze-setup-regenerate-command-images-line-22)">│</text><text class="breeze-setup-regenerate-command-images-r6" x="195.2" y="556.8" textLength="1244.4" clip-path="url(#breeze-setup-regenerate-command-images-line-22)">|&#160;release-management:generate-issue-content-providers&#160;|&#160;release-management:generate-providers-metadata</text><text class="breeze-setup-regenerate-command-images-r5" x="1451.8" y="556.8" textLength="12.2" clip-path="url(#breeze-setup-regenerate-command-images-line-22)">│</text><text class="breeze-setup-regenerate-command-images-r1" x="1464" y="556.8" textLength="12.2" clip-path="url(#breeze-setup-regenerate-command-images-line-22)">
-</text><text class="breeze-setup-regenerate-command-images-r5" x="0" y="581.2" textLength="12.2" clip-path="url(#breeze-setup-regenerate-command-images-line-23)">│</text><text class="breeze-setup-regenerate-command-images-r6" x="195.2" y="581.2" textLength="1134.6" clip-path="url(#breeze-setup-regenerate-command-images-line-23)">|&#160;release-management:install-provider-distributions&#160;|&#160;release-management:merge-prod-images&#160;|&#160;</text><text class="breeze-setup-regenerate-command-images-r5" x="1451.8" y="581.2" textLength="12.2" clip-path="url(#breeze-setup-regenerate-command-images-line-23)">│</text><text class="breeze-setup-regenerate-command-images-r1" x="1464" y="581.2" textLength="12.2" clip-path="url(#breeze-setup-regenerate-command-images-line-23)">
-</text><text class="breeze-setup-regenerate-command-images-r5" x="0" y="605.6" textLength="12.2" clip-path="url(#breeze-setup-regenerate-command-images-line-24)">│</text><text class="breeze-setup-regenerate-command-images-r6" x="195.2" y="605.6" textLength="671" clip-path="url(#breeze-setup-regenerate-command-images-line-24)">release-management:prepare-airflow-ctl-distributions&#160;|&#160;</text><text class="breeze-setup-regenerate-command-images-r5" x="1451.8" y="605.6" textLength="12.2" clip-path="url(#breeze-setup-regenerate-command-images-line-24)">│</text><text class="breeze-setup-regenerate-command-images-r1" x="1464" y="605.6" textLength="12.2" clip-path="url(#breeze-setup-regenerate-command-images-line-24)">
-</text><text class="breeze-setup-regenerate-command-images-r5" x="0" y="630" textLength="12.2" clip-path="url(#breeze-setup-regenerate-command-images-line-25)">│</text><text class="breeze-setup-regenerate-command-images-r6" x="195.2" y="630" textLength="1207.8" clip-path="url(#breeze-setup-regenerate-command-images-line-25)">release-management:prepare-airflow-distributions&#160;|&#160;release-management:prepare-helm-chart-package&#160;|&#160;</text><text class="breeze-setup-regenerate-command-images-r5" x="1451.8" y="630" textLength="12.2" clip-path="url(#breeze-setup-regenerate-command-images-line-25)">│</text><text class="breeze-setup-regenerate-command-images-r1" x="1464" y="630" textLength="12.2" clip-path="url(#breeze-setup-regenerate-command-images-line-25)">
-</text><text class="breeze-setup-regenerate-command-images-r5" x="0" y="654.4" textLength="12.2" clip-path="url(#breeze-setup-regenerate-command-images-line-26)">│</text><text class="breeze-setup-regenerate-command-images-r6" x="195.2" y="654.4" textLength="1171.2" clip-path="url(#breeze-setup-regenerate-command-images-line-26)">release-management:prepare-helm-chart-tarball&#160;|&#160;release-management:prepare-mypy-distributions&#160;|&#160;</text><text class="breeze-setup-regenerate-command-images-r5" x="1451.8" y="654.4" textLength="12.2" clip-path="url(#breeze-setup-regenerate-command-images-line-26)">│</text><text class="breeze-setup-regenerate-command-images-r1" x="1464" y="654.4" textLength="12.2" clip-path="url(#breeze-setup-regenerate-command-images-line-26)">
-</text><text class="breeze-setup-regenerate-command-images-r5" x="0" y="678.8" textLength="12.2" clip-path="url(#breeze-setup-regenerate-command-images-line-27)">│</text><text class="breeze-setup-regenerate-command-images-r6" x="195.2" y="678.8" textLength="1244.4" clip-path="url(#breeze-setup-regenerate-command-images-line-27)">release-management:prepare-provider-distributions&#160;|&#160;release-management:prepare-provider-documentation&#160;</text><text class="breeze-setup-regenerate-command-images-r5" x="1451.8" y="678.8" textLength="12.2" clip-path="url(#breeze-setup-regenerate-command-images-line-27)">│</text><text class="breeze-setup-regenerate-command-images-r1" x="1464" y="678.8" textLength="12.2" clip-path="url(#breeze-setup-regenerate-command-images-line-27)">
-</text><text class="breeze-setup-regenerate-command-images-r5" x="0" y="703.2" textLength="12.2" clip-path="url(#breeze-setup-regenerate-command-images-line-28)">│</text><text class="breeze-setup-regenerate-command-images-r6" x="195.2" y="703.2" textLength="1000.4" clip-path="url(#breeze-setup-regenerate-command-images-line-28)">|&#160;release-management:prepare-python-client&#160;|&#160;release-management:prepare-tarball&#160;|&#160;</text><text class="breeze-setup-regenerate-command-images-r5" x="1451.8" y="703.2" textLength="12.2" clip-path="url(#breeze-setup-regenerate-command-images-line-28)">│</text><text class="breeze-setup-regenerate-command-images-r1" x="1464" y="703.2" textLength="12.2" clip-path="url(#breeze-setup-regenerate-command-images-line-28)">
-</text><text class="breeze-setup-regenerate-command-images-r5" x="0" y="727.6" textLength="12.2" clip-path="url(#breeze-setup-regenerate-command-images-line-29)">│</text><text class="breeze-setup-regenerate-command-images-r6" x="195.2" y="727.6" textLength="1049.2" clip-path="url(#breeze-setup-regenerate-command-images-line-29)">release-management:prepare-task-sdk-distributions&#160;|&#160;release-management:publish-docs&#160;|&#160;</text><text class="breeze-setup-regenerate-command-images-r5" x="1451.8" y="727.6" textLength="12.2" clip-path="url(#breeze-setup-regenerate-command-images-line-29)">│</text><text class="breeze-setup-regenerate-command-images-r1" x="1464" y="727.6" textLength="12.2" clip-path="url(#breeze-setup-regenerate-command-images-line-29)">
-</text><text class="breeze-setup-regenerate-command-images-r5" x="0" y="752" textLength="12.2" clip-path="url(#breeze-setup-regenerate-command-images-line-30)">│</text><text class="breeze-setup-regenerate-command-images-r6" x="195.2" y="752" textLength="988.2" clip-path="url(#breeze-setup-regenerate-command-images-line-30)">release-management:publish-docs-to-s3&#160;|&#160;release-management:release-prod-images&#160;|&#160;</text><text class="breeze-setup-regenerate-command-images-r5" x="1451.8" y="752" textLength="12.2" clip-path="url(#breeze-setup-regenerate-command-images-line-30)">│</text><text class="breeze-setup-regenerate-command-images-r1" x="1464" y="752" textLength="12.2" clip-path="url(#breeze-setup-regenerate-command-images-line-30)">
-</text><text class="breeze-setup-regenerate-command-images-r5" x="0" y="776.4" textLength="12.2" clip-path="url(#breeze-setup-regenerate-command-images-line-31)">│</text><text class="breeze-setup-regenerate-command-images-r6" x="195.2" y="776.4" textLength="890.6" clip-path="url(#breeze-setup-regenerate-command-images-line-31)">release-management:start-rc-process&#160;|&#160;release-management:start-release&#160;|&#160;</text><text class="breeze-setup-regenerate-command-images-r5" x="1451.8" y="776.4" textLength="12.2" clip-path="url(#breeze-setup-regenerate-command-images-line-31)">│</text><text class="breeze-setup-regenerate-command-images-r1" x="1464" y="776.4" textLength="12.2" clip-path="url(#breeze-setup-regenerate-command-images-line-31)">
-</text><text class="breeze-setup-regenerate-command-images-r5" x="0" y="800.8" textLength="12.2" clip-path="url(#breeze-setup-regenerate-command-images-line-32)">│</text><text class="breeze-setup-regenerate-command-images-r6" x="195.2" y="800.8" textLength="915" clip-path="url(#breeze-setup-regenerate-command-images-line-32)">release-management:tag-providers&#160;|&#160;release-management:update-constraints&#160;|&#160;</text><text class="breeze-setup-regenerate-command-images-r5" x="1451.8" y="800.8" textLength="12.2" clip-path="url(#breeze-setup-regenerate-command-images-line-32)">│</text><text class="breeze-setup-regenerate-command-images-r1" x="1464" y="800.8" textLength="12.2" clip-path="url(#breeze-setup-regenerate-command-images-line-32)">
-</text><text class="breeze-setup-regenerate-command-images-r5" x="0" y="825.2" textLength="12.2" clip-path="url(#breeze-setup-regenerate-command-images-line-33)">│</text><text class="breeze-setup-regenerate-command-images-r6" x="195.2" y="825.2" textLength="1244.4" clip-path="url(#breeze-setup-regenerate-command-images-line-33)">release-management:update-providers-next-version&#160;|&#160;release-management:verify-provider-distributions&#160;|&#160;</text><text class="breeze-setup-regenerate-command-images-r5" x="1451.8" y="825.2" textLength="12.2" clip-path="url(#breeze-setup-regenerate-command-images-line-33)">│</text><text class="breeze-setup-regenerate-command-images-r1" x="1464" y="825.2" textLength="12.2" clip-path="url(#breeze-setup-regenerate-command-images-line-33)">
-</text><text class="breeze-setup-regenerate-command-images-r5" x="0" y="849.6" textLength="12.2" clip-path="url(#breeze-setup-regenerate-command-images-line-34)">│</text><text class="breeze-setup-regenerate-command-images-r6" x="195.2" y="849.6" textLength="1012.6" clip-path="url(#breeze-setup-regenerate-command-images-line-34)">release-management:verify-rc-by-pmc&#160;|&#160;run&#160;|&#160;sbom&#160;|&#160;sbom:build-all-airflow-images&#160;|&#160;</text><text class="breeze-setup-regenerate-command-images-r5" x="1451.8" y="849.6" textLength="12.2" clip-path="url(#breeze-setup-regenerate-command-images-line-34)">│</text><text class="breeze-setup-regenerate-command-images-r1" x="1464" y="849.6" textLength="12.2" clip-path="url(#breeze-setup-regenerate-command-images-line-34)">
-</text><text class="breeze-setup-regenerate-command-images-r5" x="0" y="874" textLength="12.2" clip-path="url(#breeze-setup-regenerate-command-images-line-35)">│</text><text class="breeze-setup-regenerate-command-images-r6" x="195.2" y="874" textLength="927.2" clip-path="url(#breeze-setup-regenerate-command-images-line-35)">sbom:export-dependency-information&#160;|&#160;sbom:generate-providers-requirements&#160;|&#160;</text><text class="breeze-setup-regenerate-command-images-r5" x="1451.8" y="874" textLength="12.2" clip-path="url(#breeze-setup-regenerate-command-images-line-35)">│</text><text class="breeze-setup-regenerate-command-images-r1" x="1464" y="874" textLength="12.2" clip-path="url(#breeze-setup-regenerate-command-images-line-35)">
-</text><text class="breeze-setup-regenerate-command-images-r5" x="0" y="898.4" textLength="12.2" clip-path="url(#breeze-setup-regenerate-command-images-line-36)">│</text><text class="breeze-setup-regenerate-command-images-r6" x="195.2" y="898.4" textLength="1159" clip-path="url(#breeze-setup-regenerate-command-images-line-36)">sbom:update-sbom-information&#160;|&#160;setup&#160;|&#160;setup:autocomplete&#160;|&#160;setup:check-all-params-in-groups&#160;|&#160;</text><text class="breeze-setup-regenerate-command-images-r5" x="1451.8" y="898.4" textLength="12.2" clip-path="url(#breeze-setup-regenerate-command-images-line-36)">│</text><text class="breeze-setup-regenerate-command-images-r1" x="1464" y="898.4" textLength="12.2" clip-path="url(#breeze-setup-regenerate-command-images-line-36)">
-</text><text class="breeze-setup-regenerate-command-images-r5" x="0" y="922.8" textLength="12.2" clip-path="url(#breeze-setup-regenerate-command-images-line-37)">│</text><text class="breeze-setup-regenerate-command-images-r6" x="195.2" y="922.8" textLength="1244.4" clip-path="url(#breeze-setup-regenerate-command-images-line-37)">setup:config&#160;|&#160;setup:regenerate-command-images&#160;|&#160;setup:self-upgrade&#160;|&#160;setup:synchronize-local-mounts&#160;|</text><text class="breeze-setup-regenerate-command-images-r5" x="1451.8" y="922.8" textLength="12.2" clip-path="url(#breeze-setup-regenerate-command-images-line-37)">│</text><text class="breeze-setup-regenerate-command-images-r1" x="1464" y="922.8" textLength="12.2" clip-path="url(#breeze-setup-regenerate-command-images-line-37)">
-</text><text class="breeze-setup-regenerate-command-images-r5" x="0" y="947.2" textLength="12.2" clip-path="url(#breeze-setup-regenerate-command-images-line-38)">│</text><text class="breeze-setup-regenerate-command-images-r6" x="195.2" y="947.2" textLength="1098" clip-path="url(#breeze-setup-regenerate-command-images-line-38)">setup:version&#160;|&#160;shell&#160;|&#160;start-airflow&#160;|&#160;testing&#160;|&#160;testing:airflow-ctl-integration-tests&#160;|&#160;</text><text class="breeze-setup-regenerate-command-images-r5" x="1451.8" y="947.2" textLength="12.2" clip-path="url(#breeze-setup-regenerate-command-images-line-38)">│</text><text class="breeze-setup-regenerate-command-images-r1" x="1464" y="947.2" textLength="12.2" clip-path="url(#breeze-setup-regenerate-command-images-line-38)">
-</text><text class="breeze-setup-regenerate-command-images-r5" x="0" y="971.6" textLength="12.2" clip-path="url(#breeze-setup-regenerate-command-images-line-39)">│</text><text class="breeze-setup-regenerate-command-images-r6" x="195.2" y="971.6" textLength="1085.8" clip-path="url(#breeze-setup-regenerate-command-images-line-39)">testing:airflow-ctl-tests&#160;|&#160;testing:airflow-e2e-tests&#160;|&#160;testing:core-integration-tests&#160;|&#160;</text><text class="breeze-setup-regenerate-command-images-r5" x="1451.8" y="971.6" textLength="12.2" clip-path="url(#breeze-setup-regenerate-command-images-line-39)">│</text><text class="breeze-setup-regenerate-command-images-r1" x="1464" y="971.6" textLength="12.2" clip-path="url(#breeze-setup-regenerate-command-images-line-39)">
-</text><text class="breeze-setup-regenerate-command-images-r5" x="0" y="996" textLength="12.2" clip-path="url(#breeze-setup-regenerate-command-images-line-40)">│</text><text class="breeze-setup-regenerate-command-images-r6" x="195.2" y="996" textLength="890.6" clip-path="url(#breeze-setup-regenerate-command-images-line-40)">testing:core-tests&#160;|&#160;testing:docker-compose-tests&#160;|&#160;testing:helm-tests&#160;|&#160;</text><text class="breeze-setup-regenerate-command-images-r5" x="1451.8" y="996" textLength="12.2" clip-path="url(#breeze-setup-regenerate-command-images-line-40)">│</text><text class="breeze-setup-regenerate-command-images-r1" x="1464" y="996" textLength="12.2" clip-path="url(#breeze-setup-regenerate-command-images-line-40)">
-</text><text class="breeze-setup-regenerate-command-images-r5" x="0" y="1020.4" textLength="12.2" clip-path="url(#breeze-setup-regenerate-command-images-line-41)">│</text><text class="breeze-setup-regenerate-command-images-r6" x="195.2" y="1020.4" textLength="1195.6" clip-path="url(#breeze-setup-regenerate-command-images-line-41)">testing:providers-integration-tests&#160;|&#160;testing:providers-tests&#160;|&#160;testing:python-api-client-tests&#160;|&#160;</text><text class="breeze-setup-regenerate-command-images-r5" x="1451.8" y="1020.4" textLength="12.2" clip-path="url(#breeze-setup-regenerate-command-images-line-41)">│</text><text class="breeze-setup-regenerate-command-images-r1" x="1464" y="1020.4" textLength="12.2" clip-path="url(#breeze-setup-regenerate-command-images-line-41)">
-</text><text class="breeze-setup-regenerate-command-images-r5" x="0" y="1044.8" textLength="12.2" clip-path="url(#breeze-setup-regenerate-command-images-line-42)">│</text><text class="breeze-setup-regenerate-command-images-r6" x="195.2" y="1044.8" textLength="1037" clip-path="url(#breeze-setup-regenerate-command-images-line-42)">testing:system-tests&#160;|&#160;testing:task-sdk-integration-tests&#160;|&#160;testing:task-sdk-tests&#160;|&#160;</text><text class="breeze-setup-regenerate-command-images-r5" x="1451.8" y="1044.8" textLength="12.2" clip-path="url(#breeze-setup-regenerate-command-images-line-42)">│</text><text class="breeze-setup-regenerate-command-images-r1" x="1464" y="1044.8" textLength="12.2" clip-path="url(#breeze-setup-regenerate-command-images-line-42)">
-</text><text class="breeze-setup-regenerate-command-images-r5" x="0" y="1069.2" textLength="12.2" clip-path="url(#breeze-setup-regenerate-command-images-line-43)">│</text><text class="breeze-setup-regenerate-command-images-r6" x="195.2" y="1069.2" textLength="1207.8" clip-path="url(#breeze-setup-regenerate-command-images-line-43)">testing:ui-e2e-tests&#160;|&#160;ui&#160;|&#160;ui:check-translation-completeness&#160;|&#160;ui:compile-assets&#160;|&#160;workflow-run&#160;|&#160;</text><text class="breeze-setup-regenerate-command-images-r5" x="1451.8" y="1069.2" textLength="12.2" clip-path="url(#breeze-setup-regenerate-command-images-line-43)">│</text><text class="breeze-setup-regenerate-command-images-r1" x="1464" y="1069.2" textLength="12.2" clip-path="url(#breeze-setup-regenerate-command-images-line-43)">
-</text><text class="breeze-setup-regenerate-command-images-r5" x="0" y="1093.6" textLength="12.2" clip-path="url(#breeze-setup-regenerate-command-images-line-44)">│</text><text class="breeze-setup-regenerate-command-images-r6" x="195.2" y="1093.6" textLength="317.2" clip-path="url(#breeze-setup-regenerate-command-images-line-44)">workflow-run:publish-docs)</text><text class="breeze-setup-regenerate-command-images-r5" x="1451.8" y="1093.6" textLength="12.2" clip-path="url(#breeze-setup-regenerate-command-images-line-44)">│</text><text class="breeze-setup-regenerate-command-images-r1" x="1464" y="1093.6" textLength="12.2" clip-path="url(#breeze-setup-regenerate-command-images-line-44)">
-</text><text class="breeze-setup-regenerate-command-images-r5" x="0" y="1118" textLength="12.2" clip-path="url(#breeze-setup-regenerate-command-images-line-45)">│</text><text class="breeze-setup-regenerate-command-images-r4" x="24.4" y="1118" textLength="146.4" clip-path="url(#breeze-setup-regenerate-command-images-line-45)">--check-only</text><text class="breeze-setup-regenerate-command-images-r1" x="195.2" y="1118" textLength="1244.4" clip-path="url(#breeze-setup-regenerate-command-images-line-45)">Only&#160;check&#160;if&#160;some&#160;images&#160;need&#160;to&#160;be&#160;regenerated.&#160;Return&#160;0&#160;if&#160;no&#160;need&#160;or&#160;1&#160;if&#160;needed.&#160;Cannot&#160;be&#160;used&#160;&#160;</text><text class="breeze-setup-regenerate-command-images-r5" x="1451.8" y="1118" textLength="12.2" clip-path="url(#breeze-setup-regenerate-command-images-line-45)">│</text><text class="breeze-setup-regenerate-command-images-r1" x="1464" y="1118" textLength="12.2" clip-path="url(#breeze-setup-regenerate-command-images-line-45)">
-</text><text class="breeze-setup-regenerate-command-images-r5" x="0" y="1142.4" textLength="12.2" clip-path="url(#breeze-setup-regenerate-command-images-line-46)">│</text><text class="breeze-setup-regenerate-command-images-r1" x="195.2" y="1142.4" textLength="170.8" clip-path="url(#breeze-setup-regenerate-command-images-line-46)">together&#160;with&#160;</text><text class="breeze-setup-regenerate-command-images-r4" x="366" y="1142.4" textLength="109.8" clip-path="url(#breeze-setup-regenerate-command-images-line-46)">--command</text><text class="breeze-setup-regenerate-command-images-r1" x="475.8" y="1142.4" textLength="109.8" clip-path="url(#breeze-setup-regenerate-command-images-line-46)">&#160;flag&#160;or&#160;</text><text class="breeze-setup-regenerate-command-images-r4" x="585.6" y="1142.4" textLength="85.4" clip-path="url(#breeze-setup-regenerate-command-images-line-46)">--force</text><text class="breeze-setup-regenerate-command-images-r1" x="671" y="1142.4" textLength="768.6" clip-path="url(#breeze-setup-regenerate-command-images-line-46)">.&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</text><text class="breeze-setup-regenerate-command-images-r5" x="1451.8" y="1142.4" textLength="12.2" clip-path="url(#breeze-setup-regenerate-command-images-line-46)">│</text><text class="breeze-setup-regenerate-command-images-r1" x="1464" y="1142.4" textLength="12.2" clip-path="url(#breeze-setup-regenerate-command-images-line-46)">
-</text><text class="breeze-setup-regenerate-command-images-r5" x="0" y="1166.8" textLength="1464" clip-path="url(#breeze-setup-regenerate-command-images-line-47)">╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯</text><text class="breeze-setup-regenerate-command-images-r1" x="1464" y="1166.8" textLength="12.2" clip-path="url(#breeze-setup-regenerate-command-images-line-47)">
-</text><text class="breeze-setup-regenerate-command-images-r5" x="0" y="1191.2" textLength="24.4" clip-path="url(#breeze-setup-regenerate-command-images-line-48)">╭─</text><text class="breeze-setup-regenerate-command-images-r5" x="24.4" y="1191.2" textLength="195.2" clip-path="url(#breeze-setup-regenerate-command-images-line-48)">&#160;Common&#160;options&#160;</text><text class="breeze-setup-regenerate-command-images-r5" x="219.6" y="1191.2" textLength="1220" clip-path="url(#breeze-setup-regenerate-command-images-line-48)">────────────────────────────────────────────────────────────────────────────────────────────────────</text><text class="breeze-setup-regenerate-command-images-r5" x="1439.6" y="1191.2" textLength="24.4" clip-path="url(#breeze-setup-regenerate-command-images-line-48)">─╮</text><text class="breeze-setup-regenerate-command-images-r1" x="1464" y="1191.2" textLength="12.2" clip-path="url(#breeze-setup-regenerate-command-images-line-48)">
-</text><text class="breeze-setup-regenerate-command-images-r5" x="0" y="1215.6" textLength="12.2" clip-path="url(#breeze-setup-regenerate-command-images-line-49)">│</text><text class="breeze-setup-regenerate-command-images-r4" x="24.4" y="1215.6" textLength="109.8" clip-path="url(#breeze-setup-regenerate-command-images-line-49)">--verbose</text><text class="breeze-setup-regenerate-command-images-r7" x="158.6" y="1215.6" textLength="24.4" clip-path="url(#breeze-setup-regenerate-command-images-line-49)">-v</text><text class="breeze-setup-regenerate-command-images-r1" x="207.4" y="1215.6" textLength="585.6" clip-path="url(#breeze-setup-regenerate-command-images-line-49)">Print&#160;verbose&#160;information&#160;about&#160;performed&#160;steps.</text><text class="breeze-setup-regenerate-command-images-r5" x="1451.8" y="1215.6" textLength="12.2" clip-path="url(#breeze-setup-regenerate-command-images-line-49)">│</text><text class="breeze-setup-regenerate-command-images-r1" x="1464" y="1215.6" textLength="12.2" clip-path="url(#breeze-setup-regenerate-command-images-line-49)">
-</text><text class="breeze-setup-regenerate-command-images-r5" x="0" y="1240" textLength="12.2" clip-path="url(#breeze-setup-regenerate-command-images-line-50)">│</text><text class="breeze-setup-regenerate-command-images-r4" x="24.4" y="1240" textLength="109.8" clip-path="url(#breeze-setup-regenerate-command-images-line-50)">--dry-run</text><text class="breeze-setup-regenerate-command-images-r7" x="158.6" y="1240" textLength="24.4" clip-path="url(#breeze-setup-regenerate-command-images-line-50)">-D</text><text class="breeze-setup-regenerate-command-images-r1" x="207.4" y="1240" textLength="719.8" clip-path="url(#breeze-setup-regenerate-command-images-line-50)">If&#160;dry-run&#160;is&#160;set,&#160;commands&#160;are&#160;only&#160;printed,&#160;not&#160;executed.</text><text class="breeze-setup-regenerate-command-images-r5" x="1451.8" y="1240" textLength="12.2" clip-path="url(#breeze-setup-regenerate-command-images-line-50)">│</text><text class="breeze-setup-regenerate-command-images-r1" x="1464" y="1240" textLength="12.2" clip-path="url(#breeze-setup-regenerate-command-images-line-50)">
-</text><text class="breeze-setup-regenerate-command-images-r5" x="0" y="1264.4" textLength="12.2" clip-path="url(#breeze-setup-regenerate-command-images-line-51)">│</text><text class="breeze-setup-regenerate-command-images-r4" x="24.4" y="1264.4" textLength="109.8" clip-path="url(#breeze-setup-regenerate-command-images-line-51)">--help&#160;&#160;&#160;</text><text class="breeze-setup-regenerate-command-images-r7" x="158.6" y="1264.4" textLength="24.4" clip-path="url(#breeze-setup-regenerate-command-images-line-51)">-h</text><text class="breeze-setup-regenerate-command-images-r1" x="207.4" y="1264.4" textLength="329.4" clip-path="url(#breeze-setup-regenerate-command-images-line-51)">Show&#160;this&#160;message&#160;and&#160;exit.</text><text class="breeze-setup-regenerate-command-images-r5" x="1451.8" y="1264.4" textLength="12.2" clip-path="url(#breeze-setup-regenerate-command-images-line-51)">│</text><text class="breeze-setup-regenerate-command-images-r1" x="1464" y="1264.4" textLength="12.2" clip-path="url(#breeze-setup-regenerate-command-images-line-51)">
-</text><text class="breeze-setup-regenerate-command-images-r5" x="0" y="1288.8" textLength="1464" clip-path="url(#breeze-setup-regenerate-command-images-line-52)">╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯</text><text class="breeze-setup-regenerate-command-images-r1" x="1464" y="1288.8" textLength="12.2" clip-path="url(#breeze-setup-regenerate-command-images-line-52)">
+</text><text class="breeze-setup-regenerate-command-images-r5" x="0" y="459.2" textLength="12.2" clip-path="url(#breeze-setup-regenerate-command-images-line-18)">│</text><text class="breeze-setup-regenerate-command-images-r6" x="195.2" y="459.2" textLength="1183.4" clip-path="url(#breeze-setup-regenerate-command-images-line-18)">release-management:classify-provider-changes&#160;|&#160;release-management:clean-old-provider-artifacts&#160;|&#160;</text><text class="breeze-setup-regenerate-command-images-r5" x="1451.8" y="459.2" textLength="12.2" clip-path="url(#breeze-setup-regenerate-command-images-line-18)">│</text><text class="breeze-setup-regenerate-command-images-r1" x="1464" y="459.2" textLength="12.2" clip-path="url(#breeze-setup-regenerate-command-images-line-18)">
+</text><text class="breeze-setup-regenerate-command-images-r5" x="0" y="483.6" textLength="12.2" clip-path="url(#breeze-setup-regenerate-command-images-line-19)">│</text><text class="breeze-setup-regenerate-command-images-r6" x="195.2" y="483.6" textLength="1073.6" clip-path="url(#breeze-setup-regenerate-command-images-line-19)">release-management:constraints-version-check&#160;|&#160;release-management:create-minor-branch&#160;|&#160;</text><text class="breeze-setup-regenerate-command-images-r5" x="1451.8" y="483.6" textLength="12.2" clip-path="url(#breeze-setup-regenerate-command-images-line-19)">│</text><text class="breeze-setup-regenerate-command-images-r1" x="1464" y="483.6" textLength="12.2" clip-path="url(#breeze-setup-regenerate-command-images-line-19)">
+</text><text class="breeze-setup-regenerate-command-images-r5" x="0" y="508" textLength="12.2" clip-path="url(#breeze-setup-regenerate-command-images-line-20)">│</text><text class="breeze-setup-regenerate-command-images-r6" x="195.2" y="508" textLength="1134.6" clip-path="url(#breeze-setup-regenerate-command-images-line-20)">release-management:generate-airflowctl-changelog&#160;|&#160;release-management:generate-constraints&#160;|&#160;</text><text class="breeze-setup-regenerate-command-images-r5" x="1451.8" y="508" textLength="12.2" clip-path="url(#breeze-setup-regenerate-command-images-line-20)">│</text><text class="breeze-setup-regenerate-command-images-r1" x="1464" y="508" textLength="12.2" clip-path="url(#breeze-setup-regenerate-command-images-line-20)">
+</text><text class="breeze-setup-regenerate-command-images-r5" x="0" y="532.4" textLength="12.2" clip-path="url(#breeze-setup-regenerate-command-images-line-21)">│</text><text class="breeze-setup-regenerate-command-images-r6" x="195.2" y="532.4" textLength="1244.4" clip-path="url(#breeze-setup-regenerate-command-images-line-21)">release-management:generate-issue-content-airflow-ctl&#160;|&#160;release-management:generate-issue-content-core</text><text class="breeze-setup-regenerate-command-images-r5" x="1451.8" y="532.4" textLength="12.2" clip-path="url(#breeze-setup-regenerate-command-images-line-21)">│</text><text class="breeze-setup-regenerate-command-images-r1" x="1464" y="532.4" textLength="12.2" clip-path="url(#breeze-setup-regenerate-command-images-line-21)">
+</text><text class="breeze-setup-regenerate-command-images-r5" x="0" y="556.8" textLength="12.2" clip-path="url(#breeze-setup-regenerate-command-images-line-22)">│</text><text class="breeze-setup-regenerate-command-images-r6" x="195.2" y="556.8" textLength="695.4" clip-path="url(#breeze-setup-regenerate-command-images-line-22)">|&#160;release-management:generate-issue-content-helm-chart&#160;|&#160;</text><text class="breeze-setup-regenerate-command-images-r5" x="1451.8" y="556.8" textLength="12.2" clip-path="url(#breeze-setup-regenerate-command-images-line-22)">│</text><text class="breeze-setup-regenerate-command-images-r1" x="1464" y="556.8" textLength="12.2" clip-path="url(#breeze-setup-regenerate-command-images-line-22)">
+</text><text class="breeze-setup-regenerate-command-images-r5" x="0" y="581.2" textLength="12.2" clip-path="url(#breeze-setup-regenerate-command-images-line-23)">│</text><text class="breeze-setup-regenerate-command-images-r6" x="195.2" y="581.2" textLength="1244.4" clip-path="url(#breeze-setup-regenerate-command-images-line-23)">release-management:generate-issue-content-providers&#160;|&#160;release-management:generate-providers-metadata&#160;|</text><text class="breeze-setup-regenerate-command-images-r5" x="1451.8" y="581.2" textLength="12.2" clip-path="url(#breeze-setup-regenerate-command-images-line-23)">│</text><text class="breeze-setup-regenerate-command-images-r1" x="1464" y="581.2" textLength="12.2" clip-path="url(#breeze-setup-regenerate-command-images-line-23)">
+</text><text class="breeze-setup-regenerate-command-images-r5" x="0" y="605.6" textLength="12.2" clip-path="url(#breeze-setup-regenerate-command-images-line-24)">│</text><text class="breeze-setup-regenerate-command-images-r6" x="195.2" y="605.6" textLength="1110.2" clip-path="url(#breeze-setup-regenerate-command-images-line-24)">release-management:install-provider-distributions&#160;|&#160;release-management:merge-prod-images&#160;|&#160;</text><text class="breeze-setup-regenerate-command-images-r5" x="1451.8" y="605.6" textLength="12.2" clip-path="url(#breeze-setup-regenerate-command-images-line-24)">│</text><text class="breeze-setup-regenerate-command-images-r1" x="1464" y="605.6" textLength="12.2" clip-path="url(#breeze-setup-regenerate-command-images-line-24)">
+</text><text class="breeze-setup-regenerate-command-images-r5" x="0" y="630" textLength="12.2" clip-path="url(#breeze-setup-regenerate-command-images-line-25)">│</text><text class="breeze-setup-regenerate-command-images-r6" x="195.2" y="630" textLength="671" clip-path="url(#breeze-setup-regenerate-command-images-line-25)">release-management:prepare-airflow-ctl-distributions&#160;|&#160;</text><text class="breeze-setup-regenerate-command-images-r5" x="1451.8" y="630" textLength="12.2" clip-path="url(#breeze-setup-regenerate-command-images-line-25)">│</text><text class="breeze-setup-regenerate-command-images-r1" x="1464" y="630" textLength="12.2" clip-path="url(#breeze-setup-regenerate-command-images-line-25)">
+</text><text class="breeze-setup-regenerate-command-images-r5" x="0" y="654.4" textLength="12.2" clip-path="url(#breeze-setup-regenerate-command-images-line-26)">│</text><text class="breeze-setup-regenerate-command-images-r6" x="195.2" y="654.4" textLength="1207.8" clip-path="url(#breeze-setup-regenerate-command-images-line-26)">release-management:prepare-airflow-distributions&#160;|&#160;release-management:prepare-helm-chart-package&#160;|&#160;</text><text class="breeze-setup-regenerate-command-images-r5" x="1451.8" y="654.4" textLength="12.2" clip-path="url(#breeze-setup-regenerate-command-images-line-26)">│</text><text class="breeze-setup-regenerate-command-images-r1" x="1464" y="654.4" textLength="12.2" clip-path="url(#breeze-setup-regenerate-command-images-line-26)">
+</text><text class="breeze-setup-regenerate-command-images-r5" x="0" y="678.8" textLength="12.2" clip-path="url(#breeze-setup-regenerate-command-images-line-27)">│</text><text class="breeze-setup-regenerate-command-images-r6" x="195.2" y="678.8" textLength="1171.2" clip-path="url(#breeze-setup-regenerate-command-images-line-27)">release-management:prepare-helm-chart-tarball&#160;|&#160;release-management:prepare-mypy-distributions&#160;|&#160;</text><text class="breeze-setup-regenerate-command-images-r5" x="1451.8" y="678.8" textLength="12.2" clip-path="url(#breeze-setup-regenerate-command-images-line-27)">│</text><text class="breeze-setup-regenerate-command-images-r1" x="1464" y="678.8" textLength="12.2" clip-path="url(#breeze-setup-regenerate-command-images-line-27)">
+</text><text class="breeze-setup-regenerate-command-images-r5" x="0" y="703.2" textLength="12.2" clip-path="url(#breeze-setup-regenerate-command-images-line-28)">│</text><text class="breeze-setup-regenerate-command-images-r6" x="195.2" y="703.2" textLength="1244.4" clip-path="url(#breeze-setup-regenerate-command-images-line-28)">release-management:prepare-provider-distributions&#160;|&#160;release-management:prepare-provider-documentation&#160;</text><text class="breeze-setup-regenerate-command-images-r5" x="1451.8" y="703.2" textLength="12.2" clip-path="url(#breeze-setup-regenerate-command-images-line-28)">│</text><text class="breeze-setup-regenerate-command-images-r1" x="1464" y="703.2" textLength="12.2" clip-path="url(#breeze-setup-regenerate-command-images-line-28)">
+</text><text class="breeze-setup-regenerate-command-images-r5" x="0" y="727.6" textLength="12.2" clip-path="url(#breeze-setup-regenerate-command-images-line-29)">│</text><text class="breeze-setup-regenerate-command-images-r6" x="195.2" y="727.6" textLength="1000.4" clip-path="url(#breeze-setup-regenerate-command-images-line-29)">|&#160;release-management:prepare-python-client&#160;|&#160;release-management:prepare-tarball&#160;|&#160;</text><text class="breeze-setup-regenerate-command-images-r5" x="1451.8" y="727.6" textLength="12.2" clip-path="url(#breeze-setup-regenerate-command-images-line-29)">│</text><text class="breeze-setup-regenerate-command-images-r1" x="1464" y="727.6" textLength="12.2" clip-path="url(#breeze-setup-regenerate-command-images-line-29)">
+</text><text class="breeze-setup-regenerate-command-images-r5" x="0" y="752" textLength="12.2" clip-path="url(#breeze-setup-regenerate-command-images-line-30)">│</text><text class="breeze-setup-regenerate-command-images-r6" x="195.2" y="752" textLength="1049.2" clip-path="url(#breeze-setup-regenerate-command-images-line-30)">release-management:prepare-task-sdk-distributions&#160;|&#160;release-management:publish-docs&#160;|&#160;</text><text class="breeze-setup-regenerate-command-images-r5" x="1451.8" y="752" textLength="12.2" clip-path="url(#breeze-setup-regenerate-command-images-line-30)">│</text><text class="breeze-setup-regenerate-command-images-r1" x="1464" y="752" textLength="12.2" clip-path="url(#breeze-setup-regenerate-command-images-line-30)">
+</text><text class="breeze-setup-regenerate-command-images-r5" x="0" y="776.4" textLength="12.2" clip-path="url(#breeze-setup-regenerate-command-images-line-31)">│</text><text class="breeze-setup-regenerate-command-images-r6" x="195.2" y="776.4" textLength="988.2" clip-path="url(#breeze-setup-regenerate-command-images-line-31)">release-management:publish-docs-to-s3&#160;|&#160;release-management:release-prod-images&#160;|&#160;</text><text class="breeze-setup-regenerate-command-images-r5" x="1451.8" y="776.4" textLength="12.2" clip-path="url(#breeze-setup-regenerate-command-images-line-31)">│</text><text class="breeze-setup-regenerate-command-images-r1" x="1464" y="776.4" textLength="12.2" clip-path="url(#breeze-setup-regenerate-command-images-line-31)">
+</text><text class="breeze-setup-regenerate-command-images-r5" x="0" y="800.8" textLength="12.2" clip-path="url(#breeze-setup-regenerate-command-images-line-32)">│</text><text class="breeze-setup-regenerate-command-images-r6" x="195.2" y="800.8" textLength="890.6" clip-path="url(#breeze-setup-regenerate-command-images-line-32)">release-management:start-rc-process&#160;|&#160;release-management:start-release&#160;|&#160;</text><text class="breeze-setup-regenerate-command-images-r5" x="1451.8" y="800.8" textLength="12.2" clip-path="url(#breeze-setup-regenerate-command-images-line-32)">│</text><text class="breeze-setup-regenerate-command-images-r1" x="1464" y="800.8" textLength="12.2" clip-path="url(#breeze-setup-regenerate-command-images-line-32)">
+</text><text class="breeze-setup-regenerate-command-images-r5" x="0" y="825.2" textLength="12.2" clip-path="url(#breeze-setup-regenerate-command-images-line-33)">│</text><text class="breeze-setup-regenerate-command-images-r6" x="195.2" y="825.2" textLength="915" clip-path="url(#breeze-setup-regenerate-command-images-line-33)">release-management:tag-providers&#160;|&#160;release-management:update-constraints&#160;|&#160;</text><text class="breeze-setup-regenerate-command-images-r5" x="1451.8" y="825.2" textLength="12.2" clip-path="url(#breeze-setup-regenerate-command-images-line-33)">│</text><text class="breeze-setup-regenerate-command-images-r1" x="1464" y="825.2" textLength="12.2" clip-path="url(#breeze-setup-regenerate-command-images-line-33)">
+</text><text class="breeze-setup-regenerate-command-images-r5" x="0" y="849.6" textLength="12.2" clip-path="url(#breeze-setup-regenerate-command-images-line-34)">│</text><text class="breeze-setup-regenerate-command-images-r6" x="195.2" y="849.6" textLength="1244.4" clip-path="url(#breeze-setup-regenerate-command-images-line-34)">release-management:update-providers-next-version&#160;|&#160;release-management:verify-provider-distributions&#160;|&#160;</text><text class="breeze-setup-regenerate-command-images-r5" x="1451.8" y="849.6" textLength="12.2" clip-path="url(#breeze-setup-regenerate-command-images-line-34)">│</text><text class="breeze-setup-regenerate-command-images-r1" x="1464" y="849.6" textLength="12.2" clip-path="url(#breeze-setup-regenerate-command-images-line-34)">
+</text><text class="breeze-setup-regenerate-command-images-r5" x="0" y="874" textLength="12.2" clip-path="url(#breeze-setup-regenerate-command-images-line-35)">│</text><text class="breeze-setup-regenerate-command-images-r6" x="195.2" y="874" textLength="1012.6" clip-path="url(#breeze-setup-regenerate-command-images-line-35)">release-management:verify-rc-by-pmc&#160;|&#160;run&#160;|&#160;sbom&#160;|&#160;sbom:build-all-airflow-images&#160;|&#160;</text><text class="breeze-setup-regenerate-command-images-r5" x="1451.8" y="874" textLength="12.2" clip-path="url(#breeze-setup-regenerate-command-images-line-35)">│</text><text class="breeze-setup-regenerate-command-images-r1" x="1464" y="874" textLength="12.2" clip-path="url(#breeze-setup-regenerate-command-images-line-35)">
+</text><text class="breeze-setup-regenerate-command-images-r5" x="0" y="898.4" textLength="12.2" clip-path="url(#breeze-setup-regenerate-command-images-line-36)">│</text><text class="breeze-setup-regenerate-command-images-r6" x="195.2" y="898.4" textLength="927.2" clip-path="url(#breeze-setup-regenerate-command-images-line-36)">sbom:export-dependency-information&#160;|&#160;sbom:generate-providers-requirements&#160;|&#160;</text><text class="breeze-setup-regenerate-command-images-r5" x="1451.8" y="898.4" textLength="12.2" clip-path="url(#breeze-setup-regenerate-command-images-line-36)">│</text><text class="breeze-setup-regenerate-command-images-r1" x="1464" y="898.4" textLength="12.2" clip-path="url(#breeze-setup-regenerate-command-images-line-36)">
+</text><text class="breeze-setup-regenerate-command-images-r5" x="0" y="922.8" textLength="12.2" clip-path="url(#breeze-setup-regenerate-command-images-line-37)">│</text><text class="breeze-setup-regenerate-command-images-r6" x="195.2" y="922.8" textLength="1159" clip-path="url(#breeze-setup-regenerate-command-images-line-37)">sbom:update-sbom-information&#160;|&#160;setup&#160;|&#160;setup:autocomplete&#160;|&#160;setup:check-all-params-in-groups&#160;|&#160;</text><text class="breeze-setup-regenerate-command-images-r5" x="1451.8" y="922.8" textLength="12.2" clip-path="url(#breeze-setup-regenerate-command-images-line-37)">│</text><text class="breeze-setup-regenerate-command-images-r1" x="1464" y="922.8" textLength="12.2" clip-path="url(#breeze-setup-regenerate-command-images-line-37)">
+</text><text class="breeze-setup-regenerate-command-images-r5" x="0" y="947.2" textLength="12.2" clip-path="url(#breeze-setup-regenerate-command-images-line-38)">│</text><text class="breeze-setup-regenerate-command-images-r6" x="195.2" y="947.2" textLength="1244.4" clip-path="url(#breeze-setup-regenerate-command-images-line-38)">setup:config&#160;|&#160;setup:regenerate-command-images&#160;|&#160;setup:self-upgrade&#160;|&#160;setup:synchronize-local-mounts&#160;|</text><text class="breeze-setup-regenerate-command-images-r5" x="1451.8" y="947.2" textLength="12.2" clip-path="url(#breeze-setup-regenerate-command-images-line-38)">│</text><text class="breeze-setup-regenerate-command-images-r1" x="1464" y="947.2" textLength="12.2" clip-path="url(#breeze-setup-regenerate-command-images-line-38)">
+</text><text class="breeze-setup-regenerate-command-images-r5" x="0" y="971.6" textLength="12.2" clip-path="url(#breeze-setup-regenerate-command-images-line-39)">│</text><text class="breeze-setup-regenerate-command-images-r6" x="195.2" y="971.6" textLength="1098" clip-path="url(#breeze-setup-regenerate-command-images-line-39)">setup:version&#160;|&#160;shell&#160;|&#160;start-airflow&#160;|&#160;testing&#160;|&#160;testing:airflow-ctl-integration-tests&#160;|&#160;</text><text class="breeze-setup-regenerate-command-images-r5" x="1451.8" y="971.6" textLength="12.2" clip-path="url(#breeze-setup-regenerate-command-images-line-39)">│</text><text class="breeze-setup-regenerate-command-images-r1" x="1464" y="971.6" textLength="12.2" clip-path="url(#breeze-setup-regenerate-command-images-line-39)">
+</text><text class="breeze-setup-regenerate-command-images-r5" x="0" y="996" textLength="12.2" clip-path="url(#breeze-setup-regenerate-command-images-line-40)">│</text><text class="breeze-setup-regenerate-command-images-r6" x="195.2" y="996" textLength="1085.8" clip-path="url(#breeze-setup-regenerate-command-images-line-40)">testing:airflow-ctl-tests&#160;|&#160;testing:airflow-e2e-tests&#160;|&#160;testing:core-integration-tests&#160;|&#160;</text><text class="breeze-setup-regenerate-command-images-r5" x="1451.8" y="996" textLength="12.2" clip-path="url(#breeze-setup-regenerate-command-images-line-40)">│</text><text class="breeze-setup-regenerate-command-images-r1" x="1464" y="996" textLength="12.2" clip-path="url(#breeze-setup-regenerate-command-images-line-40)">
+</text><text class="breeze-setup-regenerate-command-images-r5" x="0" y="1020.4" textLength="12.2" clip-path="url(#breeze-setup-regenerate-command-images-line-41)">│</text><text class="breeze-setup-regenerate-command-images-r6" x="195.2" y="1020.4" textLength="890.6" clip-path="url(#breeze-setup-regenerate-command-images-line-41)">testing:core-tests&#160;|&#160;testing:docker-compose-tests&#160;|&#160;testing:helm-tests&#160;|&#160;</text><text class="breeze-setup-regenerate-command-images-r5" x="1451.8" y="1020.4" textLength="12.2" clip-path="url(#breeze-setup-regenerate-command-images-line-41)">│</text><text class="breeze-setup-regenerate-command-images-r1" x="1464" y="1020.4" textLength="12.2" clip-path="url(#breeze-setup-regenerate-command-images-line-41)">
+</text><text class="breeze-setup-regenerate-command-images-r5" x="0" y="1044.8" textLength="12.2" clip-path="url(#breeze-setup-regenerate-command-images-line-42)">│</text><text class="breeze-setup-regenerate-command-images-r6" x="195.2" y="1044.8" textLength="1195.6" clip-path="url(#breeze-setup-regenerate-command-images-line-42)">testing:providers-integration-tests&#160;|&#160;testing:providers-tests&#160;|&#160;testing:python-api-client-tests&#160;|&#160;</text><text class="breeze-setup-regenerate-command-images-r5" x="1451.8" y="1044.8" textLength="12.2" clip-path="url(#breeze-setup-regenerate-command-images-line-42)">│</text><text class="breeze-setup-regenerate-command-images-r1" x="1464" y="1044.8" textLength="12.2" clip-path="url(#breeze-setup-regenerate-command-images-line-42)">
+</text><text class="breeze-setup-regenerate-command-images-r5" x="0" y="1069.2" textLength="12.2" clip-path="url(#breeze-setup-regenerate-command-images-line-43)">│</text><text class="breeze-setup-regenerate-command-images-r6" x="195.2" y="1069.2" textLength="1037" clip-path="url(#breeze-setup-regenerate-command-images-line-43)">testing:system-tests&#160;|&#160;testing:task-sdk-integration-tests&#160;|&#160;testing:task-sdk-tests&#160;|&#160;</text><text class="breeze-setup-regenerate-command-images-r5" x="1451.8" y="1069.2" textLength="12.2" clip-path="url(#breeze-setup-regenerate-command-images-line-43)">│</text><text class="breeze-setup-regenerate-command-images-r1" x="1464" y="1069.2" textLength="12.2" clip-path="url(#breeze-setup-regenerate-command-images-line-43)">
+</text><text class="breeze-setup-regenerate-command-images-r5" x="0" y="1093.6" textLength="12.2" clip-path="url(#breeze-setup-regenerate-command-images-line-44)">│</text><text class="breeze-setup-regenerate-command-images-r6" x="195.2" y="1093.6" textLength="1207.8" clip-path="url(#breeze-setup-regenerate-command-images-line-44)">testing:ui-e2e-tests&#160;|&#160;ui&#160;|&#160;ui:check-translation-completeness&#160;|&#160;ui:compile-assets&#160;|&#160;workflow-run&#160;|&#160;</text><text class="breeze-setup-regenerate-command-images-r5" x="1451.8" y="1093.6" textLength="12.2" clip-path="url(#breeze-setup-regenerate-command-images-line-44)">│</text><text class="breeze-setup-regenerate-command-images-r1" x="1464" y="1093.6" textLength="12.2" clip-path="url(#breeze-setup-regenerate-command-images-line-44)">
+</text><text class="breeze-setup-regenerate-command-images-r5" x="0" y="1118" textLength="12.2" clip-path="url(#breeze-setup-regenerate-command-images-line-45)">│</text><text class="breeze-setup-regenerate-command-images-r6" x="195.2" y="1118" textLength="317.2" clip-path="url(#breeze-setup-regenerate-command-images-line-45)">workflow-run:publish-docs)</text><text class="breeze-setup-regenerate-command-images-r5" x="1451.8" y="1118" textLength="12.2" clip-path="url(#breeze-setup-regenerate-command-images-line-45)">│</text><text class="breeze-setup-regenerate-command-images-r1" x="1464" y="1118" textLength="12.2" clip-path="url(#breeze-setup-regenerate-command-images-line-45)">
+</text><text class="breeze-setup-regenerate-command-images-r5" x="0" y="1142.4" textLength="12.2" clip-path="url(#breeze-setup-regenerate-command-images-line-46)">│</text><text class="breeze-setup-regenerate-command-images-r4" x="24.4" y="1142.4" textLength="146.4" clip-path="url(#breeze-setup-regenerate-command-images-line-46)">--check-only</text><text class="breeze-setup-regenerate-command-images-r1" x="195.2" y="1142.4" textLength="1244.4" clip-path="url(#breeze-setup-regenerate-command-images-line-46)">Only&#160;check&#160;if&#160;some&#160;images&#160;need&#160;to&#160;be&#160;regenerated.&#160;Return&#160;0&#160;if&#160;no&#160;need&#160;or&#160;1&#160;if&#160;needed.&#160;Cannot&#160;be&#160;used&#160;&#160;</text><text class="breeze-setup-regenerate-command-images-r5" x="1451.8" y="1142.4" textLength="12.2" clip-path="url(#breeze-setup-regenerate-command-images-line-46)">│</text><text class="breeze-setup-regenerate-command-images-r1" x="1464" y="1142.4" textLength="12.2" clip-path="url(#breeze-setup-regenerate-command-images-line-46)">
+</text><text class="breeze-setup-regenerate-command-images-r5" x="0" y="1166.8" textLength="12.2" clip-path="url(#breeze-setup-regenerate-command-images-line-47)">│</text><text class="breeze-setup-regenerate-command-images-r1" x="195.2" y="1166.8" textLength="170.8" clip-path="url(#breeze-setup-regenerate-command-images-line-47)">together&#160;with&#160;</text><text class="breeze-setup-regenerate-command-images-r4" x="366" y="1166.8" textLength="109.8" clip-path="url(#breeze-setup-regenerate-command-images-line-47)">--command</text><text class="breeze-setup-regenerate-command-images-r1" x="475.8" y="1166.8" textLength="109.8" clip-path="url(#breeze-setup-regenerate-command-images-line-47)">&#160;flag&#160;or&#160;</text><text class="breeze-setup-regenerate-command-images-r4" x="585.6" y="1166.8" textLength="85.4" clip-path="url(#breeze-setup-regenerate-command-images-line-47)">--force</text><text class="breeze-setup-regenerate-command-images-r1" x="671" y="1166.8" textLength="768.6" clip-path="url(#breeze-setup-regenerate-command-images-line-47)">.&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</text><text class="breeze-setup-regenerate-command-images-r5" x="1451.8" y="1166.8" textLength="12.2" clip-path="url(#breeze-setup-regenerate-command-images-line-47)">│</text><text class="breeze-setup-regenerate-command-images-r1" x="1464" y="1166.8" textLength="12.2" clip-path="url(#breeze-setup-regenerate-command-images-line-47)">
+</text><text class="breeze-setup-regenerate-command-images-r5" x="0" y="1191.2" textLength="1464" clip-path="url(#breeze-setup-regenerate-command-images-line-48)">╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯</text><text class="breeze-setup-regenerate-command-images-r1" x="1464" y="1191.2" textLength="12.2" clip-path="url(#breeze-setup-regenerate-command-images-line-48)">
+</text><text class="breeze-setup-regenerate-command-images-r5" x="0" y="1215.6" textLength="24.4" clip-path="url(#breeze-setup-regenerate-command-images-line-49)">╭─</text><text class="breeze-setup-regenerate-command-images-r5" x="24.4" y="1215.6" textLength="195.2" clip-path="url(#breeze-setup-regenerate-command-images-line-49)">&#160;Common&#160;options&#160;</text><text class="breeze-setup-regenerate-command-images-r5" x="219.6" y="1215.6" textLength="1220" clip-path="url(#breeze-setup-regenerate-command-images-line-49)">────────────────────────────────────────────────────────────────────────────────────────────────────</text><text class="breeze-setup-regenerate-command-images-r5" x="1439.6" y="1215.6" textLength="24.4" clip-path="url(#breeze-setup-regenerate-command-images-line-49)">─╮</text><text class="breeze-setup-regenerate-command-images-r1" x="1464" y="1215.6" textLength="12.2" clip-path="url(#breeze-setup-regenerate-command-images-line-49)">
+</text><text class="breeze-setup-regenerate-command-images-r5" x="0" y="1240" textLength="12.2" clip-path="url(#breeze-setup-regenerate-command-images-line-50)">│</text><text class="breeze-setup-regenerate-command-images-r4" x="24.4" y="1240" textLength="109.8" clip-path="url(#breeze-setup-regenerate-command-images-line-50)">--verbose</text><text class="breeze-setup-regenerate-command-images-r7" x="158.6" y="1240" textLength="24.4" clip-path="url(#breeze-setup-regenerate-command-images-line-50)">-v</text><text class="breeze-setup-regenerate-command-images-r1" x="207.4" y="1240" textLength="585.6" clip-path="url(#breeze-setup-regenerate-command-images-line-50)">Print&#160;verbose&#160;information&#160;about&#160;performed&#160;steps.</text><text class="breeze-setup-regenerate-command-images-r5" x="1451.8" y="1240" textLength="12.2" clip-path="url(#breeze-setup-regenerate-command-images-line-50)">│</text><text class="breeze-setup-regenerate-command-images-r1" x="1464" y="1240" textLength="12.2" clip-path="url(#breeze-setup-regenerate-command-images-line-50)">
+</text><text class="breeze-setup-regenerate-command-images-r5" x="0" y="1264.4" textLength="12.2" clip-path="url(#breeze-setup-regenerate-command-images-line-51)">│</text><text class="breeze-setup-regenerate-command-images-r4" x="24.4" y="1264.4" textLength="109.8" clip-path="url(#breeze-setup-regenerate-command-images-line-51)">--dry-run</text><text class="breeze-setup-regenerate-command-images-r7" x="158.6" y="1264.4" textLength="24.4" clip-path="url(#breeze-setup-regenerate-command-images-line-51)">-D</text><text class="breeze-setup-regenerate-command-images-r1" x="207.4" y="1264.4" textLength="719.8" clip-path="url(#breeze-setup-regenerate-command-images-line-51)">If&#160;dry-run&#160;is&#160;set,&#160;commands&#160;are&#160;only&#160;printed,&#160;not&#160;executed.</text><text class="breeze-setup-regenerate-command-images-r5" x="1451.8" y="1264.4" textLength="12.2" clip-path="url(#breeze-setup-regenerate-command-images-line-51)">│</text><text class="breeze-setup-regenerate-command-images-r1" x="1464" y="1264.4" textLength="12.2" clip-path="url(#breeze-setup-regenerate-command-images-line-51)">
+</text><text class="breeze-setup-regenerate-command-images-r5" x="0" y="1288.8" textLength="12.2" clip-path="url(#breeze-setup-regenerate-command-images-line-52)">│</text><text class="breeze-setup-regenerate-command-images-r4" x="24.4" y="1288.8" textLength="109.8" clip-path="url(#breeze-setup-regenerate-command-images-line-52)">--help&#160;&#160;&#160;</text><text class="breeze-setup-regenerate-command-images-r7" x="158.6" y="1288.8" textLength="24.4" clip-path="url(#breeze-setup-regenerate-command-images-line-52)">-h</text><text class="breeze-setup-regenerate-command-images-r1" x="207.4" y="1288.8" textLength="329.4" clip-path="url(#breeze-setup-regenerate-command-images-line-52)">Show&#160;this&#160;message&#160;and&#160;exit.</text><text class="breeze-setup-regenerate-command-images-r5" x="1451.8" y="1288.8" textLength="12.2" clip-path="url(#breeze-setup-regenerate-command-images-line-52)">│</text><text class="breeze-setup-regenerate-command-images-r1" x="1464" y="1288.8" textLength="12.2" clip-path="url(#breeze-setup-regenerate-command-images-line-52)">
+</text><text class="breeze-setup-regenerate-command-images-r5" x="0" y="1313.2" textLength="1464" clip-path="url(#breeze-setup-regenerate-command-images-line-53)">╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯</text><text class="breeze-setup-regenerate-command-images-r1" x="1464" y="1313.2" textLength="12.2" clip-path="url(#breeze-setup-regenerate-command-images-line-53)">
 </text>
     </g>
     </g>
diff --git a/dev/breeze/doc/images/output_setup_regenerate-command-images.txt b/dev/breeze/doc/images/output_setup_regenerate-command-images.txt
index 37b9c5d0a5f53..328bd5262391f 100644
--- a/dev/breeze/doc/images/output_setup_regenerate-command-images.txt
+++ b/dev/breeze/doc/images/output_setup_regenerate-command-images.txt
@@ -1 +1 @@
-a48314c7b578d0c781e27c660641c459
+3a1ef6b761c61aa0fa09fe849e948a0e
diff --git a/dev/breeze/src/airflow_breeze/commands/release_management_commands_config.py b/dev/breeze/src/airflow_breeze/commands/release_management_commands_config.py
index 214b2932b8c62..2b4c8073b8846 100644
--- a/dev/breeze/src/airflow_breeze/commands/release_management_commands_config.py
+++ b/dev/breeze/src/airflow_breeze/commands/release_management_commands_config.py
@@ -273,6 +273,7 @@
             "options": [
                 "--base-branch",
                 "--skip-git-fetch",
+                "--github-repository",
                 "--output-file",
             ],
         },

From 54e5d938e27888d4a8d1ef611bd887c0f7347fc0 Mon Sep 17 00:00:00 2001
From: Jarek Potiuk <jarek@potiuk.com>
Date: Thu, 11 Jun 2026 19:24:22 +0200
Subject: [PATCH 3/3] Document the classify-provider-changes breeze command

The new command had an output image but was not embedded in any Breeze
.rst doc, so the update-breeze-cmd-output check failed. Add a section
describing it in the provider release commands docs.
---
 .../doc/09_release_management_tasks.rst       | 19 +++++++++++++++++++
 1 file changed, 19 insertions(+)

diff --git a/dev/breeze/doc/09_release_management_tasks.rst b/dev/breeze/doc/09_release_management_tasks.rst
index 6a4d1a86b2109..63d691950875a 100644
--- a/dev/breeze/doc/09_release_management_tasks.rst
+++ b/dev/breeze/doc/09_release_management_tasks.rst
@@ -447,6 +447,25 @@ You can also add ``--answer yes`` to perform non-interactive build.
   :width: 100%
   :alt: Breeze prepare-provider-documentation
 
+Classifying provider changes
+""""""""""""""""""""""""""""
+
+You can use Breeze to classify each provider's unreleased changes using hard-coded,
+high-confidence rules, flagging ambiguous commits as ``needs_llm`` for an agent or skill
+to assess. The result is emitted as JSON, providing a deterministic alternative to the
+``--non-interactive`` documentation run used purely for change discovery.
+
+The below example classifies the pending changes for all providers.
+
+.. code-block:: bash
+
+     breeze release-management classify-provider-changes
+
+.. image:: ./images/output_release-management_classify-provider-changes.svg
+  :target: https://raw.githubusercontent.com/apache/airflow/main/dev/breeze/doc/images/output_release-management_classify-provider-changes.svg
+  :width: 100%
+  :alt: Breeze classify-provider-changes
+
 Updating provider next version
 """"""""""""""""""""""""""""""
 
