This is an automated email from the ASF dual-hosted git repository.

mobuchowski pushed a commit to branch aip-62/common-compat
in repository https://gitbox.apache.org/repos/asf/airflow.git

commit d6afd268c0e2dea3be8b795383c22e5a15ac4e88
Author: Maciej Obuchowski <[email protected]>
AuthorDate: Tue Jul 16 01:07:44 2024 +0200

    openlineage: add method to common.compat to not force hooks to try/except 
every 2.10 hook lineage call
    
    Signed-off-by: Maciej Obuchowski <[email protected]>
---
 .pre-commit-config.yaml                            |   9 ++
 .../providers/common/compat/lineage/__init__.py    |  16 +++
 airflow/providers/common/compat/lineage/hook.py    |  41 ++++++
 contributing-docs/08_static_code_checks.rst        |   2 +
 dev/breeze/doc/images/output-commands.svg          |  42 +++---
 dev/breeze/doc/images/output_static-checks.svg     | 144 +++++++++++----------
 dev/breeze/doc/images/output_static-checks.txt     |   2 +-
 dev/breeze/src/airflow_breeze/pre_commit_ids.py    |   1 +
 dev/breeze/tests/test_selective_checks.py          |   4 +-
 tests/providers/common/compat/test_hook.py         |  24 ++++
 10 files changed, 191 insertions(+), 94 deletions(-)

diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml
index 09e8f95c4d..0ff5abf906 100644
--- a/.pre-commit-config.yaml
+++ b/.pre-commit-config.yaml
@@ -675,6 +675,15 @@ repos:
           (?x)
           ^airflow/providers/.*\.py$
         exclude: ^.*/.*_vendor/
+      - id: check-get-lineage-collector-providers
+        language: pygrep
+        name: Check providers import hook lineage code from compat
+        description: Make sure you import from 
airflow.provider.common.compat.lineage.hook instead of
+          airflow.lineage.hook.
+        entry: "airflow\\.lineage\\.hook"
+        pass_filenames: true
+        files: ^airflow/providers/.*\.py$
+        exclude: ^airflow/providers/common/compat/.*\.py$
       - id: check-decorated-operator-implements-custom-name
         name: Check @task decorator implements custom_operator_name
         language: python
diff --git a/airflow/providers/common/compat/lineage/__init__.py 
b/airflow/providers/common/compat/lineage/__init__.py
new file mode 100644
index 0000000000..13a83393a9
--- /dev/null
+++ b/airflow/providers/common/compat/lineage/__init__.py
@@ -0,0 +1,16 @@
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements.  See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership.  The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License.  You may obtain a copy of the License at
+#
+#   http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing,
+# software distributed under the License is distributed on an
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# KIND, either express or implied.  See the License for the
+# specific language governing permissions and limitations
+# under the License.
diff --git a/airflow/providers/common/compat/lineage/hook.py 
b/airflow/providers/common/compat/lineage/hook.py
new file mode 100644
index 0000000000..2115c992e7
--- /dev/null
+++ b/airflow/providers/common/compat/lineage/hook.py
@@ -0,0 +1,41 @@
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements.  See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership.  The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License.  You may obtain a copy of the License at
+#
+#   http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing,
+# software distributed under the License is distributed on an
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# KIND, either express or implied.  See the License for the
+# specific language governing permissions and limitations
+# under the License.
+from __future__ import annotations
+
+
+def get_hook_lineage_collector():
+    # HookLineageCollector added in 2.10
+    try:
+        from airflow.lineage.hook import get_hook_lineage_collector
+
+        return get_hook_lineage_collector()
+    except ImportError:
+
+        class NoOpCollector:
+            """
+            NoOpCollector is a hook lineage collector that does nothing.
+
+            It is used when you want to disable lineage collection.
+            """
+
+            def add_input_dataset(self, *_):
+                pass
+
+            def add_output_dataset(self, *_):
+                pass
+
+        return NoOpCollector()
diff --git a/contributing-docs/08_static_code_checks.rst 
b/contributing-docs/08_static_code_checks.rst
index 125257f64d..0b8e5e6cd4 100644
--- a/contributing-docs/08_static_code_checks.rst
+++ b/contributing-docs/08_static_code_checks.rst
@@ -174,6 +174,8 @@ require Breeze Docker image to be built locally.
 
+-----------------------------------------------------------+--------------------------------------------------------------+---------+
 | check-for-inclusive-language                              | Check for 
language that we do not accept as community        |         |
 
+-----------------------------------------------------------+--------------------------------------------------------------+---------+
+| check-get-lineage-collector-providers                     | Check providers 
import hook lineage code from compat         |         |
++-----------------------------------------------------------+--------------------------------------------------------------+---------+
 | check-google-re2-as-dependency                            | Check google-re2 
is declared as dependency when needed       |         |
 
+-----------------------------------------------------------+--------------------------------------------------------------+---------+
 | check-hatch-build-order                                   | Check order of 
dependencies in hatch_build.py                |         |
diff --git a/dev/breeze/doc/images/output-commands.svg 
b/dev/breeze/doc/images/output-commands.svg
index 08d3dc2a13..5888d1fc86 100644
--- a/dev/breeze/doc/images/output-commands.svg
+++ b/dev/breeze/doc/images/output-commands.svg
@@ -298,53 +298,53 @@
 </text><text class="breeze-help-r2" x="12.2" y="44.4" textLength="73.2" 
