Uh oh!
There was an error while loading. Please reload this page.
Remove breeze pr auto-triage, replaced by pr-triage skill - #65865
Conversation
The triage workflow that lived in `breeze pr auto-triage` is now the
agentic `pr-triage` skill at `.github/skills/pr-triage/`. This change
deletes the breeze command and its supporting code, and rewrites the
maintainer documentation to point at the skill.
Maintainer docs:
- `contributing-docs/25_maintainer_pr_triage.md` is rewritten to
describe the skill-based workflow. The `#why-the-first-pass-is-
automated` anchor is preserved verbatim — the AI-attribution footer
posted on every triage comment links there, and 451 already-posted
contributor comments rely on the link continuing to resolve.
- `contributing-docs/README.rst` entry updated.
- `dev/breeze/doc/13_pr_tasks.rst` auto-triage section replaced with a
short pointer to the skill (the `breeze pr stats` subcommand stays).
Code removal:
- `dev/breeze/src/airflow_breeze/commands/pr_commands.py` reduced from
12,505 to 1,176 lines — only `breeze pr stats` and its transitive
dependencies remain.
- `dev/breeze/src/airflow_breeze/commands/pr_commands_config.py` no
longer registers `auto-triage`.
- Deleted `tui_display.py`, `pr_comments.py`, `pr_context.py`,
`pr_display.py` (used only by auto-triage).
- Deleted `test_tui_display.py`, `test_pr_comments.py`,
`test_pr_context.py`, `test_pr_display.py`,
`test_pr_commands_utils.py`, `test_cache_validation.py`.
- Deleted `output_pr_auto-triage.{svg,txt}`. `output_pr.{svg,txt}`
regenerated to reflect the new command set.
Validation: prek pre-commit and manual stages pass; ruff, mypy-dev and
the consistency check all green; the 49 remaining breeze tests pass.potiuk
commented
Apr 26, 2026
CI on PR apache#65865 caught two test files that import auto-triage symbols that no longer exist: - `tests/test_github_ui_demo.py` imports `_compute_default_action` from `pr_commands` and `assess_pr_ui_demo` / `_has_demo_evidence` / `PRAssessment` / `Violation` from `utils/github.py`. - `tests/test_llm_utils.py` exercises `utils/llm_utils.py`, which only existed to wrap LLM calls for the auto-triage classifier. The helpers themselves (`Violation`, `PRAssessment`, `assess_pr_checks`, `assess_pr_conflicts`, `assess_pr_unresolved_comments`, `_has_demo_evidence`, `assess_pr_ui_demo`, plus their `_CHECK_CATEGORIES` table and `_*_URL` constants in `utils/github.py`) had no callers outside `llm_utils.py` and the deleted tests. They are removed along with the two test files and the entire `llm_utils.py` module. `utils/github.py` keeps its non-triage exports (`get_ga_output`, `download_file_from_github`, `download_constraints_file`, `get_active_airflow_versions`, `get_tag_date`, `download_artifact_from_pr`, `download_artifact_from_run_id` — used by sbom, ci, ci-image, prod-image, constraints-version-check, provider-dependencies, selective-checks, cdxgen) and is now 361 lines (was 722). All 772 remaining breeze tests pass; prek pre-commit and manual stages remain green.
jscheffl
commented
Apr 26, 2026
potiuk
commented
Apr 26, 2026
potiuk
commented
Apr 26, 2026
Temp issue with otel only. Merging. |
Uh oh!
There was an error while loading. Please reload this page.
Backport failed to create: v3-2-test. View the failure log Run detailsNote: As of Merging PRs targeted for Airflow 3.X In matter of doubt please ask in #release-management Slack channel.
You can attempt to backport this manually by running: cherry_picker 5271cfb v3-2-testThis should apply the commit to the v3-2-test branch and leave the commit in conflict state marking After you have resolved the conflicts, you can continue the backport process by running: cherry_picker --continueIf you don't have cherry-picker installed, see the installation guide. |
The triage workflow that lived in
breeze pr auto-triageis now the agenticpr-triageskill. This PR removes the breeze command and rewrites the maintainer documentation
to point at the skill.
Documentation
contributing-docs/25_maintainer_pr_triage.mdrewritten to describe theskill-based workflow. The
#why-the-first-pass-is-automatedanchor ispreserved — every triage comment posted by the skill links there, and 451
already-posted contributor comments rely on the link continuing to resolve.
contributing-docs/README.rstentry updated.dev/breeze/doc/13_pr_tasks.rstauto-triage section replaced with a shortpointer to the skill.
breeze pr statsstays.Code removal
dev/breeze/src/airflow_breeze/commands/pr_commands.pyreduced from 12,505to 1,176 lines — only
breeze pr statsand its transitive dependenciesremain.
dev/breeze/src/airflow_breeze/commands/pr_commands_config.pyno longerregisters
auto-triage.tui_display.py,pr_comments.py,pr_context.py,pr_display.py.output_pr_auto-triage.{svg,txt}help image.
output_pr.{svg,txt}regenerated.Net diff: +200 / −16,430 across 23 files.
Test plan
prek run --from-ref main --stage pre-commitpasses.prek run --from-ref main --stage manualpasses.breeze setup check-all-params-in-groupsexits 0.prek run ruff/ruff-format/mypy-devall pass on the modified files.breeze prCLI now exposes onlystats.Was generative AI tooling used to co-author this PR?
Generated-by: Claude Opus 4.7 (1M context) following the guidelines