potiuk opened a new pull request, #66283: URL: https://github.com/apache/airflow/pull/66283
## Summary Apache Airflow becomes an adopter of the [`apache/airflow-steward`](https://github.com/apache/airflow-steward) framework — a project-agnostic skill library for ASF-project automation. The framework lands as a git submodule at `.apache-steward/apache-steward/`; the per-project adopter configuration sits alongside it under `.apache-steward/`. This is the **first of three** airflow-side PRs that complete the migration: 1. **(this PR)** Add the submodule + adopter config. Existing `.claude/skills/` symlinks and `.github/skills/{pr-triage,pr-stats,maintainer-review}` stay in place — nothing breaks for current users. 2. **Follow-up** — replace the `.claude/skills/` symlinks with submodule-pointing ones; delete the duplicate `.github/skills/` copies. 3. **Follow-up** — update contributor docs to reference the framework. ## Why The `pr-triage`, `pr-stats`, and `maintainer-review` (renamed `pr-maintainer-review`) skills were lifted into the framework over the last week ([apache/airflow-steward#33](https://github.com/apache/airflow-steward/pull/33)) so other ASF projects can adopt the same playbook. Airflow now consumes them via submodule rather than maintaining its own copies under `.github/skills/`. Project-specific knobs (committers team, area-label prefix, comment-template URLs, CI-check map, review-criteria source files) live in `.apache-steward/` per the framework's [adopter contract](https://github.com/apache/airflow-steward/blob/main/README.md#adopting-the-framework). The security workflow is **not** adopted here — those skills run out of the private security-tracker repo `apache/airflow-s`, not out of the public upstream — so no security-workflow project-config files (`canned-responses.md`, `scope-labels.md`, `release-trains.md`, etc.) live in this directory. ## What's in `.apache-steward/` | File | Purpose | |---|---| | `project.md` | Identity (`Apache Airflow` / `apache/airflow`), upstream repo, sibling-file pointers | | `pr-triage-config.md` | Committers team (`apache/airflow-committers`), area-label prefix (`area:`), project labels (`ready for maintainer review`, etc.), grace windows | | `pr-triage-comment-templates.md` | Comment-body URLs (PR quality criteria, two-stage triage rationale), AI-attribution footer, project display name | | `pr-triage-ci-check-map.md` | CI-check pattern → category + doc-URL map (lifted from what `pr-triage/comment-templates.md` currently embeds inline) | | `pr-maintainer-review-criteria.md` | Review-criteria source files (`code-review.instructions.md`, `AGENTS.md`, per-area `AGENTS.md`s), security-model calibration, backport pattern, section anchors | ## Operational notes - **Fresh clones / parent `git pull`:** run `git submodule update --init --recursive`. Wire it as a post-merge hook to make it automatic — the framework's `setup-verify-steward` skill checks integration and reminds. - **Submodule pointer:** pinned at the latest framework `main` (commit 9774cc9, includes the four steward PRs that lifted + documented these skills). - **No skill behaviour change yet:** the existing `.github/skills/{pr-triage,pr-stats,maintainer-review}` and the symlinks under `.claude/skills/` are untouched. Skills run from the same content they always did. The cutover is in the follow-up PR. ## Test plan - [x] All `prek run` hooks pass (markdownlint, codespell, license-header, etc.) - [x] `.apache-steward/` content describes airflow accurately (committers team, area-label prefix, URLs, AGENTS.md paths) - [ ] Reviewer eyeballs `.apache-steward/project.md` for accuracy - [ ] Reviewer confirms the existing `.claude/skills/` and `.github/skills/` setup still works (no behaviour change in this PR) - [ ] CI passes (lychee link-check, full prek) 🤖 Generated with [Claude Code](https://claude.com/claude-code) -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected]