clip-path="url(#breeze-help-line-1)">Usage:</text><text class="breeze-help-r3" 
x="97.6" y="44.4" textLength="73.2" 
clip-path="url(#breeze-help-line-1)">breeze</text><text class="breeze-help-r1" 
x="183" y="44.4" textLength="12.2" 
clip-path="url(#breeze-help-line-1)">[</text><text class="breeze-help-r4" 
x="195.2" y="44.4" textLength="85.4" 
clip-path="url(#breeze-help-line-1)">OPTIONS</text><text class="breeze-help-r1" 
 [...]
 </text><text class="breeze-help-r1" x="1464" y="68.8" textLength="12.2" 
clip-path="url(#breeze-help-line-2)">
 </text><text class="breeze-help-r5" x="0" y="93.2" textLength="24.4" 
clip-path="url(#breeze-help-line-3)">╭─</text><text class="breeze-help-r5" 
x="24.4" y="93.2" textLength="195.2" 
clip-path="url(#breeze-help-line-3)">&#160;Execution&#160;mode&#160;</text><text
 class="breeze-help-r5" x="219.6" y="93.2" textLength="1220" 
clip-path="url(#breeze-help-line-3)">────────────────────────────────────────────────────────────────────────────────────────────────────</text><text
 class="breeze-help-r [...]
-</text><text class="breeze-help-r5" x="0" y="117.6" textLength="12.2" 
clip-path="url(#breeze-help-line-4)">│</text><text class="breeze-help-r4" 
x="24.4" y="117.6" textLength="12.2" 
clip-path="url(#breeze-help-line-4)">-</text><text class="breeze-help-r4" 
x="36.6" y="117.6" textLength="85.4" 
clip-path="url(#breeze-help-line-4)">-python</text><text class="breeze-help-r6" 
x="366" y="117.6" textLength="24.4" 
clip-path="url(#breeze-help-line-4)">-p</text><text class="breeze-help-r1" 
x="414.8" [...]
+</text><text class="breeze-help-r5" x="0" y="117.6" textLength="12.2" 
clip-path="url(#breeze-help-line-4)">│</text><text class="breeze-help-r4" 
x="24.4" y="117.6" textLength="97.6" 
clip-path="url(#breeze-help-line-4)">--python</text><text 
class="breeze-help-r6" x="366" y="117.6" textLength="24.4" 
clip-path="url(#breeze-help-line-4)">-p</text><text class="breeze-help-r1" 
x="414.8" y="117.6" textLength="732" 
clip-path="url(#breeze-help-line-4)">Python&#160;major/minor&#160;version&#160;use
 [...]
 </text><text class="breeze-help-r5" x="0" y="142" textLength="12.2" 
clip-path="url(#breeze-help-line-5)">│</text><text class="breeze-help-r7" 
x="414.8" y="142" textLength="732" 
clip-path="url(#breeze-help-line-5)">(&gt;3.8&lt;&#160;|&#160;3.9&#160;|&#160;3.10&#160;|&#160;3.11&#160;|&#160;3.12)&#160;&#160;&#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-help-r5" x="145 [...]
 </text><text class="breeze-help-r5" x="0" y="166.4" textLength="12.2" 
clip-path="url(#breeze-help-line-6)">│</text><text class="breeze-help-r5" 
x="414.8" y="166.4" textLength="732" 
clip-path="url(#breeze-help-line-6)">[default:&#160;3.8]&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#1
 [...]
-</text><text class="breeze-help-r5" x="0" y="190.8" textLength="12.2" 
clip-path="url(#breeze-help-line-7)">│</text><text class="breeze-help-r4" 
x="24.4" y="190.8" textLength="12.2" 
clip-path="url(#breeze-help-line-7)">-</text><text class="breeze-help-r4" 
x="36.6" y="190.8" textLength="146.4" 
clip-path="url(#breeze-help-line-7)">-integration</text><text 
class="breeze-help-r1" x="414.8" y="190.8" textLength="1024.8" 
clip-path="url(#breeze-help-line-7)">Integration(s)&#160;to&#160;enable&#1 [...]
+</text><text class="breeze-help-r5" x="0" y="190.8" textLength="12.2" 
clip-path="url(#breeze-help-line-7)">│</text><text class="breeze-help-r4" 
x="24.4" y="190.8" textLength="158.6" 
clip-path="url(#breeze-help-line-7)">--integration</text><text 
class="breeze-help-r1" x="414.8" y="190.8" textLength="1024.8" 
clip-path="url(#breeze-help-line-7)">Integration(s)&#160;to&#160;enable&#160;when&#160;running&#160;(can&#160;be&#160;more&#160;than&#160;one).&#160;&#160;&#160;&#160;&#160;&#160;&#160
 [...]
 </text><text class="breeze-help-r5" x="0" y="215.2" textLength="12.2" 
clip-path="url(#breeze-help-line-8)">│</text><text class="breeze-help-r7" 
x="414.8" y="215.2" textLength="1024.8" 
clip-path="url(#breeze-help-line-8)">(all&#160;|&#160;all-testable&#160;|&#160;cassandra&#160;|&#160;celery&#160;|&#160;drill&#160;|&#160;kafka&#160;|&#160;kerberos&#160;|&#160;mongo&#160;|&#160;mssql&#160;</text><text
 class="breeze-help-r5" x="1451.8" y="215.2" textLength="12.2" 
clip-path="url(#breeze-help [...]
 </text><text class="breeze-help-r5" x="0" y="239.6" textLength="12.2" 
clip-path="url(#breeze-help-line-9)">│</text><text class="breeze-help-r7" 
x="414.8" y="239.6" textLength="1024.8" 
clip-path="url(#breeze-help-line-9)">|&#160;openlineage&#160;|&#160;otel&#160;|&#160;pinot&#160;|&#160;qdrant&#160;|&#160;redis&#160;|&#160;statsd&#160;|&#160;trino&#160;|&#160;ydb)&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</text><text
 class="breeze-help-r5" x [...]
-</text><text class="breeze-help-r5" x="0" y="264" textLength="12.2" 
clip-path="url(#breeze-help-line-10)">│</text><text class="breeze-help-r4" 
x="24.4" y="264" textLength="12.2" 
clip-path="url(#breeze-help-line-10)">-</text><text class="breeze-help-r4" 
x="36.6" y="264" textLength="134.2" 
clip-path="url(#breeze-help-line-10)">-standalone</text><text 
class="breeze-help-r4" x="170.8" y="264" textLength="170.8" 
clip-path="url(#breeze-help-line-10)">-dag-processor</text><text 
class="breeze-he [...]
-</text><text class="breeze-help-r5" x="0" y="288.4" textLength="12.2" 
clip-path="url(#breeze-help-line-11)">│</text><text class="breeze-help-r4" 
x="24.4" y="288.4" textLength="12.2" 
clip-path="url(#breeze-help-line-11)">-</text><text class="breeze-help-r4" 
x="36.6" y="288.4" textLength="109.8" 
clip-path="url(#breeze-help-line-11)">-database</text><text 
class="breeze-help-r4" x="146.4" y="288.4" textLength="122" 
clip-path="url(#breeze-help-line-11)">-isolation</text><text class="breeze-he 
[...]
+</text><text class="breeze-help-r5" x="0" y="264" textLength="12.2" 
clip-path="url(#breeze-help-line-10)">│</text><text class="breeze-help-r4" 
x="24.4" y="264" textLength="317.2" 
clip-path="url(#breeze-help-line-10)">--standalone-dag-processor</text><text 
class="breeze-help-r1" x="414.8" y="264" textLength="573.4" 
clip-path="url(#breeze-help-line-10)">Run&#160;standalone&#160;dag&#160;processor&#160;for&#160;start-airflow.</text><text
 class="breeze-help-r5" x="1451.8" y="264" textLength= [...]
+</text><text class="breeze-help-r5" x="0" y="288.4" textLength="12.2" 
clip-path="url(#breeze-help-line-11)">│</text><text class="breeze-help-r4" 
x="24.4" y="288.4" textLength="244" 
clip-path="url(#breeze-help-line-11)">--database-isolation</text><text 
class="breeze-help-r1" x="414.8" y="288.4" textLength="475.8" 
clip-path="url(#breeze-help-line-11)">Run&#160;airflow&#160;in&#160;database&#160;isolation&#160;mode.</text><text
 class="breeze-help-r5" x="1451.8" y="288.4" textLength="12.2" c [...]
 </text><text class="breeze-help-r5" x="0" y="312.8" textLength="1464" 
clip-path="url(#breeze-help-line-12)">╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯</text><text
 class="breeze-help-r1" x="1464" y="312.8" textLength="12.2" 
clip-path="url(#breeze-help-line-12)">
 </text><text class="breeze-help-r5" x="0" y="337.2" textLength="24.4" 
clip-path="url(#breeze-help-line-13)">╭─</text><text class="breeze-help-r5" 
x="24.4" y="337.2" textLength="463.6" 
clip-path="url(#breeze-help-line-13)">&#160;Docker&#160;Compose&#160;selection&#160;and&#160;cleanup&#160;</text><text
 class="breeze-help-r5" x="488" y="337.2" textLength="951.6" 
clip-path="url(#breeze-help-line-13)">──────────────────────────────────────────────────────────────────────────────</text><text
  [...]
-</text><text class="breeze-help-r5" x="0" y="361.6" textLength="12.2" 
clip-path="url(#breeze-help-line-14)">│</text><text class="breeze-help-r4" 
x="24.4" y="361.6" textLength="12.2" 
clip-path="url(#breeze-help-line-14)">-</text><text class="breeze-help-r4" 
x="36.6" y="361.6" textLength="97.6" 
clip-path="url(#breeze-help-line-14)">-project</text><text 
class="breeze-help-r4" x="134.2" y="361.6" textLength="61" 
clip-path="url(#breeze-help-line-14)">-name</text><text class="breeze-help-r1" 
x [...]
-</text><text class="breeze-help-r5" x="0" y="386" textLength="12.2" 
clip-path="url(#breeze-help-line-15)">│</text><text class="breeze-help-r1" 
x="244" y="386" textLength="512.4" 
clip-path="url(#breeze-help-line-15)">project&#160;name&#160;and&#160;you&#160;can&#160;use&#160;`breeze&#160;down&#160;</text><text
 class="breeze-help-r4" x="756.4" y="386" textLength="12.2" 
clip-path="url(#breeze-help-line-15)">-</text><text class="breeze-help-r4" 
x="768.6" y="386" textLength="97.6" clip-path=" [...]
+</text><text class="breeze-help-r5" x="0" y="361.6" textLength="12.2" 
clip-path="url(#breeze-help-line-14)">│</text><text class="breeze-help-r4" 
x="24.4" y="361.6" textLength="170.8" 
clip-path="url(#breeze-help-line-14)">--project-name</text><text 
class="breeze-help-r1" x="244" y="361.6" textLength="1195.6" 
clip-path="url(#breeze-help-line-14)">Name&#160;of&#160;the&#160;docker-compose&#160;project&#160;to&#160;bring&#160;down.&#160;The&#160;`docker-compose`&#160;is&#160;for&#160;legacy&
 [...]
+</text><text class="breeze-help-r5" x="0" y="386" textLength="12.2" 
clip-path="url(#breeze-help-line-15)">│</text><text class="breeze-help-r1" 
x="244" y="386" textLength="512.4" 
clip-path="url(#breeze-help-line-15)">project&#160;name&#160;and&#160;you&#160;can&#160;use&#160;`breeze&#160;down&#160;</text><text
 class="breeze-help-r4" x="756.4" y="386" textLength="170.8" 
clip-path="url(#breeze-help-line-15)">--project-name</text><text 
class="breeze-help-r1" x="927.2" y="386" textLength="512 [...]
 </text><text class="breeze-help-r5" x="0" y="410.4" textLength="12.2" 
clip-path="url(#breeze-help-line-16)">│</text><text class="breeze-help-r1" 
x="244" y="410.4" textLength="1195.6" 
clip-path="url(#breeze-help-line-16)">belonging&#160;to&#160;it.&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#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-help-r5" x="0" y="434.8" textLength="12.2" 
clip-path="url(#breeze-help-line-17)">│</text><text class="breeze-help-r7" 
x="244" y="434.8" textLength="1195.6" 
clip-path="url(#breeze-help-line-17)">(breeze&#160;|&#160;pre-commit&#160;|&#160;docker-compose)&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#1
 [...]
 </text><text class="breeze-help-r5" x="0" y="459.2" textLength="12.2" 
clip-path="url(#breeze-help-line-18)">│</text><text class="breeze-help-r5" 
x="244" y="459.2" textLength="1195.6" 
clip-path="url(#breeze-help-line-18)">[default:&#160;breeze]&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#1
 [...]
-</text><text class="breeze-help-r5" x="0" y="483.6" textLength="12.2" 
clip-path="url(#breeze-help-line-19)">│</text><text class="breeze-help-r4" 
x="24.4" y="483.6" textLength="12.2" 
clip-path="url(#breeze-help-line-19)">-</text><text class="breeze-help-r4" 
x="36.6" y="483.6" textLength="85.4" 
clip-path="url(#breeze-help-line-19)">-docker</text><text 
class="breeze-help-r4" x="122" y="483.6" textLength="61" 
clip-path="url(#breeze-help-line-19)">-host</text><text class="breeze-help-r1" 
x="2 [...]
+</text><text class="breeze-help-r5" x="0" y="483.6" textLength="12.2" 
clip-path="url(#breeze-help-line-19)">│</text><text class="breeze-help-r4" 
x="24.4" y="483.6" textLength="158.6" 
clip-path="url(#breeze-help-line-19)">--docker-host</text><text 
class="breeze-help-r1" x="244" y="483.6" textLength="915" 
clip-path="url(#breeze-help-line-19)">Optional&#160;-&#160;docker&#160;host&#160;to&#160;use&#160;when&#160;running&#160;docker&#160;commands.&#160;When&#160;set,&#160;the&#160;`</text><t
 [...]
 </text><text class="breeze-help-r5" x="0" y="508" textLength="12.2" 
clip-path="url(#breeze-help-line-20)">│</text><text class="breeze-help-r1" 
x="244" y="508" textLength="1195.6" 
clip-path="url(#breeze-help-line-20)">ignored&#160;when&#160;building&#160;images.&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#1
 [...]
 </text><text class="breeze-help-r5" x="0" y="532.4" textLength="12.2" 
clip-path="url(#breeze-help-line-21)">│</text><text class="breeze-help-r7" 
x="244" y="532.4" textLength="1195.6" 
clip-path="url(#breeze-help-line-21)">(TEXT)&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#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-help-r5" x="0" y="556.8" textLength="1464" 
clip-path="url(#breeze-help-line-22)">╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯</text><text
 class="breeze-help-r1" x="1464" y="556.8" textLength="12.2" 
clip-path="url(#breeze-help-line-22)">
 </text><text class="breeze-help-r5" x="0" y="581.2" textLength="24.4" 
clip-path="url(#breeze-help-line-23)">╭─</text><text class="breeze-help-r5" 
x="24.4" y="581.2" textLength="122" 
clip-path="url(#breeze-help-line-23)">&#160;Database&#160;</text><text 
class="breeze-help-r5" x="146.4" y="581.2" textLength="1293.2" 
clip-path="url(#breeze-help-line-23)">──────────────────────────────────────────────────────────────────────────────────────────────────────────</text><text
 class="breeze-help- [...]
-</text><text class="breeze-help-r5" x="0" y="605.6" textLength="12.2" 
clip-path="url(#breeze-help-line-24)">│</text><text class="breeze-help-r4" 
x="24.4" y="605.6" textLength="12.2" 
clip-path="url(#breeze-help-line-24)">-</text><text class="breeze-help-r4" 
x="36.6" y="605.6" textLength="97.6" 
clip-path="url(#breeze-help-line-24)">-backend</text><text 
class="breeze-help-r6" x="268.4" y="605.6" textLength="24.4" 
clip-path="url(#breeze-help-line-24)">-b</text><text class="breeze-help-r1" x= 
[...]
+</text><text class="breeze-help-r5" x="0" y="605.6" textLength="12.2" 
clip-path="url(#breeze-help-line-24)">│</text><text class="breeze-help-r4" 
x="24.4" y="605.6" textLength="109.8" 
clip-path="url(#breeze-help-line-24)">--backend</text><text 
class="breeze-help-r6" x="268.4" y="605.6" textLength="24.4" 
clip-path="url(#breeze-help-line-24)">-b</text><text class="breeze-help-r1" 
x="317.2" y="605.6" textLength="1122.4" 
clip-path="url(#breeze-help-line-24)">Database&#160;backend&#160;to&#160 [...]
 </text><text class="breeze-help-r5" x="0" y="630" textLength="12.2" 
clip-path="url(#breeze-help-line-25)">│</text><text class="breeze-help-r1" 
x="317.2" y="630" textLength="1122.4" 
clip-path="url(#breeze-help-line-25)">configuration,&#160;meaning&#160;there&#160;will&#160;be&#160;no&#160;database&#160;available,&#160;and&#160;any&#160;attempts&#160;to&#160;connect&#160;to&#160;&#160;</text><text
 class="breeze-help-r5" x="1451.8" y="630" textLength="12.2" 
clip-path="url(#breeze-help-line- [...]
 </text><text class="breeze-help-r5" x="0" y="654.4" textLength="12.2" 
clip-path="url(#breeze-help-line-26)">│</text><text class="breeze-help-r1" 
x="317.2" y="654.4" textLength="1122.4" 
clip-path="url(#breeze-help-line-26)">the&#160;Airflow&#160;database&#160;will&#160;fail.&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#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-help-r5" x="0" y="678.8" textLength="12.2" 
clip-path="url(#breeze-help-line-27)">│</text><text class="breeze-help-r7" 
x="317.2" y="678.8" textLength="1122.4" 
clip-path="url(#breeze-help-line-27)">(&gt;sqlite&lt;&#160;|&#160;mysql&#160;|&#160;postgres&#160;|&#160;none)&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#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-help-r5" x="0" y="703.2" textLength="12.2" 
clip-path="url(#breeze-help-line-28)">│</text><text class="breeze-help-r5" 
x="317.2" y="703.2" textLength="1122.4" 
clip-path="url(#breeze-help-line-28)">[default:&#160;sqlite]&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#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-help-r5" x="0" y="727.6" textLength="12.2" 
clip-path="url(#breeze-help-line-29)">│</text><text class="breeze-help-r4" 
x="24.4" y="727.6" textLength="12.2" 
clip-path="url(#breeze-help-line-29)">-</text><text class="breeze-help-r4" 
x="36.6" y="727.6" textLength="109.8" 
clip-path="url(#breeze-help-line-29)">-postgres</text><text 
class="breeze-help-r4" x="146.4" y="727.6" textLength="97.6" 
clip-path="url(#breeze-help-line-29)">-version</text><text class="breeze-hel 
[...]
-</text><text class="breeze-help-r5" x="0" y="752" textLength="12.2" 
clip-path="url(#breeze-help-line-30)">│</text><text class="breeze-help-r4" 
x="24.4" y="752" textLength="12.2" 
clip-path="url(#breeze-help-line-30)">-</text><text class="breeze-help-r4" 
x="36.6" y="752" textLength="73.2" 
clip-path="url(#breeze-help-line-30)">-mysql</text><text class="breeze-help-r4" 
x="109.8" y="752" textLength="97.6" 
clip-path="url(#breeze-help-line-30)">-version</text><text 
class="breeze-help-r6" x="268 [...]
-</text><text class="breeze-help-r5" x="0" y="776.4" textLength="12.2" 
clip-path="url(#breeze-help-line-31)">│</text><text class="breeze-help-r4" 
x="24.4" y="776.4" textLength="12.2" 
clip-path="url(#breeze-help-line-31)">-</text><text class="breeze-help-r4" 
x="36.6" y="776.4" textLength="36.6" 
clip-path="url(#breeze-help-line-31)">-db</text><text class="breeze-help-r4" 
x="73.2" y="776.4" textLength="73.2" 
clip-path="url(#breeze-help-line-31)">-reset</text><text class="breeze-help-r6" 
x="2 [...]
+</text><text class="breeze-help-r5" x="0" y="727.6" textLength="12.2" 
clip-path="url(#breeze-help-line-29)">│</text><text class="breeze-help-r4" 
x="24.4" y="727.6" textLength="219.6" 
clip-path="url(#breeze-help-line-29)">--postgres-version</text><text 
class="breeze-help-r6" x="268.4" y="727.6" textLength="24.4" 
clip-path="url(#breeze-help-line-29)">-P</text><text class="breeze-help-r1" 
x="317.2" y="727.6" textLength="305" 
clip-path="url(#breeze-help-line-29)">Version&#160;of&#160;Postgre [...]
+</text><text class="breeze-help-r5" x="0" y="752" textLength="12.2" 
clip-path="url(#breeze-help-line-30)">│</text><text class="breeze-help-r4" 
x="24.4" y="752" textLength="183" 
clip-path="url(#breeze-help-line-30)">--mysql-version</text><text 
class="breeze-help-r6" x="268.4" y="752" textLength="24.4" 
clip-path="url(#breeze-help-line-30)">-M</text><text class="breeze-help-r1" 
x="317.2" y="752" textLength="268.4" 
clip-path="url(#breeze-help-line-30)">Version&#160;of&#160;MySQL&#160;used.</ 
[...]
+</text><text class="breeze-help-r5" x="0" y="776.4" textLength="12.2" 
clip-path="url(#breeze-help-line-31)">│</text><text class="breeze-help-r4" 
x="24.4" y="776.4" textLength="122" 
clip-path="url(#breeze-help-line-31)">--db-reset</text><text 
class="breeze-help-r6" x="268.4" y="776.4" textLength="24.4" 
clip-path="url(#breeze-help-line-31)">-d</text><text class="breeze-help-r1" 
x="317.2" y="776.4" textLength="451.4" 
clip-path="url(#breeze-help-line-31)">Reset&#160;DB&#160;when&#160;enterin [...]
 </text><text class="breeze-help-r5" x="0" y="800.8" textLength="1464" 
clip-path="url(#breeze-help-line-32)">╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯</text><text
 class="breeze-help-r1" x="1464" y="800.8" textLength="12.2" 
clip-path="url(#breeze-help-line-32)">
 </text><text class="breeze-help-r5" x="0" y="825.2" textLength="24.4" 
clip-path="url(#breeze-help-line-33)">╭─</text><text class="breeze-help-r5" 
x="24.4" y="825.2" textLength="488" 
clip-path="url(#breeze-help-line-33)">&#160;Build&#160;CI&#160;image&#160;(before&#160;entering&#160;shell)&#160;</text><text
 class="breeze-help-r5" x="512.4" y="825.2" textLength="927.2" 
clip-path="url(#breeze-help-line-33)">────────────────────────────────────────────────────────────────────────────</text><
 [...]
-</text><text class="breeze-help-r5" x="0" y="849.6" textLength="12.2" 
clip-path="url(#breeze-help-line-34)">│</text><text class="breeze-help-r4" 
x="24.4" y="849.6" textLength="12.2" 
clip-path="url(#breeze-help-line-34)">-</text><text class="breeze-help-r4" 
x="36.6" y="849.6" textLength="85.4" 
clip-path="url(#breeze-help-line-34)">-github</text><text 
class="breeze-help-r4" x="122" y="849.6" textLength="134.2" 
clip-path="url(#breeze-help-line-34)">-repository</text><text 
class="breeze-help [...]
-</text><text class="breeze-help-r5" x="0" y="874" textLength="12.2" 
clip-path="url(#breeze-help-line-35)">│</text><text class="breeze-help-r4" 
x="24.4" y="874" textLength="12.2" 
clip-path="url(#breeze-help-line-35)">-</text><text class="breeze-help-r4" 
x="36.6" y="874" textLength="97.6" 
clip-path="url(#breeze-help-line-35)">-builder</text><text 
class="breeze-help-r1" x="341.6" y="874" textLength="756.4" 
clip-path="url(#breeze-help-line-35)">Buildx&#160;builder&#160;used&#160;to&#160;perf
 [...]
+</text><text class="breeze-help-r5" x="0" y="849.6" textLength="12.2" 
clip-path="url(#breeze-help-line-34)">│</text><text class="breeze-help-r4" 
x="24.4" y="849.6" textLength="231.8" 
clip-path="url(#breeze-help-line-34)">--github-repository</text><text 
class="breeze-help-r6" x="292.8" y="849.6" textLength="24.4" 
clip-path="url(#breeze-help-line-34)">-g</text><text class="breeze-help-r1" 
x="341.6" y="849.6" textLength="585.6" 
clip-path="url(#breeze-help-line-34)">GitHub&#160;repository&#1 [...]
+</text><text class="breeze-help-r5" x="0" y="874" textLength="12.2" 
clip-path="url(#breeze-help-line-35)">│</text><text class="breeze-help-r4" 
x="24.4" y="874" textLength="109.8" 
clip-path="url(#breeze-help-line-35)">--builder</text><text 
class="breeze-help-r1" x="341.6" y="874" textLength="756.4" 
clip-path="url(#breeze-help-line-35)">Buildx&#160;builder&#160;used&#160;to&#160;perform&#160;`docker&#160;buildx&#160;build`&#160;commands.</text><text
 class="breeze-help-r7" x="1110.2" y="874 [...]
 </text><text class="breeze-help-r5" x="0" y="898.4" textLength="12.2" 
clip-path="url(#breeze-help-line-36)">│</text><text class="breeze-help-r5" 
x="341.6" y="898.4" textLength="756.4" 
clip-path="url(#breeze-help-line-36)">[default:&#160;autodetect]&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#16
 [...]
-</text><text class="breeze-help-r5" x="0" y="922.8" textLength="12.2" 
clip-path="url(#breeze-help-line-37)">│</text><text class="breeze-help-r4" 
x="24.4" y="922.8" textLength="12.2" 
clip-path="url(#breeze-help-line-37)">-</text><text class="breeze-help-r4" 
x="36.6" y="922.8" textLength="48.8" 
clip-path="url(#breeze-help-line-37)">-use</text><text class="breeze-help-r4" 
x="85.4" y="922.8" textLength="36.6" 
clip-path="url(#breeze-help-line-37)">-uv</text><text class="breeze-help-r1" 
x="122 [...]
-</text><text class="breeze-help-r5" x="0" y="947.2" textLength="12.2" 
clip-path="url(#breeze-help-line-38)">│</text><text class="breeze-help-r4" 
x="24.4" y="947.2" textLength="12.2" 
clip-path="url(#breeze-help-line-38)">-</text><text class="breeze-help-r4" 
x="36.6" y="947.2" textLength="36.6" 
clip-path="url(#breeze-help-line-38)">-uv</text><text class="breeze-help-r4" 
x="73.2" y="947.2" textLength="158.6" 
clip-path="url(#breeze-help-line-38)">-http-timeout</text><text 
class="breeze-help- [...]
+</text><text class="breeze-help-r5" x="0" y="922.8" textLength="12.2" 
clip-path="url(#breeze-help-line-37)">│</text><text class="breeze-help-r4" 
x="24.4" y="922.8" textLength="97.6" 
clip-path="url(#breeze-help-line-37)">--use-uv</text><text 
class="breeze-help-r1" x="122" y="922.8" textLength="12.2" 
clip-path="url(#breeze-help-line-37)">/</text><text class="breeze-help-r4" 
x="134.2" y="922.8" textLength="134.2" 
clip-path="url(#breeze-help-line-37)">--no-use-uv</text><text class="breeze-he 
[...]
+</text><text class="breeze-help-r5" x="0" y="947.2" textLength="12.2" 
clip-path="url(#breeze-help-line-38)">│</text><text class="breeze-help-r4" 
x="24.4" y="947.2" textLength="207.4" 
clip-path="url(#breeze-help-line-38)">--uv-http-timeout</text><text 
class="breeze-help-r1" x="341.6" y="947.2" textLength="829.6" 
clip-path="url(#breeze-help-line-38)">Timeout&#160;for&#160;requests&#160;that&#160;UV&#160;makes&#160;(only&#160;used&#160;in&#160;case&#160;of&#160;UV&#160;builds).</text><text
  [...]
 </text><text class="breeze-help-r5" x="0" y="971.6" textLength="12.2" 
clip-path="url(#breeze-help-line-39)">│</text><text class="breeze-help-r5" 
x="341.6" y="971.6" textLength="829.6" 
clip-path="url(#breeze-help-line-39)">[default:&#160;300;&#160;x&gt;=1]&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#1
 [...]
 </text><text class="breeze-help-r5" x="0" y="996" textLength="1464" 
clip-path="url(#breeze-help-line-40)">╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯</text><text
 class="breeze-help-r1" x="1464" y="996" textLength="12.2" 
clip-path="url(#breeze-help-line-40)">
 </text><text class="breeze-help-r5" x="0" y="1020.4" textLength="24.4" 
clip-path="url(#breeze-help-line-41)">╭─</text><text class="breeze-help-r5" 
x="24.4" y="1020.4" textLength="183" 
clip-path="url(#breeze-help-line-41)">&#160;Other&#160;options&#160;</text><text
 class="breeze-help-r5" x="207.4" y="1020.4" textLength="1232.2" 
clip-path="url(#breeze-help-line-41)">─────────────────────────────────────────────────────────────────────────────────────────────────────</text><text
 class="bree [...]
-</text><text class="breeze-help-r5" x="0" y="1044.8" textLength="12.2" 
clip-path="url(#breeze-help-line-42)">│</text><text class="breeze-help-r4" 
x="24.4" y="1044.8" textLength="12.2" 
clip-path="url(#breeze-help-line-42)">-</text><text class="breeze-help-r4" 
x="36.6" y="1044.8" textLength="97.6" 
clip-path="url(#breeze-help-line-42)">-forward</text><text 
class="breeze-help-r4" x="134.2" y="1044.8" textLength="146.4" 
clip-path="url(#breeze-help-line-42)">-credentials</text><text class="bre [...]
-</text><text class="breeze-help-r5" x="0" y="1069.2" textLength="12.2" 
clip-path="url(#breeze-help-line-43)">│</text><text class="breeze-help-r4" 
x="24.4" y="1069.2" textLength="12.2" 
clip-path="url(#breeze-help-line-43)">-</text><text class="breeze-help-r4" 
x="36.6" y="1069.2" textLength="48.8" 
clip-path="url(#breeze-help-line-43)">-max</text><text class="breeze-help-r4" 
x="85.4" y="1069.2" textLength="61" 
clip-path="url(#breeze-help-line-43)">-time</text><text class="breeze-help-r1" 
x= [...]
+</text><text class="breeze-help-r5" x="0" y="1044.8" textLength="12.2" 
clip-path="url(#breeze-help-line-42)">│</text><text class="breeze-help-r4" 
x="24.4" y="1044.8" textLength="256.2" 
clip-path="url(#breeze-help-line-42)">--forward-credentials</text><text 
class="breeze-help-r6" x="305" y="1044.8" textLength="24.4" 
clip-path="url(#breeze-help-line-42)">-f</text><text class="breeze-help-r1" 
x="353.8" y="1044.8" textLength="634.4" 
clip-path="url(#breeze-help-line-42)">Forward&#160;local&#1 [...]
+</text><text class="breeze-help-r5" x="0" y="1069.2" textLength="12.2" 
clip-path="url(#breeze-help-line-43)">│</text><text class="breeze-help-r4" 
x="24.4" y="1069.2" textLength="122" 
clip-path="url(#breeze-help-line-43)">--max-time</text><text 
class="breeze-help-r1" x="353.8" y="1069.2" textLength="1049.2" 
clip-path="url(#breeze-help-line-43)">Maximum&#160;time&#160;that&#160;the&#160;command&#160;should&#160;take&#160;-&#160;if&#160;it&#160;takes&#160;longer,&#160;the&#160;command&#160;
 [...]
 </text><text class="breeze-help-r5" x="0" y="1093.6" textLength="12.2" 
clip-path="url(#breeze-help-line-44)">│</text><text class="breeze-help-r7" 
x="353.8" y="1093.6" textLength="1049.2" 
clip-path="url(#breeze-help-line-44)">(INTEGER&#160;RANGE)&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#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-help-r5" x="0" y="1118" textLength="1464" 
clip-path="url(#breeze-help-line-45)">╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯</text><text
 class="breeze-help-r1" x="1464" y="1118" textLength="12.2" 
clip-path="url(#breeze-help-line-45)">
 </text><text class="breeze-help-r5" x="0" y="1142.4" textLength="24.4" 
clip-path="url(#breeze-help-line-46)">╭─</text><text class="breeze-help-r5" 
x="24.4" y="1142.4" textLength="195.2" 
clip-path="url(#breeze-help-line-46)">&#160;Common&#160;options&#160;</text><text
 class="breeze-help-r5" x="219.6" y="1142.4" textLength="1220" 
clip-path="url(#breeze-help-line-46)">────────────────────────────────────────────────────────────────────────────────────────────────────</text><text
 class="bree [...]
-</text><text class="breeze-help-r5" x="0" y="1166.8" textLength="12.2" 
clip-path="url(#breeze-help-line-47)">│</text><text class="breeze-help-r4" 
x="24.4" y="1166.8" textLength="12.2" 
clip-path="url(#breeze-help-line-47)">-</text><text class="breeze-help-r4" 
x="36.6" y="1166.8" textLength="85.4" 
clip-path="url(#breeze-help-line-47)">-answer</text><text 
class="breeze-help-r6" x="158.6" y="1166.8" textLength="24.4" 
clip-path="url(#breeze-help-line-47)">-a</text><text class="breeze-help-r1" 
[...]
-</text><text class="breeze-help-r5" x="0" y="1191.2" textLength="12.2" 
clip-path="url(#breeze-help-line-48)">│</text><text class="breeze-help-r4" 
x="24.4" y="1191.2" textLength="12.2" 
clip-path="url(#breeze-help-line-48)">-</text><text class="breeze-help-r4" 
x="36.6" y="1191.2" textLength="48.8" 
clip-path="url(#breeze-help-line-48)">-dry</text><text class="breeze-help-r4" 
x="85.4" y="1191.2" textLength="48.8" 
clip-path="url(#breeze-help-line-48)">-run</text><text class="breeze-help-r6" x 
[...]
-</text><text class="breeze-help-r5" x="0" y="1215.6" textLength="12.2" 
clip-path="url(#breeze-help-line-49)">│</text><text class="breeze-help-r4" 
x="24.4" y="1215.6" textLength="12.2" 
clip-path="url(#breeze-help-line-49)">-</text><text class="breeze-help-r4" 
x="36.6" y="1215.6" textLength="97.6" 
clip-path="url(#breeze-help-line-49)">-verbose</text><text 
class="breeze-help-r6" x="158.6" y="1215.6" textLength="24.4" 
clip-path="url(#breeze-help-line-49)">-v</text><text class="breeze-help-r1 [...]
-</text><text class="breeze-help-r5" x="0" y="1240" textLength="12.2" 
clip-path="url(#breeze-help-line-50)">│</text><text class="breeze-help-r4" 
x="24.4" y="1240" textLength="12.2" 
clip-path="url(#breeze-help-line-50)">-</text><text class="breeze-help-r4" 
x="36.6" y="1240" textLength="61" 
clip-path="url(#breeze-help-line-50)">-help</text><text class="breeze-help-r6" 
x="158.6" y="1240" textLength="24.4" 
clip-path="url(#breeze-help-line-50)">-h</text><text class="breeze-help-r1" 
x="207.4" y [...]
+</text><text class="breeze-help-r5" x="0" y="1166.8" textLength="12.2" 
clip-path="url(#breeze-help-line-47)">│</text><text class="breeze-help-r4" 
x="24.4" y="1166.8" textLength="97.6" 
clip-path="url(#breeze-help-line-47)">--answer</text><text 
class="breeze-help-r6" x="158.6" y="1166.8" textLength="24.4" 
clip-path="url(#breeze-help-line-47)">-a</text><text class="breeze-help-r1" 
x="207.4" y="1166.8" textLength="317.2" 
clip-path="url(#breeze-help-line-47)">Force&#160;answer&#160;to&#160;qu [...]
+</text><text class="breeze-help-r5" x="0" y="1191.2" textLength="12.2" 
clip-path="url(#breeze-help-line-48)">│</text><text class="breeze-help-r4" 
x="24.4" y="1191.2" textLength="109.8" 
clip-path="url(#breeze-help-line-48)">--dry-run</text><text 
class="breeze-help-r6" x="158.6" y="1191.2" textLength="24.4" 
clip-path="url(#breeze-help-line-48)">-D</text><text class="breeze-help-r1" 
x="207.4" y="1191.2" textLength="719.8" 
clip-path="url(#breeze-help-line-48)">If&#160;dry-run&#160;is&#160;se [...]
+</text><text class="breeze-help-r5" x="0" y="1215.6" textLength="12.2" 
clip-path="url(#breeze-help-line-49)">│</text><text class="breeze-help-r4" 
x="24.4" y="1215.6" textLength="109.8" 
clip-path="url(#breeze-help-line-49)">--verbose</text><text 
class="breeze-help-r6" x="158.6" y="1215.6" textLength="24.4" 
clip-path="url(#breeze-help-line-49)">-v</text><text class="breeze-help-r1" 
x="207.4" y="1215.6" textLength="585.6" 
clip-path="url(#breeze-help-line-49)">Print&#160;verbose&#160;informa [...]
+</text><text class="breeze-help-r5" x="0" y="1240" textLength="12.2" 
clip-path="url(#breeze-help-line-50)">│</text><text class="breeze-help-r4" 
x="24.4" y="1240" textLength="73.2" 
clip-path="url(#breeze-help-line-50)">--help</text><text class="breeze-help-r6" 
x="158.6" y="1240" textLength="24.4" 
clip-path="url(#breeze-help-line-50)">-h</text><text class="breeze-help-r1" 
x="207.4" y="1240" textLength="329.4" 
clip-path="url(#breeze-help-line-50)">Show&#160;this&#160;message&#160;and&#160;e
 [...]
 </text><text class="breeze-help-r5" x="0" y="1264.4" textLength="1464" 
clip-path="url(#breeze-help-line-51)">╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯</text><text
 class="breeze-help-r1" x="1464" y="1264.4" textLength="12.2" 
clip-path="url(#breeze-help-line-51)">
 </text><text class="breeze-help-r5" x="0" y="1288.8" textLength="24.4" 
clip-path="url(#breeze-help-line-52)">╭─</text><text class="breeze-help-r5" 
x="24.4" y="1288.8" textLength="244" 
clip-path="url(#breeze-help-line-52)">&#160;Developer&#160;commands&#160;</text><text
 class="breeze-help-r5" x="268.4" y="1288.8" textLength="1171.2" 
clip-path="url(#breeze-help-line-52)">────────────────────────────────────────────────────────────────────────────────────────────────</text><text
 class="bree [...]
 </text><text class="breeze-help-r5" x="0" y="1313.2" textLength="12.2" 
clip-path="url(#breeze-help-line-53)">│</text><text class="breeze-help-r4" 
x="24.4" y="1313.2" textLength="280.6" 
clip-path="url(#breeze-help-line-53)">start-airflow&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</text><text
 class="breeze-help-r1" x="329.4" y="1313.2" textLength="1110.2" 
clip-path="url(#breeze-help-line-53)">Enter&#160;breeze&#160;environment&#160;and&#160;starts&#160;all&#160;Airflow&#16
 [...]
diff --git a/dev/breeze/doc/images/output_static-checks.svg 
b/dev/breeze/doc/images/output_static-checks.svg
index e0e4c7a29e..32d75da56f 100644
--- a/dev/breeze/doc/images/output_static-checks.svg
+++ b/dev/breeze/doc/images/output_static-checks.svg
@@ -1,4 +1,4 @@
-<svg class="rich-terminal" viewBox="0 0 1482 2148.4" 
xmlns="http://www.w3.org/2000/svg";>
+<svg class="rich-terminal" viewBox="0 0 1482 2172.7999999999997" 
xmlns="http://www.w3.org/2000/svg";>
     <!-- Generated with Rich https://www.textualize.io -->
     <style>
 
@@ -43,7 +43,7 @@
 
     <defs>
     <clipPath id="breeze-static-checks-clip-terminal">
-      <rect x="0" y="0" width="1463.0" height="2097.4" />
+      <rect x="0" y="0" width="1463.0" height="2121.7999999999997" />
     </clipPath>
     <clipPath id="breeze-static-checks-line-0">
     <rect x="0" y="1.5" width="1464" height="24.65"/>
@@ -300,9 +300,12 @@
 <clipPath id="breeze-static-checks-line-84">
     <rect x="0" y="2051.1" width="1464" height="24.65"/>
             </clipPath>
+<clipPath id="breeze-static-checks-line-85">
+    <rect x="0" y="2075.5" 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="2146.4" rx="8"/><text 
class="breeze-static-checks-title" fill="#c5c8c6" text-anchor="middle" x="740" 
y="27">Command:&#160;static-checks</text>
+    <rect fill="#292929" stroke="rgba(255,255,255,0.35)" stroke-width="1" 
x="1" y="1" width="1480" height="2170.8" rx="8"/><text 
class="breeze-static-checks-title" fill="#c5c8c6" text-anchor="middle" x="740" 
y="27">Command:&#160;static-checks</text>
             <g transform="translate(26,22)">
             <circle cx="0" cy="0" r="7" fill="#ff5f57"/>
             <circle cx="22" cy="0" r="7" fill="#febc2e"/>
@@ -318,7 +321,7 @@
 </text><text class="breeze-static-checks-r1" x="12.2" y="93.2" 
textLength="219.6" 
clip-path="url(#breeze-static-checks-line-3)">Run&#160;static&#160;checks.</text><text
 class="breeze-static-checks-r1" x="1464" y="93.2" textLength="12.2" 
clip-path="url(#breeze-static-checks-line-3)">
 </text><text class="breeze-static-checks-r1" x="1464" y="117.6" 
textLength="12.2" clip-path="url(#breeze-static-checks-line-4)">
 </text><text class="breeze-static-checks-r5" x="0" y="142" textLength="24.4" 
clip-path="url(#breeze-static-checks-line-5)">╭─</text><text 
class="breeze-static-checks-r5" x="24.4" y="142" textLength="219.6" 
clip-path="url(#breeze-static-checks-line-5)">&#160;Pre-commit&#160;flags&#160;</text><text
 class="breeze-static-checks-r5" x="244" y="142" textLength="1195.6" 
clip-path="url(#breeze-static-checks-line-5)">────────────────────────────────────────────────────────────────────────────────
 [...]
-</text><text class="breeze-static-checks-r5" x="0" y="166.4" textLength="12.2" 
clip-path="url(#breeze-static-checks-line-6)">│</text><text 
class="breeze-static-checks-r4" x="24.4" y="166.4" textLength="12.2" 
clip-path="url(#breeze-static-checks-line-6)">-</text><text 
class="breeze-static-checks-r4" x="36.6" y="166.4" textLength="61" 
clip-path="url(#breeze-static-checks-line-6)">-type</text><text 
class="breeze-static-checks-r6" x="402.6" y="166.4" textLength="24.4" 
clip-path="url(#breeze- [...]
+</text><text class="breeze-static-checks-r5" x="0" y="166.4" textLength="12.2" 
clip-path="url(#breeze-static-checks-line-6)">│</text><text 
class="breeze-static-checks-r4" x="24.4" y="166.4" textLength="73.2" 
clip-path="url(#breeze-static-checks-line-6)">--type</text><text 
class="breeze-static-checks-r6" x="402.6" y="166.4" textLength="24.4" 
clip-path="url(#breeze-static-checks-line-6)">-t</text><text 
class="breeze-static-checks-r1" x="451.4" y="166.4" textLength="988.2" 
clip-path="url(#b [...]
 </text><text class="breeze-static-checks-r5" x="0" y="190.8" textLength="12.2" 
clip-path="url(#breeze-static-checks-line-7)">│</text><text 
class="breeze-static-checks-r7" x="451.4" y="190.8" textLength="988.2" 
clip-path="url(#breeze-static-checks-line-7)">(all&#160;|&#160;bandit&#160;|&#160;blacken-docs&#160;|&#160;check-aiobotocore-optional&#160;|&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</text><te
 [...]
 </text><text class="breeze-static-checks-r5" x="0" y="215.2" textLength="12.2" 
clip-path="url(#breeze-static-checks-line-8)">│</text><text 
class="breeze-static-checks-r7" x="451.4" y="215.2" textLength="988.2" 
clip-path="url(#breeze-static-checks-line-8)">check-airflow-k8s-not-used&#160;|&#160;check-airflow-provider-compatibility&#160;|&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</text><text
 class="breeze-static-checks-r5" x="1451.8" y="215.2" text [...]
 </text><text class="breeze-static-checks-r5" x="0" y="239.6" textLength="12.2" 
clip-path="url(#breeze-static-checks-line-9)">│</text><text 
class="breeze-static-checks-r7" x="451.4" y="239.6" textLength="988.2" 
clip-path="url(#breeze-static-checks-line-9)">check-airflow-providers-bug-report-template&#160;|&#160;check-apache-license-rat&#160;|&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</text><text
 class="breeze-static-checks-r5" x="1451.8" y="239.6" textLength="12.2" 
clip-path=" [...]
@@ -332,72 +335,73 @@
 </text><text class="breeze-static-checks-r5" x="0" y="434.8" textLength="12.2" 
clip-path="url(#breeze-static-checks-line-17)">│</text><text 
class="breeze-static-checks-r7" x="451.4" y="434.8" textLength="988.2" 
clip-path="url(#breeze-static-checks-line-17)">|&#160;check-docstring-param-types&#160;|&#160;check-example-dags-urls&#160;|&#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
  [...]
 </text><text class="breeze-static-checks-r5" x="0" y="459.2" textLength="12.2" 
clip-path="url(#breeze-static-checks-line-18)">│</text><text 
class="breeze-static-checks-r7" x="451.4" y="459.2" textLength="988.2" 
clip-path="url(#breeze-static-checks-line-18)">check-executables-have-shebangs&#160;|&#160;check-extra-packages-references&#160;|&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</text><text
 class="breeze-static-checks-r5" x="1451.8" y="459.2" te [...]
 </text><text class="breeze-static-checks-r5" x="0" y="483.6" textLength="12.2" 
clip-path="url(#breeze-static-checks-line-19)">│</text><text 
class="breeze-static-checks-r7" x="451.4" y="483.6" textLength="988.2" 
clip-path="url(#breeze-static-checks-line-19)">check-extras-order&#160;|&#160;check-fab-migrations&#160;|&#160;check-for-inclusive-language&#160;|&#160;&#160;&#160;&#160;&#160;&#160;&#160;</text><text
 class="breeze-static-checks-r5" x="1451.8" y="483.6" textLength="12.2" 
clip-path [...]
-</text><text class="breeze-static-checks-r5" x="0" y="508" textLength="12.2" 
clip-path="url(#breeze-static-checks-line-20)">│</text><text 
class="breeze-static-checks-r7" x="451.4" y="508" textLength="988.2" 
clip-path="url(#breeze-static-checks-line-20)">check-google-re2-as-dependency&#160;|&#160;check-hatch-build-order&#160;|&#160;check-hooks-apply&#160;|&#160;&#160;&#160;</text><text
 class="breeze-static-checks-r5" x="1451.8" y="508" textLength="12.2" 
clip-path="url(#breeze-static-check [...]
-</text><text class="breeze-static-checks-r5" x="0" y="532.4" textLength="12.2" 
clip-path="url(#breeze-static-checks-line-21)">│</text><text 
class="breeze-static-checks-r7" x="451.4" y="532.4" textLength="988.2" 
clip-path="url(#breeze-static-checks-line-21)">check-incorrect-use-of-LoggingMixin&#160;|&#160;check-init-decorator-arguments&#160;|&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</text><text
 class="breeze-static-checks-r5" x="1451.8" y="532.4" textLength="12.2" [...]
-</text><text class="breeze-static-checks-r5" x="0" y="556.8" textLength="12.2" 
clip-path="url(#breeze-static-checks-line-22)">│</text><text 
class="breeze-static-checks-r7" x="451.4" y="556.8" textLength="988.2" 
clip-path="url(#breeze-static-checks-line-22)">check-integrations-list-consistent&#160;|&#160;check-lazy-logging&#160;|&#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 [...]
-</text><text class="breeze-static-checks-r5" x="0" y="581.2" textLength="12.2" 
clip-path="url(#breeze-static-checks-line-23)">│</text><text 
class="breeze-static-checks-r7" x="451.4" y="581.2" textLength="988.2" 
clip-path="url(#breeze-static-checks-line-23)">check-links-to-example-dags-do-not-use-hardcoded-versions&#160;|&#160;check-merge-conflict&#160;</text><text
 class="breeze-static-checks-r5" x="1451.8" y="581.2" textLength="12.2" 
clip-path="url(#breeze-static-checks-line-23)">│</text [...]
-</text><text class="breeze-static-checks-r5" x="0" y="605.6" textLength="12.2" 
clip-path="url(#breeze-static-checks-line-24)">│</text><text 
class="breeze-static-checks-r7" x="451.4" y="605.6" textLength="988.2" 
clip-path="url(#breeze-static-checks-line-24)">|&#160;check-newsfragments-are-valid&#160;|&#160;check-no-airflow-deprecation-in-providers&#160;|&#160;&#160;&#160;&#160;</text><text
 class="breeze-static-checks-r5" x="1451.8" y="605.6" textLength="12.2" 
clip-path="url(#breeze-static [...]
-</text><text class="breeze-static-checks-r5" x="0" y="630" textLength="12.2" 
clip-path="url(#breeze-static-checks-line-25)">│</text><text 
class="breeze-static-checks-r7" x="451.4" y="630" textLength="988.2" 
clip-path="url(#breeze-static-checks-line-25)">check-no-providers-in-core-examples&#160;|&#160;check-only-new-session-with-provide-session</text><text
 class="breeze-static-checks-r5" x="1451.8" y="630" textLength="12.2" 
clip-path="url(#breeze-static-checks-line-25)">│</text><text clas [...]
-</text><text class="breeze-static-checks-r5" x="0" y="654.4" textLength="12.2" 
clip-path="url(#breeze-static-checks-line-26)">│</text><text 
class="breeze-static-checks-r7" x="451.4" y="654.4" textLength="988.2" 
clip-path="url(#breeze-static-checks-line-26)">|&#160;check-persist-credentials-disabled-in-github-workflows&#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-s [...]
-</text><text class="breeze-static-checks-r5" x="0" y="678.8" textLength="12.2" 
clip-path="url(#breeze-static-checks-line-27)">│</text><text 
class="breeze-static-checks-r7" x="451.4" y="678.8" textLength="988.2" 
clip-path="url(#breeze-static-checks-line-27)">check-pre-commit-information-consistent&#160;|&#160;check-provide-create-sessions-imports&#160;|</text><text
 class="breeze-static-checks-r5" x="1451.8" y="678.8" textLength="12.2" 
clip-path="url(#breeze-static-checks-line-27)">│</text [...]
-</text><text class="breeze-static-checks-r5" x="0" y="703.2" textLength="12.2" 
clip-path="url(#breeze-static-checks-line-28)">│</text><text 
class="breeze-static-checks-r7" x="451.4" y="703.2" textLength="988.2" 
clip-path="url(#breeze-static-checks-line-28)">check-provider-docs-valid&#160;|&#160;check-provider-yaml-valid&#160;|&#160;&#160;&#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><text class="breeze-static-checks-r5" x="0" y="727.6" textLength="12.2" 
clip-path="url(#breeze-static-checks-line-29)">│</text><text 
class="breeze-static-checks-r7" x="451.4" y="727.6" textLength="988.2" 
clip-path="url(#breeze-static-checks-line-29)">check-providers-init-file-missing&#160;|&#160;check-providers-subpackages-init-file-exist&#160;|</text><text
 class="breeze-static-checks-r5" x="1451.8" y="727.6" textLength="12.2" 
clip-path="url(#breeze-static-checks-line-29)">│</text [...]
-</text><text class="breeze-static-checks-r5" x="0" y="752" textLength="12.2" 
clip-path="url(#breeze-static-checks-line-30)">│</text><text 
class="breeze-static-checks-r7" x="451.4" y="752" textLength="988.2" 
clip-path="url(#breeze-static-checks-line-30)">check-pydevd-left-in-code&#160;|&#160;check-revision-heads-map&#160;|&#160;&#160;&#160;&#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><text class="breeze-static-checks-r5" x="0" y="776.4" textLength="12.2" 
clip-path="url(#breeze-static-checks-line-31)">│</text><text 
class="breeze-static-checks-r7" x="451.4" y="776.4" textLength="988.2" 
clip-path="url(#breeze-static-checks-line-31)">check-safe-filter-usage-in-html&#160;|&#160;check-sql-dependency-common-data-structure&#160;|&#160;&#160;&#160;</text><text
 class="breeze-static-checks-r5" x="1451.8" y="776.4" textLength="12.2" 
clip-path="url(#breeze-static-checks-li [...]
-</text><text class="breeze-static-checks-r5" x="0" y="800.8" textLength="12.2" 
clip-path="url(#breeze-static-checks-line-32)">│</text><text 
class="breeze-static-checks-r7" x="451.4" y="800.8" textLength="988.2" 
clip-path="url(#breeze-static-checks-line-32)">check-start-date-not-used-in-defaults&#160;|&#160;check-system-tests-present&#160;|&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</text><text
 class="breeze-static-checks-r5" x="1451.8" y="800.8" textLen [...]
-</text><text class="breeze-static-checks-r5" x="0" y="825.2" textLength="12.2" 
clip-path="url(#breeze-static-checks-line-33)">│</text><text 
class="breeze-static-checks-r7" x="451.4" y="825.2" textLength="988.2" 
clip-path="url(#breeze-static-checks-line-33)">check-system-tests-tocs&#160;|&#160;check-template-context-variable-in-sync&#160;|&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</text><text
 class="breeze-static-checks-r5" x="1451.8" y="825.2" te [...]
-</text><text class="breeze-static-checks-r5" x="0" y="849.6" textLength="12.2" 
clip-path="url(#breeze-static-checks-line-34)">│</text><text 
class="breeze-static-checks-r7" x="451.4" y="849.6" textLength="988.2" 
clip-path="url(#breeze-static-checks-line-34)">check-tests-in-the-right-folders&#160;|&#160;check-tests-unittest-testcase&#160;|&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</text><text
 class="breeze-static-checks-r5" x="1451.8" y="849. [...]
-</text><text class="breeze-static-checks-r5" x="0" y="874" textLength="12.2" 
clip-path="url(#breeze-static-checks-line-35)">│</text><text 
class="breeze-static-checks-r7" x="451.4" y="874" textLength="988.2" 
clip-path="url(#breeze-static-checks-line-35)">check-urlparse-usage-in-code&#160;|&#160;check-usage-of-re2-over-re&#160;|&#160;check-xml&#160;|&#160;codespell</text><text
 class="breeze-static-checks-r5" x="1451.8" y="874" textLength="12.2" 
clip-path="url(#breeze-static-checks-line-35) [...]
-</text><text class="breeze-static-checks-r5" x="0" y="898.4" textLength="12.2" 
clip-path="url(#breeze-static-checks-line-36)">│</text><text 
class="breeze-static-checks-r7" x="451.4" y="898.4" textLength="988.2" 
clip-path="url(#breeze-static-checks-line-36)">|&#160;compile-www-assets&#160;|&#160;compile-www-assets-dev&#160;|&#160;&#160;&#160;&#160;&#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-static-checks-r5" x="0" y="922.8" textLength="12.2" 
clip-path="url(#breeze-static-checks-line-37)">│</text><text 
class="breeze-static-checks-r7" x="451.4" y="922.8" textLength="988.2" 
clip-path="url(#breeze-static-checks-line-37)">create-missing-init-py-files-tests&#160;|&#160;debug-statements&#160;|&#160;detect-private-key&#160;|&#160;&#160;&#160;&#160;&#160;</text><text
 class="breeze-static-checks-r5" x="1451.8" y="922.8" textLength="12.2" 
clip-path="url(#bre [...]
-</text><text class="breeze-static-checks-r5" x="0" y="947.2" textLength="12.2" 
clip-path="url(#breeze-static-checks-line-38)">│</text><text 
class="breeze-static-checks-r7" x="451.4" y="947.2" textLength="988.2" 
clip-path="url(#breeze-static-checks-line-38)">doctoc&#160;|&#160;end-of-file-fixer&#160;|&#160;fix-encoding-pragma&#160;|&#160;flynt&#160;|&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</t
 [...]
-</text><text class="breeze-static-checks-r5" x="0" y="971.6" textLength="12.2" 
clip-path="url(#breeze-static-checks-line-39)">│</text><text 
class="breeze-static-checks-r7" x="451.4" y="971.6" textLength="988.2" 
clip-path="url(#breeze-static-checks-line-39)">generate-airflow-diagrams&#160;|&#160;generate-pypi-readme&#160;|&#160;identity&#160;|&#160;insert-license&#160;|&#160;&#160;&#160;</text><text
 class="breeze-static-checks-r5" x="1451.8" y="971.6" textLength="12.2" 
clip-path="url(#bre [...]
-</text><text class="breeze-static-checks-r5" x="0" y="996" textLength="12.2" 
clip-path="url(#breeze-static-checks-line-40)">│</text><text 
class="breeze-static-checks-r7" x="451.4" y="996" textLength="988.2" 
clip-path="url(#breeze-static-checks-line-40)">kubeconform&#160;|&#160;lint-chart-schema&#160;|&#160;lint-css&#160;|&#160;lint-dockerfile&#160;|&#160;lint-helm-chart&#160;|&#160;</text><text
 class="breeze-static-checks-r5" x="1451.8" y="996" textLength="12.2" 
clip-path="url(#breeze-st [...]
-</text><text class="breeze-static-checks-r5" x="0" y="1020.4" 
textLength="12.2" clip-path="url(#breeze-static-checks-line-41)">│</text><text 
class="breeze-static-checks-r7" x="451.4" y="1020.4" textLength="988.2" 
clip-path="url(#breeze-static-checks-line-41)">lint-json-schema&#160;|&#160;lint-markdown&#160;|&#160;lint-openapi&#160;|&#160;mixed-line-ending&#160;|&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</text><text
 class="breeze-static-checks-r5" x="1451.8"  [...]
-</text><text class="breeze-static-checks-r5" x="0" y="1044.8" 
textLength="12.2" clip-path="url(#breeze-static-checks-line-42)">│</text><text 
class="breeze-static-checks-r7" x="451.4" y="1044.8" textLength="988.2" 
clip-path="url(#breeze-static-checks-line-42)">mypy-airflow&#160;|&#160;mypy-dev&#160;|&#160;mypy-docs&#160;|&#160;mypy-providers&#160;|&#160;pretty-format-json&#160;|&#160;&#160;&#160;&#160;&#160;&#160;</text><text
 class="breeze-static-checks-r5" x="1451.8" y="1044.8" textLengt [...]
-</text><text class="breeze-static-checks-r5" x="0" y="1069.2" 
textLength="12.2" clip-path="url(#breeze-static-checks-line-43)">│</text><text 
class="breeze-static-checks-r7" x="451.4" y="1069.2" textLength="988.2" 
clip-path="url(#breeze-static-checks-line-43)">pylint&#160;|&#160;python-no-log-warn&#160;|&#160;replace-bad-characters&#160;|&#160;rst-backticks&#160;|&#160;ruff&#160;|&#160;&#160;&#160;&#160;</text><text
 class="breeze-static-checks-r5" x="1451.8" y="1069.2" textLength="12.2" c [...]
-</text><text class="breeze-static-checks-r5" x="0" y="1093.6" 
textLength="12.2" clip-path="url(#breeze-static-checks-line-44)">│</text><text 
class="breeze-static-checks-r7" x="451.4" y="1093.6" textLength="988.2" 
clip-path="url(#breeze-static-checks-line-44)">ruff-format&#160;|&#160;shellcheck&#160;|&#160;trailing-whitespace&#160;|&#160;ts-compile-format-lint-www&#160;|&#160;&#160;&#160;&#160;</text><text
 class="breeze-static-checks-r5" x="1451.8" y="1093.6" textLength="12.2" 
clip-path=" [...]
-</text><text class="breeze-static-checks-r5" x="0" y="1118" textLength="12.2" 
clip-path="url(#breeze-static-checks-line-45)">│</text><text 
class="breeze-static-checks-r7" x="451.4" y="1118" textLength="988.2" 
clip-path="url(#breeze-static-checks-line-45)">update-black-version&#160;|&#160;update-breeze-cmd-output&#160;|&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#16
 [...]
-</text><text class="breeze-static-checks-r5" x="0" y="1142.4" 
textLength="12.2" clip-path="url(#breeze-static-checks-line-46)">│</text><text 
class="breeze-static-checks-r7" x="451.4" y="1142.4" textLength="988.2" 
clip-path="url(#breeze-static-checks-line-46)">update-breeze-readme-config-hash&#160;|&#160;update-build-dependencies&#160;|&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</text><text
 class="breeze-static-checks- [...]
-</text><text class="breeze-static-checks-r5" x="0" y="1166.8" 
textLength="12.2" clip-path="url(#breeze-static-checks-line-47)">│</text><text 
class="breeze-static-checks-r7" x="451.4" y="1166.8" textLength="988.2" 
clip-path="url(#breeze-static-checks-line-47)">update-chart-dependencies&#160;|&#160;update-common-sql-api-stubs&#160;|&#160;update-er-diagram&#160;|&#160;&#160;&#160;&#160;</text><text
 class="breeze-static-checks-r5" x="1451.8" y="1166.8" textLength="12.2" 
clip-path="url(#breez [...]
-</text><text class="breeze-static-checks-r5" x="0" y="1191.2" 
textLength="12.2" clip-path="url(#breeze-static-checks-line-48)">│</text><text 
class="breeze-static-checks-r7" x="451.4" y="1191.2" textLength="988.2" 
clip-path="url(#breeze-static-checks-line-48)">update-extras&#160;|&#160;update-in-the-wild-to-be-sorted&#160;|&#160;&#160;&#160;&#160;&#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-static-checks-r5" x="0" y="1215.6" 
textLength="12.2" clip-path="url(#breeze-static-checks-line-49)">│</text><text 
class="breeze-static-checks-r7" x="451.4" y="1215.6" textLength="988.2" 
clip-path="url(#breeze-static-checks-line-49)">update-inlined-dockerfile-scripts&#160;|&#160;update-installed-providers-to-be-sorted&#160;|&#160;&#160;&#160;&#160;</text><text
 class="breeze-static-checks-r5" x="1451.8" y="1215.6" textLength="12.2" 
clip-path="url(#breeze-static-c [...]
-</text><text class="breeze-static-checks-r5" x="0" y="1240" textLength="12.2" 
clip-path="url(#breeze-static-checks-line-50)">│</text><text 
class="breeze-static-checks-r7" x="451.4" y="1240" textLength="988.2" 
clip-path="url(#breeze-static-checks-line-50)">update-installers&#160;|&#160;update-local-yml-file&#160;|&#160;update-migration-references&#160;|&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</text><text
 class="breeze-static-checks-r5" x="1451.8" y="1240" textLength="12.2" clip-pa 
[...]
-</text><text class="breeze-static-checks-r5" x="0" y="1264.4" 
textLength="12.2" clip-path="url(#breeze-static-checks-line-51)">│</text><text 
class="breeze-static-checks-r7" x="451.4" y="1264.4" textLength="988.2" 
clip-path="url(#breeze-static-checks-line-51)">update-openapi-spec-tags-to-be-sorted&#160;|&#160;update-providers-dependencies&#160;|&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</text><text
 class="breeze-static-checks-r5" x="1451.8" y="1264.4" textLength="12.2" c [...]
-</text><text class="breeze-static-checks-r5" x="0" y="1288.8" 
textLength="12.2" clip-path="url(#breeze-static-checks-line-52)">│</text><text 
class="breeze-static-checks-r7" x="451.4" y="1288.8" textLength="988.2" 
clip-path="url(#breeze-static-checks-line-52)">update-reproducible-source-date-epoch&#160;|&#160;update-spelling-wordlist-to-be-sorted&#160;|&#160;&#160;</text><text
 class="breeze-static-checks-r5" x="1451.8" y="1288.8" textLength="12.2" 
clip-path="url(#breeze-static-checks-line [...]
-</text><text class="breeze-static-checks-r5" x="0" y="1313.2" 
textLength="12.2" clip-path="url(#breeze-static-checks-line-53)">│</text><text 
class="breeze-static-checks-r7" x="451.4" y="1313.2" textLength="988.2" 
clip-path="url(#breeze-static-checks-line-53)">update-supported-versions&#160;|&#160;update-vendored-in-k8s-json-schema&#160;|&#160;update-version&#160;|</text><text
 class="breeze-static-checks-r5" x="1451.8" y="1313.2" textLength="12.2" 
clip-path="url(#breeze-static-checks-line [...]
-</text><text class="breeze-static-checks-r5" x="0" y="1337.6" 
textLength="12.2" clip-path="url(#breeze-static-checks-line-54)">│</text><text 
class="breeze-static-checks-r7" x="451.4" y="1337.6" textLength="988.2" 
clip-path="url(#breeze-static-checks-line-54)">validate-operators-init&#160;|&#160;yamllint)&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#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-static-checks-r5" x="0" y="1362" textLength="12.2" 
clip-path="url(#breeze-static-checks-line-55)">│</text><text 
class="breeze-static-checks-r4" x="24.4" y="1362" textLength="12.2" 
clip-path="url(#breeze-static-checks-line-55)">-</text><text 
class="breeze-static-checks-r4" x="36.6" y="1362" textLength="61" 
clip-path="url(#breeze-static-checks-line-55)">-show</text><text 
class="breeze-static-checks-r4" x="97.6" y="1362" textLength="195.2" 
clip-path="url(#breeze-s [...]
-</text><text class="breeze-static-checks-r5" x="0" y="1386.4" 
textLength="12.2" clip-path="url(#breeze-static-checks-line-56)">│</text><text 
class="breeze-static-checks-r4" x="24.4" y="1386.4" textLength="12.2" 
clip-path="url(#breeze-static-checks-line-56)">-</text><text 
class="breeze-static-checks-r4" x="36.6" y="1386.4" textLength="134.2" 
clip-path="url(#breeze-static-checks-line-56)">-initialize</text><text 
class="breeze-static-checks-r4" x="170.8" y="1386.4" textLength="146.4" clip-p 
[...]
-</text><text class="breeze-static-checks-r5" x="0" y="1410.8" 
textLength="12.2" clip-path="url(#breeze-static-checks-line-57)">│</text><text 
class="breeze-static-checks-r4" x="24.4" y="1410.8" textLength="12.2" 
clip-path="url(#breeze-static-checks-line-57)">-</text><text 
class="breeze-static-checks-r4" x="36.6" y="1410.8" textLength="48.8" 
clip-path="url(#breeze-static-checks-line-57)">-max</text><text 
class="breeze-static-checks-r4" x="85.4" y="1410.8" textLength="292.8" 
clip-path="url( [...]
-</text><text class="breeze-static-checks-r5" x="0" y="1435.2" 
textLength="12.2" clip-path="url(#breeze-static-checks-line-58)">│</text><text 
class="breeze-static-checks-r7" x="451.4" y="1435.2" textLength="854" 
clip-path="url(#breeze-static-checks-line-58)">(INTEGER&#160;RANGE)&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#16
 [...]
-</text><text class="breeze-static-checks-r5" x="0" y="1459.6" 
textLength="12.2" clip-path="url(#breeze-static-checks-line-59)">│</text><text 
class="breeze-static-checks-r5" x="451.4" y="1459.6" textLength="854" 
clip-path="url(#breeze-static-checks-line-59)">[default:&#160;3;&#160;1&lt;=x&lt;=10]&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#16
 [...]
-</text><text class="breeze-static-checks-r5" x="0" y="1484" textLength="1464" 
clip-path="url(#breeze-static-checks-line-60)">╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯</text><text
 class="breeze-static-checks-r1" x="1464" y="1484" textLength="12.2" 
clip-path="url(#breeze-static-checks-line-60)">
-</text><text class="breeze-static-checks-r5" x="0" y="1508.4" 
textLength="24.4" clip-path="url(#breeze-static-checks-line-61)">╭─</text><text 
class="breeze-static-checks-r5" x="24.4" y="1508.4" textLength="463.6" 
clip-path="url(#breeze-static-checks-line-61)">&#160;Selecting&#160;files&#160;to&#160;run&#160;the&#160;checks&#160;on&#160;</text><text
 class="breeze-static-checks-r5" x="488" y="1508.4" textLength="951.6" 
clip-path="url(#breeze-static-checks-line-61)">──────────────────────── [...]
-</text><text class="breeze-static-checks-r5" x="0" y="1532.8" 
textLength="12.2" clip-path="url(#breeze-static-checks-line-62)">│</text><text 
class="breeze-static-checks-r4" x="24.4" y="1532.8" textLength="12.2" 
clip-path="url(#breeze-static-checks-line-62)">-</text><text 
class="breeze-static-checks-r4" x="36.6" y="1532.8" textLength="61" 
clip-path="url(#breeze-static-checks-line-62)">-file</text><text 
class="breeze-static-checks-r6" x="256.2" y="1532.8" textLength="24.4" 
clip-path="url(# [...]
-</text><text class="breeze-static-checks-r5" x="0" y="1557.2" 
textLength="12.2" clip-path="url(#breeze-static-checks-line-63)">│</text><text 
class="breeze-static-checks-r4" x="24.4" y="1557.2" textLength="12.2" 
clip-path="url(#breeze-static-checks-line-63)">-</text><text 
class="breeze-static-checks-r4" x="36.6" y="1557.2" textLength="48.8" 
clip-path="url(#breeze-static-checks-line-63)">-all</text><text 
class="breeze-static-checks-r4" x="85.4" y="1557.2" textLength="73.2" 
clip-path="url(# [...]
-</text><text class="breeze-static-checks-r5" x="0" y="1581.6" 
textLength="12.2" clip-path="url(#breeze-static-checks-line-64)">│</text><text 
class="breeze-static-checks-r4" x="24.4" y="1581.6" textLength="12.2" 
clip-path="url(#breeze-static-checks-line-64)">-</text><text 
class="breeze-static-checks-r4" x="36.6" y="1581.6" textLength="85.4" 
clip-path="url(#breeze-static-checks-line-64)">-commit</text><text 
class="breeze-static-checks-r4" x="122" y="1581.6" textLength="48.8" 
clip-path="url [...]
-</text><text class="breeze-static-checks-r5" x="0" y="1606" textLength="12.2" 
clip-path="url(#breeze-static-checks-line-65)">│</text><text 
class="breeze-static-checks-r1" x="305" y="1606" textLength="183" 
clip-path="url(#breeze-static-checks-line-65)">exclusive&#160;with&#160;</text><text
 class="breeze-static-checks-r4" x="488" y="1606" textLength="12.2" 
clip-path="url(#breeze-static-checks-line-65)">-</text><text 
class="breeze-static-checks-r4" x="500.2" y="1606" textLength="61" clip-pa [...]
-</text><text class="breeze-static-checks-r5" x="0" y="1630.4" 
textLength="12.2" clip-path="url(#breeze-static-checks-line-66)">│</text><text 
class="breeze-static-checks-r7" x="305" y="1630.4" textLength="1134.6" 
clip-path="url(#breeze-static-checks-line-66)">(TEXT)&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#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-static-checks-r5" x="0" y="1654.8" 
textLength="12.2" clip-path="url(#breeze-static-checks-line-67)">│</text><text 
class="breeze-static-checks-r4" x="24.4" y="1654.8" textLength="12.2" 
clip-path="url(#breeze-static-checks-line-67)">-</text><text 
class="breeze-static-checks-r4" x="36.6" y="1654.8" textLength="61" 
clip-path="url(#breeze-static-checks-line-67)">-last</text><text 
class="breeze-static-checks-r4" x="97.6" y="1654.8" textLength="85.4" 
clip-path="url(#b [...]
-</text><text class="breeze-static-checks-r5" x="0" y="1679.2" 
textLength="12.2" clip-path="url(#breeze-static-checks-line-68)">│</text><text 
class="breeze-static-checks-r4" x="24.4" y="1679.2" textLength="12.2" 
clip-path="url(#breeze-static-checks-line-68)">-</text><text 
class="breeze-static-checks-r4" x="36.6" y="1679.2" textLength="61" 
clip-path="url(#breeze-static-checks-line-68)">-only</text><text 
class="breeze-static-checks-r4" x="97.6" y="1679.2" textLength="134.2" 
clip-path="url(# [...]
-</text><text class="breeze-static-checks-r5" x="0" y="1703.6" 
textLength="12.2" clip-path="url(#breeze-static-checks-line-69)">│</text><text 
class="breeze-static-checks-r1" x="305" y="1703.6" textLength="1134.6" 
clip-path="url(#breeze-static-checks-line-69)">branch&#160;and&#160;HEAD&#160;of&#160;your&#160;branch.&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#1
 [...]
-</text><text class="breeze-static-checks-r5" x="0" y="1728" textLength="1464" 
clip-path="url(#breeze-static-checks-line-70)">╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯</text><text
 class="breeze-static-checks-r1" x="1464" y="1728" textLength="12.2" 
clip-path="url(#breeze-static-checks-line-70)">
-</text><text class="breeze-static-checks-r5" x="0" y="1752.4" 
textLength="24.4" clip-path="url(#breeze-static-checks-line-71)">╭─</text><text 
class="breeze-static-checks-r5" x="24.4" y="1752.4" textLength="463.6" 
clip-path="url(#breeze-static-checks-line-71)">&#160;Building&#160;image&#160;before&#160;running&#160;checks&#160;</text><text
 class="breeze-static-checks-r5" x="488" y="1752.4" textLength="951.6" 
clip-path="url(#breeze-static-checks-line-71)">──────────────────────────────────
 [...]
-</text><text class="breeze-static-checks-r5" x="0" y="1776.8" 
textLength="12.2" clip-path="url(#breeze-static-checks-line-72)">│</text><text 
class="breeze-static-checks-r4" x="24.4" y="1776.8" textLength="12.2" 
clip-path="url(#breeze-static-checks-line-72)">-</text><text 
class="breeze-static-checks-r4" x="36.6" y="1776.8" textLength="61" 
clip-path="url(#breeze-static-checks-line-72)">-skip</text><text 
class="breeze-static-checks-r4" x="97.6" y="1776.8" textLength="244" 
clip-path="url(#br [...]
-</text><text class="breeze-static-checks-r5" x="0" y="1801.2" 
textLength="12.2" clip-path="url(#breeze-static-checks-line-73)">│</text><text 
class="breeze-static-checks-r4" x="24.4" y="1801.2" textLength="12.2" 
clip-path="url(#breeze-static-checks-line-73)">-</text><text 
class="breeze-static-checks-r4" x="36.6" y="1801.2" textLength="73.2" 
clip-path="url(#breeze-static-checks-line-73)">-force</text><text 
class="breeze-static-checks-r4" x="109.8" y="1801.2" textLength="73.2" 
clip-path="ur [...]
-</text><text class="breeze-static-checks-r5" x="0" y="1825.6" 
textLength="12.2" clip-path="url(#breeze-static-checks-line-74)">│</text><text 
class="breeze-static-checks-r4" x="24.4" y="1825.6" textLength="12.2" 
clip-path="url(#breeze-static-checks-line-74)">-</text><text 
class="breeze-static-checks-r4" x="36.6" y="1825.6" textLength="73.2" 
clip-path="url(#breeze-static-checks-line-74)">-image</text><text 
class="breeze-static-checks-r4" x="109.8" y="1825.6" textLength="48.8" 
clip-path="ur [...]
-</text><text class="breeze-static-checks-r5" x="0" y="1850" textLength="12.2" 
clip-path="url(#breeze-static-checks-line-75)">│</text><text 
class="breeze-static-checks-r7" x="414.8" y="1850" textLength="963.8" 
clip-path="url(#breeze-static-checks-line-75)">(TEXT)&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#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-static-checks-r5" x="0" y="1874.4" 
textLength="12.2" clip-path="url(#breeze-static-checks-line-76)">│</text><text 
class="breeze-static-checks-r5" x="414.8" y="1874.4" textLength="963.8" 
clip-path="url(#breeze-static-checks-line-76)">[default:&#160;latest]&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#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-static-checks-r5" x="0" y="1898.8" 
textLength="12.2" clip-path="url(#breeze-static-checks-line-77)">│</text><text 
class="breeze-static-checks-r4" x="24.4" y="1898.8" textLength="12.2" 
clip-path="url(#breeze-static-checks-line-77)">-</text><text 
class="breeze-static-checks-r4" x="36.6" y="1898.8" textLength="85.4" 
clip-path="url(#breeze-static-checks-line-77)">-github</text><text 
class="breeze-static-checks-r4" x="122" y="1898.8" textLength="134.2" 
clip-path="ur [...]
-</text><text class="breeze-static-checks-r5" x="0" y="1923.2" 
textLength="12.2" clip-path="url(#breeze-static-checks-line-78)">│</text><text 
class="breeze-static-checks-r4" x="24.4" y="1923.2" textLength="12.2" 
clip-path="url(#breeze-static-checks-line-78)">-</text><text 
class="breeze-static-checks-r4" x="36.6" y="1923.2" textLength="97.6" 
clip-path="url(#breeze-static-checks-line-78)">-builder</text><text 
class="breeze-static-checks-r1" x="414.8" y="1923.2" textLength="756.4" 
clip-path= [...]
-</text><text class="breeze-static-checks-r5" x="0" y="1947.6" 
textLength="12.2" clip-path="url(#breeze-static-checks-line-79)">│</text><text 
class="breeze-static-checks-r5" x="414.8" y="1947.6" textLength="756.4" 
clip-path="url(#breeze-static-checks-line-79)">[default:&#160;autodetect]&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#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-static-checks-r5" x="0" y="1972" textLength="1464" 
clip-path="url(#breeze-static-checks-line-80)">╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯</text><text
 class="breeze-static-checks-r1" x="1464" y="1972" textLength="12.2" 
clip-path="url(#breeze-static-checks-line-80)">
-</text><text class="breeze-static-checks-r5" x="0" y="1996.4" 
textLength="24.4" clip-path="url(#breeze-static-checks-line-81)">╭─</text><text 
class="breeze-static-checks-r5" x="24.4" y="1996.4" textLength="195.2" 
clip-path="url(#breeze-static-checks-line-81)">&#160;Common&#160;options&#160;</text><text
 class="breeze-static-checks-r5" x="219.6" y="1996.4" textLength="1220" 
clip-path="url(#breeze-static-checks-line-81)">──────────────────────────────────────────────────────────────────────
 [...]
-</text><text class="breeze-static-checks-r5" x="0" y="2020.8" 
textLength="12.2" clip-path="url(#breeze-static-checks-line-82)">│</text><text 
class="breeze-static-checks-r4" x="24.4" y="2020.8" textLength="12.2" 
clip-path="url(#breeze-static-checks-line-82)">-</text><text 
class="breeze-static-checks-r4" x="36.6" y="2020.8" textLength="48.8" 
clip-path="url(#breeze-static-checks-line-82)">-dry</text><text 
class="breeze-static-checks-r4" x="85.4" y="2020.8" textLength="48.8" 
clip-path="url(# [...]
-</text><text class="breeze-static-checks-r5" x="0" y="2045.2" 
textLength="12.2" clip-path="url(#breeze-static-checks-line-83)">│</text><text 
class="breeze-static-checks-r4" x="24.4" y="2045.2" textLength="12.2" 
clip-path="url(#breeze-static-checks-line-83)">-</text><text 
class="breeze-static-checks-r4" x="36.6" y="2045.2" textLength="97.6" 
clip-path="url(#breeze-static-checks-line-83)">-verbose</text><text 
class="breeze-static-checks-r6" x="158.6" y="2045.2" textLength="24.4" 
clip-path=" [...]
-</text><text class="breeze-static-checks-r5" x="0" y="2069.6" 
textLength="12.2" clip-path="url(#breeze-static-checks-line-84)">│</text><text 
class="breeze-static-checks-r4" x="24.4" y="2069.6" textLength="12.2" 
clip-path="url(#breeze-static-checks-line-84)">-</text><text 
class="breeze-static-checks-r4" x="36.6" y="2069.6" textLength="61" 
clip-path="url(#breeze-static-checks-line-84)">-help</text><text 
class="breeze-static-checks-r6" x="158.6" y="2069.6" textLength="24.4" 
clip-path="url(# [...]
-</text><text class="breeze-static-checks-r5" x="0" y="2094" textLength="1464" 
clip-path="url(#breeze-static-checks-line-85)">╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯</text><text
 class="breeze-static-checks-r1" x="1464" y="2094" textLength="12.2" 
clip-path="url(#breeze-static-checks-line-85)">
+</text><text class="breeze-static-checks-r5" x="0" y="508" textLength="12.2" 
clip-path="url(#breeze-static-checks-line-20)">│</text><text 
class="breeze-static-checks-r7" x="451.4" y="508" textLength="988.2" 
clip-path="url(#breeze-static-checks-line-20)">check-get-lineage-collector-providers&#160;|&#160;check-google-re2-as-dependency&#160;|&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</text><text
 class="breeze-static-checks-r5" x="1451.8" y="508" textLength="12.2" 
clip-path="url( [...]
+</text><text class="breeze-static-checks-r5" x="0" y="532.4" textLength="12.2" 
clip-path="url(#breeze-static-checks-line-21)">│</text><text 
class="breeze-static-checks-r7" x="451.4" y="532.4" textLength="988.2" 
clip-path="url(#breeze-static-checks-line-21)">check-hatch-build-order&#160;|&#160;check-hooks-apply&#160;|&#160;check-incorrect-use-of-LoggingMixin</text><text
 class="breeze-static-checks-r5" x="1451.8" y="532.4" textLength="12.2" 
clip-path="url(#breeze-static-checks-line-21)">│< [...]
+</text><text class="breeze-static-checks-r5" x="0" y="556.8" textLength="12.2" 
clip-path="url(#breeze-static-checks-line-22)">│</text><text 
class="breeze-static-checks-r7" x="451.4" y="556.8" textLength="988.2" 
clip-path="url(#breeze-static-checks-line-22)">|&#160;check-init-decorator-arguments&#160;|&#160;check-integrations-list-consistent&#160;|&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</text><text
 class="breeze-static-checks-r5" x="1451.8" y="556.8" textLength="12.2" [...]
+</text><text class="breeze-static-checks-r5" x="0" y="581.2" textLength="12.2" 
clip-path="url(#breeze-static-checks-line-23)">│</text><text 
class="breeze-static-checks-r7" x="451.4" y="581.2" textLength="988.2" 
clip-path="url(#breeze-static-checks-line-23)">check-lazy-logging&#160;|&#160;check-links-to-example-dags-do-not-use-hardcoded-versions&#160;|&#160;</text><text
 class="breeze-static-checks-r5" x="1451.8" y="581.2" textLength="12.2" 
clip-path="url(#breeze-static-checks-line-23)">│< [...]
+</text><text class="breeze-static-checks-r5" x="0" y="605.6" textLength="12.2" 
clip-path="url(#breeze-static-checks-line-24)">│</text><text 
class="breeze-static-checks-r7" x="451.4" y="605.6" textLength="988.2" 
clip-path="url(#breeze-static-checks-line-24)">check-merge-conflict&#160;|&#160;check-newsfragments-are-valid&#160;|&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</t
 [...]
+</text><text class="breeze-static-checks-r5" x="0" y="630" textLength="12.2" 
clip-path="url(#breeze-static-checks-line-25)">│</text><text 
class="breeze-static-checks-r7" x="451.4" y="630" textLength="988.2" 
clip-path="url(#breeze-static-checks-line-25)">check-no-airflow-deprecation-in-providers&#160;|&#160;check-no-providers-in-core-examples&#160;|</text><text
 class="breeze-static-checks-r5" x="1451.8" y="630" textLength="12.2" 
clip-path="url(#breeze-static-checks-line-25)">│</text><text [...]
+</text><text class="breeze-static-checks-r5" x="0" y="654.4" textLength="12.2" 
clip-path="url(#breeze-static-checks-line-26)">│</text><text 
class="breeze-static-checks-r7" x="451.4" y="654.4" textLength="988.2" 
clip-path="url(#breeze-static-checks-line-26)">check-only-new-session-with-provide-session&#160;|&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#16
 [...]
+</text><text class="breeze-static-checks-r5" x="0" y="678.8" textLength="12.2" 
clip-path="url(#breeze-static-checks-line-27)">│</text><text 
class="breeze-static-checks-r7" x="451.4" y="678.8" textLength="988.2" 
clip-path="url(#breeze-static-checks-line-27)">check-persist-credentials-disabled-in-github-workflows&#160;|&#160;&#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="bre [...]
+</text><text class="breeze-static-checks-r5" x="0" y="703.2" textLength="12.2" 
clip-path="url(#breeze-static-checks-line-28)">│</text><text 
class="breeze-static-checks-r7" x="451.4" y="703.2" textLength="988.2" 
clip-path="url(#breeze-static-checks-line-28)">check-pre-commit-information-consistent&#160;|&#160;check-provide-create-sessions-imports&#160;|</text><text
 class="breeze-static-checks-r5" x="1451.8" y="703.2" textLength="12.2" 
clip-path="url(#breeze-static-checks-line-28)">│</text [...]
+</text><text class="breeze-static-checks-r5" x="0" y="727.6" textLength="12.2" 
clip-path="url(#breeze-static-checks-line-29)">│</text><text 
class="breeze-static-checks-r7" x="451.4" y="727.6" textLength="988.2" 
clip-path="url(#breeze-static-checks-line-29)">check-provider-docs-valid&#160;|&#160;check-provider-yaml-valid&#160;|&#160;&#160;&#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><text class="breeze-static-checks-r5" x="0" y="752" textLength="12.2" 
clip-path="url(#breeze-static-checks-line-30)">│</text><text 
class="breeze-static-checks-r7" x="451.4" y="752" textLength="988.2" 
clip-path="url(#breeze-static-checks-line-30)">check-providers-init-file-missing&#160;|&#160;check-providers-subpackages-init-file-exist&#160;|</text><text
 class="breeze-static-checks-r5" x="1451.8" y="752" textLength="12.2" 
clip-path="url(#breeze-static-checks-line-30)">│</text><text [...]
+</text><text class="breeze-static-checks-r5" x="0" y="776.4" textLength="12.2" 
clip-path="url(#breeze-static-checks-line-31)">│</text><text 
class="breeze-static-checks-r7" x="451.4" y="776.4" textLength="988.2" 
clip-path="url(#breeze-static-checks-line-31)">check-pydevd-left-in-code&#160;|&#160;check-revision-heads-map&#160;|&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</t
 [...]
+</text><text class="breeze-static-checks-r5" x="0" y="800.8" textLength="12.2" 
clip-path="url(#breeze-static-checks-line-32)">│</text><text 
class="breeze-static-checks-r7" x="451.4" y="800.8" textLength="988.2" 
clip-path="url(#breeze-static-checks-line-32)">check-safe-filter-usage-in-html&#160;|&#160;check-sql-dependency-common-data-structure&#160;|&#160;&#160;&#160;</text><text
 class="breeze-static-checks-r5" x="1451.8" y="800.8" textLength="12.2" 
clip-path="url(#breeze-static-checks-li [...]
+</text><text class="breeze-static-checks-r5" x="0" y="825.2" textLength="12.2" 
clip-path="url(#breeze-static-checks-line-33)">│</text><text 
class="breeze-static-checks-r7" x="451.4" y="825.2" textLength="988.2" 
clip-path="url(#breeze-static-checks-line-33)">check-start-date-not-used-in-defaults&#160;|&#160;check-system-tests-present&#160;|&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</text><text
 class="breeze-static-checks-r5" x="1451.8" y="825.2" textLen [...]
+</text><text class="breeze-static-checks-r5" x="0" y="849.6" textLength="12.2" 
clip-path="url(#breeze-static-checks-line-34)">│</text><text 
class="breeze-static-checks-r7" x="451.4" y="849.6" textLength="988.2" 
clip-path="url(#breeze-static-checks-line-34)">check-system-tests-tocs&#160;|&#160;check-template-context-variable-in-sync&#160;|&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</text><text
 class="breeze-static-checks-r5" x="1451.8" y="849.6" te [...]
+</text><text class="breeze-static-checks-r5" x="0" y="874" textLength="12.2" 
clip-path="url(#breeze-static-checks-line-35)">│</text><text 
class="breeze-static-checks-r7" x="451.4" y="874" textLength="988.2" 
clip-path="url(#breeze-static-checks-line-35)">check-tests-in-the-right-folders&#160;|&#160;check-tests-unittest-testcase&#160;|&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</text><text
 class="breeze-static-checks-r5" x="1451.8" y="874" tex [...]
+</text><text class="breeze-static-checks-r5" x="0" y="898.4" textLength="12.2" 
clip-path="url(#breeze-static-checks-line-36)">│</text><text 
class="breeze-static-checks-r7" x="451.4" y="898.4" textLength="988.2" 
clip-path="url(#breeze-static-checks-line-36)">check-urlparse-usage-in-code&#160;|&#160;check-usage-of-re2-over-re&#160;|&#160;check-xml&#160;|&#160;codespell</text><text
 class="breeze-static-checks-r5" x="1451.8" y="898.4" textLength="12.2" 
clip-path="url(#breeze-static-checks-li [...]
+</text><text class="breeze-static-checks-r5" x="0" y="922.8" textLength="12.2" 
clip-path="url(#breeze-static-checks-line-37)">│</text><text 
class="breeze-static-checks-r7" x="451.4" y="922.8" textLength="988.2" 
clip-path="url(#breeze-static-checks-line-37)">|&#160;compile-www-assets&#160;|&#160;compile-www-assets-dev&#160;|&#160;&#160;&#160;&#160;&#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-static-checks-r5" x="0" y="947.2" textLength="12.2" 
clip-path="url(#breeze-static-checks-line-38)">│</text><text 
class="breeze-static-checks-r7" x="451.4" y="947.2" textLength="988.2" 
clip-path="url(#breeze-static-checks-line-38)">create-missing-init-py-files-tests&#160;|&#160;debug-statements&#160;|&#160;detect-private-key&#160;|&#160;&#160;&#160;&#160;&#160;</text><text
 class="breeze-static-checks-r5" x="1451.8" y="947.2" textLength="12.2" 
clip-path="url(#bre [...]
+</text><text class="breeze-static-checks-r5" x="0" y="971.6" textLength="12.2" 
clip-path="url(#breeze-static-checks-line-39)">│</text><text 
class="breeze-static-checks-r7" x="451.4" y="971.6" textLength="988.2" 
clip-path="url(#breeze-static-checks-line-39)">doctoc&#160;|&#160;end-of-file-fixer&#160;|&#160;fix-encoding-pragma&#160;|&#160;flynt&#160;|&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</t
 [...]
+</text><text class="breeze-static-checks-r5" x="0" y="996" textLength="12.2" 
clip-path="url(#breeze-static-checks-line-40)">│</text><text 
class="breeze-static-checks-r7" x="451.4" y="996" textLength="988.2" 
clip-path="url(#breeze-static-checks-line-40)">generate-airflow-diagrams&#160;|&#160;generate-pypi-readme&#160;|&#160;identity&#160;|&#160;insert-license&#160;|&#160;&#160;&#160;</text><text
 class="breeze-static-checks-r5" x="1451.8" y="996" textLength="12.2" 
clip-path="url(#breeze-st [...]
+</text><text class="breeze-static-checks-r5" x="0" y="1020.4" 
textLength="12.2" clip-path="url(#breeze-static-checks-line-41)">│</text><text 
class="breeze-static-checks-r7" x="451.4" y="1020.4" textLength="988.2" 
clip-path="url(#breeze-static-checks-line-41)">kubeconform&#160;|&#160;lint-chart-schema&#160;|&#160;lint-css&#160;|&#160;lint-dockerfile&#160;|&#160;lint-helm-chart&#160;|&#160;</text><text
 class="breeze-static-checks-r5" x="1451.8" y="1020.4" textLength="12.2" 
clip-path="url(# [...]
+</text><text class="breeze-static-checks-r5" x="0" y="1044.8" 
textLength="12.2" clip-path="url(#breeze-static-checks-line-42)">│</text><text 
class="breeze-static-checks-r7" x="451.4" y="1044.8" textLength="988.2" 
clip-path="url(#breeze-static-checks-line-42)">lint-json-schema&#160;|&#160;lint-markdown&#160;|&#160;lint-openapi&#160;|&#160;mixed-line-ending&#160;|&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</text><text
 class="breeze-static-checks-r5" x="1451.8"  [...]
+</text><text class="breeze-static-checks-r5" x="0" y="1069.2" 
textLength="12.2" clip-path="url(#breeze-static-checks-line-43)">│</text><text 
class="breeze-static-checks-r7" x="451.4" y="1069.2" textLength="988.2" 
clip-path="url(#breeze-static-checks-line-43)">mypy-airflow&#160;|&#160;mypy-dev&#160;|&#160;mypy-docs&#160;|&#160;mypy-providers&#160;|&#160;pretty-format-json&#160;|&#160;&#160;&#160;&#160;&#160;&#160;</text><text
 class="breeze-static-checks-r5" x="1451.8" y="1069.2" textLengt [...]
+</text><text class="breeze-static-checks-r5" x="0" y="1093.6" 
textLength="12.2" clip-path="url(#breeze-static-checks-line-44)">│</text><text 
class="breeze-static-checks-r7" x="451.4" y="1093.6" textLength="988.2" 
clip-path="url(#breeze-static-checks-line-44)">pylint&#160;|&#160;python-no-log-warn&#160;|&#160;replace-bad-characters&#160;|&#160;rst-backticks&#160;|&#160;ruff&#160;|&#160;&#160;&#160;&#160;</text><text
 class="breeze-static-checks-r5" x="1451.8" y="1093.6" textLength="12.2" c [...]
+</text><text class="breeze-static-checks-r5" x="0" y="1118" textLength="12.2" 
clip-path="url(#breeze-static-checks-line-45)">│</text><text 
class="breeze-static-checks-r7" x="451.4" y="1118" textLength="988.2" 
clip-path="url(#breeze-static-checks-line-45)">ruff-format&#160;|&#160;shellcheck&#160;|&#160;trailing-whitespace&#160;|&#160;ts-compile-format-lint-www&#160;|&#160;&#160;&#160;&#160;</text><text
 class="breeze-static-checks-r5" x="1451.8" y="1118" textLength="12.2" 
clip-path="url(#b [...]
+</text><text class="breeze-static-checks-r5" x="0" y="1142.4" 
textLength="12.2" clip-path="url(#breeze-static-checks-line-46)">│</text><text 
class="breeze-static-checks-r7" x="451.4" y="1142.4" textLength="988.2" 
clip-path="url(#breeze-static-checks-line-46)">update-black-version&#160;|&#160;update-breeze-cmd-output&#160;|&#160;&#160;&#160;&#160;&#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-static-checks-r5" x="0" y="1166.8" 
textLength="12.2" clip-path="url(#breeze-static-checks-line-47)">│</text><text 
class="breeze-static-checks-r7" x="451.4" y="1166.8" textLength="988.2" 
clip-path="url(#breeze-static-checks-line-47)">update-breeze-readme-config-hash&#160;|&#160;update-build-dependencies&#160;|&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</text><text
 class="breeze-static-checks- [...]
+</text><text class="breeze-static-checks-r5" x="0" y="1191.2" 
textLength="12.2" clip-path="url(#breeze-static-checks-line-48)">│</text><text 
class="breeze-static-checks-r7" x="451.4" y="1191.2" textLength="988.2" 
clip-path="url(#breeze-static-checks-line-48)">update-chart-dependencies&#160;|&#160;update-common-sql-api-stubs&#160;|&#160;update-er-diagram&#160;|&#160;&#160;&#160;&#160;</text><text
 class="breeze-static-checks-r5" x="1451.8" y="1191.2" textLength="12.2" 
clip-path="url(#breez [...]
+</text><text class="breeze-static-checks-r5" x="0" y="1215.6" 
textLength="12.2" clip-path="url(#breeze-static-checks-line-49)">│</text><text 
class="breeze-static-checks-r7" x="451.4" y="1215.6" textLength="988.2" 
clip-path="url(#breeze-static-checks-line-49)">update-extras&#160;|&#160;update-in-the-wild-to-be-sorted&#160;|&#160;&#160;&#160;&#160;&#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-static-checks-r5" x="0" y="1240" textLength="12.2" 
clip-path="url(#breeze-static-checks-line-50)">│</text><text 
class="breeze-static-checks-r7" x="451.4" y="1240" textLength="988.2" 
clip-path="url(#breeze-static-checks-line-50)">update-inlined-dockerfile-scripts&#160;|&#160;update-installed-providers-to-be-sorted&#160;|&#160;&#160;&#160;&#160;</text><text
 class="breeze-static-checks-r5" x="1451.8" y="1240" textLength="12.2" 
clip-path="url(#breeze-static-checks- [...]
+</text><text class="breeze-static-checks-r5" x="0" y="1264.4" 
textLength="12.2" clip-path="url(#breeze-static-checks-line-51)">│</text><text 
class="breeze-static-checks-r7" x="451.4" y="1264.4" textLength="988.2" 
clip-path="url(#breeze-static-checks-line-51)">update-installers&#160;|&#160;update-local-yml-file&#160;|&#160;update-migration-references&#160;|&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</text><text
 class="breeze-static-checks-r5" x="1451.8" y="1264.4" textLength="12.2" c [...]
+</text><text class="breeze-static-checks-r5" x="0" y="1288.8" 
textLength="12.2" clip-path="url(#breeze-static-checks-line-52)">│</text><text 
class="breeze-static-checks-r7" x="451.4" y="1288.8" textLength="988.2" 
clip-path="url(#breeze-static-checks-line-52)">update-openapi-spec-tags-to-be-sorted&#160;|&#160;update-providers-dependencies&#160;|&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</text><text
 class="breeze-static-checks-r5" x="1451.8" y="1288.8" textLength="12.2" c [...]
+</text><text class="breeze-static-checks-r5" x="0" y="1313.2" 
textLength="12.2" clip-path="url(#breeze-static-checks-line-53)">│</text><text 
class="breeze-static-checks-r7" x="451.4" y="1313.2" textLength="988.2" 
clip-path="url(#breeze-static-checks-line-53)">update-reproducible-source-date-epoch&#160;|&#160;update-spelling-wordlist-to-be-sorted&#160;|&#160;&#160;</text><text
 class="breeze-static-checks-r5" x="1451.8" y="1313.2" textLength="12.2" 
clip-path="url(#breeze-static-checks-line [...]
+</text><text class="breeze-static-checks-r5" x="0" y="1337.6" 
textLength="12.2" clip-path="url(#breeze-static-checks-line-54)">│</text><text 
class="breeze-static-checks-r7" x="451.4" y="1337.6" textLength="988.2" 
clip-path="url(#breeze-static-checks-line-54)">update-supported-versions&#160;|&#160;update-vendored-in-k8s-json-schema&#160;|&#160;update-version&#160;|</text><text
 class="breeze-static-checks-r5" x="1451.8" y="1337.6" textLength="12.2" 
clip-path="url(#breeze-static-checks-line [...]
+</text><text class="breeze-static-checks-r5" x="0" y="1362" textLength="12.2" 
clip-path="url(#breeze-static-checks-line-55)">│</text><text 
class="breeze-static-checks-r7" x="451.4" y="1362" textLength="988.2" 
clip-path="url(#breeze-static-checks-line-55)">validate-operators-init&#160;|&#160;yamllint)&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#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-static-checks-r5" x="0" y="1386.4" 
textLength="12.2" clip-path="url(#breeze-static-checks-line-56)">│</text><text 
class="breeze-static-checks-r4" x="24.4" y="1386.4" textLength="268.4" 
clip-path="url(#breeze-static-checks-line-56)">--show-diff-on-failure</text><text
 class="breeze-static-checks-r6" x="402.6" y="1386.4" textLength="24.4" 
clip-path="url(#breeze-static-checks-line-56)">-s</text><text 
class="breeze-static-checks-r1" x="451.4" y="1386.4" textLength=" [...]
+</text><text class="breeze-static-checks-r5" x="0" y="1410.8" 
textLength="12.2" clip-path="url(#breeze-static-checks-line-57)">│</text><text 
class="breeze-static-checks-r4" x="24.4" y="1410.8" textLength="292.8" 
clip-path="url(#breeze-static-checks-line-57)">--initialize-environment</text><text
 class="breeze-static-checks-r1" x="451.4" y="1410.8" textLength="549" 
clip-path="url(#breeze-static-checks-line-57)">Initialize&#160;environment&#160;before&#160;running&#160;checks.</text><text
 c [...]
+</text><text class="breeze-static-checks-r5" x="0" y="1435.2" 
textLength="12.2" clip-path="url(#breeze-static-checks-line-58)">│</text><text 
class="breeze-static-checks-r4" x="24.4" y="1435.2" textLength="353.8" 
clip-path="url(#breeze-static-checks-line-58)">--max-initialization-attempts</text><text
 class="breeze-static-checks-r1" x="451.4" y="1435.2" textLength="854" 
clip-path="url(#breeze-static-checks-line-58)">Maximum&#160;number&#160;of&#160;attempts&#160;to&#160;initialize&#160;env
 [...]
+</text><text class="breeze-static-checks-r5" x="0" y="1459.6" 
textLength="12.2" clip-path="url(#breeze-static-checks-line-59)">│</text><text 
class="breeze-static-checks-r7" x="451.4" y="1459.6" textLength="854" 
clip-path="url(#breeze-static-checks-line-59)">(INTEGER&#160;RANGE)&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#16
 [...]
+</text><text class="breeze-static-checks-r5" x="0" y="1484" textLength="12.2" 
clip-path="url(#breeze-static-checks-line-60)">│</text><text 
class="breeze-static-checks-r5" x="451.4" y="1484" textLength="854" 
clip-path="url(#breeze-static-checks-line-60)">[default:&#160;3;&#160;1&lt;=x&lt;=10]&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#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-static-checks-r5" x="0" y="1508.4" 
textLength="1464" 
clip-path="url(#breeze-static-checks-line-61)">╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯</text><text
 class="breeze-static-checks-r1" x="1464" y="1508.4" textLength="12.2" 
clip-path="url(#breeze-static-checks-line-61)">
+</text><text class="breeze-static-checks-r5" x="0" y="1532.8" 
textLength="24.4" clip-path="url(#breeze-static-checks-line-62)">╭─</text><text 
class="breeze-static-checks-r5" x="24.4" y="1532.8" textLength="463.6" 
clip-path="url(#breeze-static-checks-line-62)">&#160;Selecting&#160;files&#160;to&#160;run&#160;the&#160;checks&#160;on&#160;</text><text
 class="breeze-static-checks-r5" x="488" y="1532.8" textLength="951.6" 
clip-path="url(#breeze-static-checks-line-62)">──────────────────────── [...]
+</text><text class="breeze-static-checks-r5" x="0" y="1557.2" 
textLength="12.2" clip-path="url(#breeze-static-checks-line-63)">│</text><text 
class="breeze-static-checks-r4" x="24.4" y="1557.2" textLength="73.2" 
clip-path="url(#breeze-static-checks-line-63)">--file</text><text 
class="breeze-static-checks-r6" x="256.2" y="1557.2" textLength="24.4" 
clip-path="url(#breeze-static-checks-line-63)">-f</text><text 
class="breeze-static-checks-r1" x="305" y="1557.2" textLength="427" 
clip-path="url [...]
+</text><text class="breeze-static-checks-r5" x="0" y="1581.6" 
textLength="12.2" clip-path="url(#breeze-static-checks-line-64)">│</text><text 
class="breeze-static-checks-r4" x="24.4" y="1581.6" textLength="134.2" 
clip-path="url(#breeze-static-checks-line-64)">--all-files</text><text 
class="breeze-static-checks-r6" x="256.2" y="1581.6" textLength="24.4" 
clip-path="url(#breeze-static-checks-line-64)">-a</text><text 
class="breeze-static-checks-r1" x="305" y="1581.6" textLength="292.8" clip-p 
[...]
+</text><text class="breeze-static-checks-r5" x="0" y="1606" textLength="12.2" 
clip-path="url(#breeze-static-checks-line-65)">│</text><text 
class="breeze-static-checks-r4" x="24.4" y="1606" textLength="146.4" 
clip-path="url(#breeze-static-checks-line-65)">--commit-ref</text><text 
class="breeze-static-checks-r6" x="256.2" y="1606" textLength="24.4" 
clip-path="url(#breeze-static-checks-line-65)">-r</text><text 
class="breeze-static-checks-r1" x="305" y="1606" textLength="1134.6" 
clip-path="u [...]
+</text><text class="breeze-static-checks-r5" x="0" y="1630.4" 
textLength="12.2" clip-path="url(#breeze-static-checks-line-66)">│</text><text 
class="breeze-static-checks-r1" x="305" y="1630.4" textLength="183" 
clip-path="url(#breeze-static-checks-line-66)">exclusive&#160;with&#160;</text><text
 class="breeze-static-checks-r4" x="488" y="1630.4" textLength="158.6" 
clip-path="url(#breeze-static-checks-line-66)">--last-commit</text><text 
class="breeze-static-checks-r1" x="646.6" y="1630.4" te [...]
+</text><text class="breeze-static-checks-r5" x="0" y="1654.8" 
textLength="12.2" clip-path="url(#breeze-static-checks-line-67)">│</text><text 
class="breeze-static-checks-r7" x="305" y="1654.8" textLength="1134.6" 
clip-path="url(#breeze-static-checks-line-67)">(TEXT)&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#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-static-checks-r5" x="0" y="1679.2" 
textLength="12.2" clip-path="url(#breeze-static-checks-line-68)">│</text><text 
class="breeze-static-checks-r4" x="24.4" y="1679.2" textLength="158.6" 
clip-path="url(#breeze-static-checks-line-68)">--last-commit</text><text 
class="breeze-static-checks-r6" x="256.2" y="1679.2" textLength="24.4" 
clip-path="url(#breeze-static-checks-line-68)">-c</text><text 
class="breeze-static-checks-r1" x="305" y="1679.2" textLength="793" clip-p [...]
+</text><text class="breeze-static-checks-r5" x="0" y="1703.6" 
textLength="12.2" clip-path="url(#breeze-static-checks-line-69)">│</text><text 
class="breeze-static-checks-r4" x="24.4" y="1703.6" textLength="207.4" 
clip-path="url(#breeze-static-checks-line-69)">--only-my-changes</text><text 
class="breeze-static-checks-r6" x="256.2" y="1703.6" textLength="24.4" 
clip-path="url(#breeze-static-checks-line-69)">-m</text><text 
class="breeze-static-checks-r1" x="305" y="1703.6" textLength="1134.6" [...]
+</text><text class="breeze-static-checks-r5" x="0" y="1728" textLength="12.2" 
clip-path="url(#breeze-static-checks-line-70)">│</text><text 
class="breeze-static-checks-r1" x="305" y="1728" textLength="1134.6" 
clip-path="url(#breeze-static-checks-line-70)">branch&#160;and&#160;HEAD&#160;of&#160;your&#160;branch.&#160;&#160;&#160;&#160;&#160;&#160;&#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-static-checks-r5" x="0" y="1752.4" 
textLength="1464" 
clip-path="url(#breeze-static-checks-line-71)">╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯</text><text
 class="breeze-static-checks-r1" x="1464" y="1752.4" textLength="12.2" 
clip-path="url(#breeze-static-checks-line-71)">
+</text><text class="breeze-static-checks-r5" x="0" y="1776.8" 
textLength="24.4" clip-path="url(#breeze-static-checks-line-72)">╭─</text><text 
class="breeze-static-checks-r5" x="24.4" y="1776.8" textLength="463.6" 
clip-path="url(#breeze-static-checks-line-72)">&#160;Building&#160;image&#160;before&#160;running&#160;checks&#160;</text><text
 class="breeze-static-checks-r5" x="488" y="1776.8" textLength="951.6" 
clip-path="url(#breeze-static-checks-line-72)">──────────────────────────────────
 [...]
+</text><text class="breeze-static-checks-r5" x="0" y="1801.2" 
textLength="12.2" clip-path="url(#breeze-static-checks-line-73)">│</text><text 
class="breeze-static-checks-r4" x="24.4" y="1801.2" textLength="317.2" 
clip-path="url(#breeze-static-checks-line-73)">--skip-image-upgrade-check</text><text
 class="breeze-static-checks-r1" x="414.8" y="1801.2" textLength="536.8" 
clip-path="url(#breeze-static-checks-line-73)">Skip&#160;checking&#160;if&#160;the&#160;CI&#160;image&#160;is&#160;up&#160
 [...]
+</text><text class="breeze-static-checks-r5" x="0" y="1825.6" 
textLength="12.2" clip-path="url(#breeze-static-checks-line-74)">│</text><text 
class="breeze-static-checks-r4" x="24.4" y="1825.6" textLength="158.6" 
clip-path="url(#breeze-static-checks-line-74)">--force-build</text><text 
class="breeze-static-checks-r1" x="414.8" y="1825.6" textLength="707.6" 
clip-path="url(#breeze-static-checks-line-74)">Force&#160;image&#160;build&#160;no&#160;matter&#160;if&#160;it&#160;is&#160;determined&
 [...]
+</text><text class="breeze-static-checks-r5" x="0" y="1850" textLength="12.2" 
clip-path="url(#breeze-static-checks-line-75)">│</text><text 
class="breeze-static-checks-r4" x="24.4" y="1850" textLength="134.2" 
clip-path="url(#breeze-static-checks-line-75)">--image-tag</text><text 
class="breeze-static-checks-r1" x="414.8" y="1850" textLength="695.4" 
clip-path="url(#breeze-static-checks-line-75)">Tag&#160;of&#160;the&#160;image&#160;which&#160;is&#160;used&#160;to&#160;run&#160;the&#160;imag
 [...]
+</text><text class="breeze-static-checks-r5" x="0" y="1874.4" 
textLength="12.2" clip-path="url(#breeze-static-checks-line-76)">│</text><text 
class="breeze-static-checks-r7" x="414.8" y="1874.4" textLength="963.8" 
clip-path="url(#breeze-static-checks-line-76)">(TEXT)&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#16
 [...]
+</text><text class="breeze-static-checks-r5" x="0" y="1898.8" 
textLength="12.2" clip-path="url(#breeze-static-checks-line-77)">│</text><text 
class="breeze-static-checks-r5" x="414.8" y="1898.8" textLength="963.8" 
clip-path="url(#breeze-static-checks-line-77)">[default:&#160;latest]&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#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-static-checks-r5" x="0" y="1923.2" 
textLength="12.2" clip-path="url(#breeze-static-checks-line-78)">│</text><text 
class="breeze-static-checks-r4" x="24.4" y="1923.2" textLength="231.8" 
clip-path="url(#breeze-static-checks-line-78)">--github-repository</text><text 
class="breeze-static-checks-r6" x="366" y="1923.2" textLength="24.4" 
clip-path="url(#breeze-static-checks-line-78)">-g</text><text 
class="breeze-static-checks-r1" x="414.8" y="1923.2" textLength="585.6 [...]
+</text><text class="breeze-static-checks-r5" x="0" y="1947.6" 
textLength="12.2" clip-path="url(#breeze-static-checks-line-79)">│</text><text 
class="breeze-static-checks-r4" x="24.4" y="1947.6" textLength="109.8" 
clip-path="url(#breeze-static-checks-line-79)">--builder</text><text 
class="breeze-static-checks-r1" x="414.8" y="1947.6" textLength="756.4" 
clip-path="url(#breeze-static-checks-line-79)">Buildx&#160;builder&#160;used&#160;to&#160;perform&#160;`docker&#160;buildx&#160;build`&#160
 [...]
+</text><text class="breeze-static-checks-r5" x="0" y="1972" textLength="12.2" 
clip-path="url(#breeze-static-checks-line-80)">│</text><text 
class="breeze-static-checks-r5" x="414.8" y="1972" textLength="756.4" 
clip-path="url(#breeze-static-checks-line-80)">[default:&#160;autodetect]&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#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-static-checks-r5" x="0" y="1996.4" 
textLength="1464" 
clip-path="url(#breeze-static-checks-line-81)">╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯</text><text
 class="breeze-static-checks-r1" x="1464" y="1996.4" textLength="12.2" 
clip-path="url(#breeze-static-checks-line-81)">
+</text><text class="breeze-static-checks-r5" x="0" y="2020.8" 
textLength="24.4" clip-path="url(#breeze-static-checks-line-82)">╭─</text><text 
class="breeze-static-checks-r5" x="24.4" y="2020.8" textLength="195.2" 
clip-path="url(#breeze-static-checks-line-82)">&#160;Common&#160;options&#160;</text><text
 class="breeze-static-checks-r5" x="219.6" y="2020.8" textLength="1220" 
clip-path="url(#breeze-static-checks-line-82)">──────────────────────────────────────────────────────────────────────
 [...]
+</text><text class="breeze-static-checks-r5" x="0" y="2045.2" 
textLength="12.2" clip-path="url(#breeze-static-checks-line-83)">│</text><text 
class="breeze-static-checks-r4" x="24.4" y="2045.2" textLength="109.8" 
clip-path="url(#breeze-static-checks-line-83)">--dry-run</text><text 
class="breeze-static-checks-r6" x="158.6" y="2045.2" textLength="24.4" 
clip-path="url(#breeze-static-checks-line-83)">-D</text><text 
class="breeze-static-checks-r1" x="207.4" y="2045.2" textLength="719.8" clip-p 
[...]
+</text><text class="breeze-static-checks-r5" x="0" y="2069.6" 
textLength="12.2" clip-path="url(#breeze-static-checks-line-84)">│</text><text 
class="breeze-static-checks-r4" x="24.4" y="2069.6" textLength="109.8" 
clip-path="url(#breeze-static-checks-line-84)">--verbose</text><text 
class="breeze-static-checks-r6" x="158.6" y="2069.6" textLength="24.4" 
clip-path="url(#breeze-static-checks-line-84)">-v</text><text 
class="breeze-static-checks-r1" x="207.4" y="2069.6" textLength="585.6" clip-p 
[...]
+</text><text class="breeze-static-checks-r5" x="0" y="2094" textLength="12.2" 
clip-path="url(#breeze-static-checks-line-85)">│</text><text 
class="breeze-static-checks-r4" x="24.4" y="2094" textLength="73.2" 
clip-path="url(#breeze-static-checks-line-85)">--help</text><text 
class="breeze-static-checks-r6" x="158.6" y="2094" textLength="24.4" 
clip-path="url(#breeze-static-checks-line-85)">-h</text><text 
class="breeze-static-checks-r1" x="207.4" y="2094" textLength="329.4" 
clip-path="url(#br [...]
+</text><text class="breeze-static-checks-r5" x="0" y="2118.4" 
textLength="1464" 
clip-path="url(#breeze-static-checks-line-86)">╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯</text><text
 class="breeze-static-checks-r1" x="1464" y="2118.4" textLength="12.2" 
clip-path="url(#breeze-static-checks-line-86)">
 </text>
     </g>
     </g>
diff --git a/dev/breeze/doc/images/output_static-checks.txt 
b/dev/breeze/doc/images/output_static-checks.txt
index 0a484fbe70..cd2dce871a 100644
--- a/dev/breeze/doc/images/output_static-checks.txt
+++ b/dev/breeze/doc/images/output_static-checks.txt
@@ -1 +1 @@
-7b121e6337aeb2242ab88b8f51ae1907
+9381c6120248c8e22bd10d9f882ef667
diff --git a/dev/breeze/src/airflow_breeze/pre_commit_ids.py 
b/dev/breeze/src/airflow_breeze/pre_commit_ids.py
index b31340be78..4d699a02de 100644
--- a/dev/breeze/src/airflow_breeze/pre_commit_ids.py
+++ b/dev/breeze/src/airflow_breeze/pre_commit_ids.py
@@ -52,6 +52,7 @@ PRE_COMMIT_LIST = [
     "check-extras-order",
     "check-fab-migrations",
     "check-for-inclusive-language",
+    "check-get-lineage-collector-providers",
     "check-google-re2-as-dependency",
     "check-hatch-build-order",
     "check-hooks-apply",
diff --git a/dev/breeze/tests/test_selective_checks.py 
b/dev/breeze/tests/test_selective_checks.py
index 513edeff5f..45e8a23b4a 100644
--- a/dev/breeze/tests/test_selective_checks.py
+++ b/dev/breeze/tests/test_selective_checks.py
@@ -535,7 +535,7 @@ def assert_outputs_are_printed(expected_outputs: dict[str, 
str], stderr: str):
                 "upgrade-to-newer-dependencies": "false",
                 "run-amazon-tests": "true",
                 "parallel-test-types-list-as-string": "Always 
Providers[amazon] "
-                
"Providers[apache.hive,cncf.kubernetes,common.sql,exasol,ftp,http,"
+                
"Providers[apache.hive,cncf.kubernetes,common.compat,common.sql,exasol,ftp,http,"
                 
"imap,microsoft.azure,mongo,mysql,openlineage,postgres,salesforce,ssh,teradata] 
Providers[google]",
                 "needs-mypy": "true",
                 "mypy-folders": "['providers']",
@@ -585,7 +585,7 @@ def assert_outputs_are_printed(expected_outputs: dict[str, 
str], stderr: str):
                 "run-kubernetes-tests": "false",
                 "upgrade-to-newer-dependencies": "false",
                 "parallel-test-types-list-as-string": "Always 
Providers[amazon] "
-                
"Providers[apache.hive,cncf.kubernetes,common.sql,exasol,ftp,http,"
+                
"Providers[apache.hive,cncf.kubernetes,common.compat,common.sql,exasol,ftp,http,"
                 
"imap,microsoft.azure,mongo,mysql,openlineage,postgres,salesforce,ssh,teradata] 
Providers[google]",
                 "needs-mypy": "true",
                 "mypy-folders": "['providers']",
diff --git a/tests/providers/common/compat/test_hook.py 
b/tests/providers/common/compat/test_hook.py
new file mode 100644
index 0000000000..1fd88405bc
--- /dev/null
+++ b/tests/providers/common/compat/test_hook.py
@@ -0,0 +1,24 @@
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements.  See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership.  The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License.  You may obtain a copy of the License at
+#
+#   http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing,
+# software distributed under the License is distributed on an
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# KIND, either express or implied.  See the License for the
+# specific language governing permissions and limitations
+# under the License.
+from __future__ import annotations
+
+from airflow.providers.common.compat.lineage.hook import 
get_hook_lineage_collector
+
+
+def test_that_compat_does_not_raise():
+    # On compat tests this goes into ImportError code path
+    assert get_hook_lineage_collector() is not None

Reply via email to