You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@airflow.apache.org by po...@apache.org on 2026/05/25 19:06:42 UTC

(airflow-steward) branch main updated: setup-steward: generic _template/pr-management-code-review-criteria (#288)

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

potiuk pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/airflow-steward.git


The following commit(s) were added to refs/heads/main by this push:
     new 2a71e44  setup-steward: generic _template/pr-management-code-review-criteria (#288)
2a71e44 is described below

commit 2a71e442b2fbecc8e4d2de71334288e99975db9a
Author: Jarek Potiuk <ja...@potiuk.com>
AuthorDate: Mon May 25 21:06:37 2026 +0200

    setup-steward: generic _template/pr-management-code-review-criteria (#288)
    
    Same cleanup pattern as #280 / #283 applied to the
    code-review-criteria template, flagged by the Step 6d audit
    from #280.
    
    The framework's projects/_template/pr-management-code-review-criteria.md
    was seeded from one adopter's review-criteria map — title
    hardcoded to that project's name, per-area rows pointing at
    that project's subtree structure (registry/, dev/,
    providers/<name>/, providers/elasticsearch/,
    providers/opensearch/), backport-branch pattern tied to that
    project's release-train naming (v\d+-\d+-test), and all 14
    section-anchor URLs pointing at one project's
    review-instructions doc.
    
    Replace project-identity bits with placeholders. The repo-wide
    source files (`.github/instructions/code-review.instructions.md`
    and `AGENTS.md`) stay since those are standard locations many
    projects already use; their cell notes now describe them as
    "reuse if your project already uses it". The per-area table
    becomes three illustrative `<subtree>` / `<plugins-dir>` /
    `<specific-plugin>` rows that adopters replace with their
    real tree structure. Section anchors become
    `<docs-base-url>/<doc-path>#<section-anchor>` placeholders;
    the two universal Apache-license-policy URLs
    (legal/resolved.html, legal/src-headers.html,
    legal/apply-license.html) stay as-is — they're
    framework-host-org links, not adopter-specific.
    
    Generated-by: Claude (Opus 4.7)
---
 .../pr-management-code-review-criteria.md          | 96 ++++++++++++----------
 1 file changed, 54 insertions(+), 42 deletions(-)

diff --git a/projects/_template/pr-management-code-review-criteria.md b/projects/_template/pr-management-code-review-criteria.md
index 49a7105..5258fa4 100644
--- a/projects/_template/pr-management-code-review-criteria.md
+++ b/projects/_template/pr-management-code-review-criteria.md
@@ -2,7 +2,7 @@
 <!-- DON'T EDIT THIS SECTION, INSTEAD RE-RUN doctoc TO UPDATE -->
 **Table of Contents**  *generated with [DocToc](https://github.com/thlorenz/doctoc)*
 
-- [Apache Airflow — pr-management-code-review criteria](#apache-airflow--pr-management-code-review-criteria)
+- [TODO: `<Project Name>` — pr-management-code-review criteria](#todo-project-name--pr-management-code-review-criteria)
   - [Repo-wide source files](#repo-wide-source-files)
   - [Per-area source files](#per-area-source-files)
   - [Security-model calibration](#security-model-calibration)
@@ -14,48 +14,54 @@
 <!-- SPDX-License-Identifier: Apache-2.0
      https://www.apache.org/licenses/LICENSE-2.0 -->
 
-# Apache Airflow — pr-management-code-review criteria
+# TODO: `<Project Name>` — pr-management-code-review criteria
 
-This file is the **navigation map** for the Apache Airflow
-project's review criteria — the source files the
+This file is the **navigation map** for your adopter project's
+review criteria — the source files the
 [`pr-management-code-review`](../../.claude/skills/pr-management-code-review/SKILL.md)
-skill reads when forming its findings.  New adopters should copy
-this file into their own
+skill reads when forming its findings.
+
+Copy this file into your own
 `<project-config>/pr-management-code-review-criteria.md` and
-replace every Airflow-specific path with their project's
-equivalents.
+replace every `<placeholder>` with your project's value. Drop
+or add rows so the per-area entries match your project's
+tree structure.
 
-The skill's review pass reads each source file at session start
-(and re-reads per-area files as PRs route into different trees)
-and quotes the **source rule verbatim** in any finding it raises.
-If the file is missing or unreadable, the skill warns and falls
-back to a smaller default rule set.
+The skill's review pass reads each source file at session
+start (and re-reads per-area files as PRs route into
+different trees) and quotes the **source rule verbatim** in
+any finding it raises. If the file is missing or unreadable,
+the skill warns and falls back to a smaller default rule set.
 
 ## Repo-wide source files
 
-These apply to every PR regardless of which subtree it touches.
-At least one entry is required.
+These apply to every PR regardless of which subtree it
+touches. At least one entry is required.
 
 | File | What it covers | Notes |
 |---|---|---|
-| `.github/instructions/code-review.instructions.md` | The rule set every Apache Airflow PR is reviewed against (architecture / DB / quality / testing / API / UI / generated files / AI-generated-code signals / quality signals). | |
-| `AGENTS.md` | Repo-wide AI/agent instructions (architecture boundaries, security model, coding standards, testing standards, commits & PR conventions). | |
+| `.github/instructions/code-review.instructions.md` | The rule set every PR is reviewed against (architecture / DB / quality / testing / API / UI / generated files / AI-generated-code signals / quality signals). | Standard location for GitHub Copilot-style instructions; reuse this path if your project already uses it. |
+| `AGENTS.md` | Repo-wide AI / agent instructions (architecture boundaries, security model, coding standards, testing standards, commit & PR conventions). | Standard location for agentic instructions; reuse if your project already uses it. |
 
 ## Per-area source files
 
 Files that apply only when the PR touches a specific subtree.
-The skill auto-discovers any `AGENTS.md` under the touched paths
-via `git ls-files`, but rows listed here are **always** loaded
-even if the PR doesn't directly touch the area.
+The skill auto-discovers any `AGENTS.md` under the touched
+paths via `git ls-files`, but rows listed here are **always**
+loaded even if the PR doesn't directly touch the area.
+
+The rows below are illustrative — replace with the subtrees
+relevant to your project (a plugins / extensions / providers
+directory, a `dev/` scripts tree, an IDE bootstrap tree,
+language-specific subtrees like `<language>/AGENTS.md`,
+etc.). Drop rows that don't apply; add rows for each subtree
+where the project has its own conventions.
 
 | File | When it applies | Notes |
 |---|---|---|
-| `registry/AGENTS.md` | PR touches `registry/` | Registry-tree-specific rules. |
-| `dev/AGENTS.md` | PR touches `dev/` | `dev/` scripts conventions. |
-| `dev/ide_setup/AGENTS.md` | PR touches `dev/ide_setup/` | IDE bootstrap conventions. |
-| `providers/AGENTS.md` | PR touches `providers/<name>/` | Provider-tree boundary, compat-layer, and provider-yaml expectations. |
-| `providers/elasticsearch/AGENTS.md` | PR touches `providers/elasticsearch/` | Elasticsearch-specific rules. |
-| `providers/opensearch/AGENTS.md` | PR touches `providers/opensearch/` | OpenSearch-specific rules. |
+| `<subtree>/AGENTS.md` | PR touches `<subtree>/` | Subtree-specific rules. Replace `<subtree>` with a real path (e.g. `dev`, `docs`, `<plugins-dir>`, a per-language tree). |
+| `<plugins-dir>/AGENTS.md` | PR touches `<plugins-dir>/<plugin-name>/` | Plugin / extension tree boundary, compat-layer, and per-plugin conventions. Drop if your project has no plugin model. |
+| `<plugins-dir>/<specific-plugin>/AGENTS.md` | PR touches `<plugins-dir>/<specific-plugin>/` | Per-plugin rules. Add one row per plugin that has its own conventions doc. |
 
 ## Security-model calibration
 
@@ -66,17 +72,17 @@ deployment-hardening opportunities.
 
 | File | Used by |
 |---|---|
-| `airflow-core/docs/security/security_model.rst` | The `Security model — calibration` section of the skill's review-flow.md |
+| `<security-model-doc-path>` | The `Security model — calibration` section of the skill's `review-flow.md`. Replace with the doc your project uses (Example: `airflow-core/docs/security/security_model.rst`). |
 
 ## Backports / version-specific PRs
 
-Pattern the skill uses to detect that a PR is a backport vs. a
-main-branch change. Backports get a lighter-touch review focused
-on diff parity and cherry-pick conflicts.
+Pattern the skill uses to detect that a PR is a backport vs.
+a main-branch change. Backports get a lighter-touch review
+focused on diff parity and cherry-pick conflicts.
 
 | Concept | Pattern | Notes |
 |---|---|---|
-| Backport branch pattern | `v\d+-\d+-test` | Regex matched against the PR's base branch name (e.g. `v3-0-test`). |
+| Backport branch pattern | `<your-backport-branch-regex>` | Regex matched against the PR's base branch name. Example: `v\d+-\d+-test` matches branches like `v3-0-test`. Use the convention your project's release-train branches follow. |
 
 ## Section anchors
 
@@ -84,19 +90,25 @@ For projects whose review docs are structured around named
 sections, list the section anchor URLs the framework expects.
 These are used when the skill links out per-finding.
 
+Replace the `<docs-base-url>/<doc-path>` placeholders below
+with your project's actual review-instructions doc URL plus
+the anchor for each section. Drop rows for sections your
+project's review doc doesn't have; add rows for sections it
+adds.
+
 | Section | Anchor URL |
 |---|---|
-| Architecture boundaries | `https://github.com/apache/airflow/blob/main/.github/instructions/code-review.instructions.md#architecture-boundaries` |
-| Database / query correctness | `https://github.com/apache/airflow/blob/main/.github/instructions/code-review.instructions.md#database-and-query-correctness` |
-| Code quality | `https://github.com/apache/airflow/blob/main/.github/instructions/code-review.instructions.md#code-quality-rules` |
+| Architecture boundaries | `<docs-base-url>/<doc-path>#architecture-boundaries` |
+| Database / query correctness | `<docs-base-url>/<doc-path>#database-and-query-correctness` |
+| Code quality | `<docs-base-url>/<doc-path>#code-quality-rules` |
 | License headers | `https://www.apache.org/legal/src-headers.html` |
-| Testing | `https://github.com/apache/airflow/blob/main/.github/instructions/code-review.instructions.md#testing-requirements` |
-| API correctness | `https://github.com/apache/airflow/blob/main/.github/instructions/code-review.instructions.md#api-correctness` |
-| UI (React/TypeScript) | `https://github.com/apache/airflow/blob/main/.github/instructions/code-review.instructions.md#ui-code-reacttypescript` |
-| Generated files | `https://github.com/apache/airflow/blob/main/.github/instructions/code-review.instructions.md#generated-files` |
-| AI-generated code signals | `https://github.com/apache/airflow/blob/main/.github/instructions/code-review.instructions.md#ai-generated-code-signals` |
-| Quality signals to check | `https://github.com/apache/airflow/blob/main/.github/instructions/code-review.instructions.md#quality-signals-to-check` |
-| Commits and PRs (newsfragments, commit messages, tracking issues) | `https://github.com/apache/airflow/blob/main/AGENTS.md#commits-and-prs` |
-| Security model | `https://github.com/apache/airflow/blob/main/AGENTS.md#security-model` |
+| Testing | `<docs-base-url>/<doc-path>#testing-requirements` |
+| API correctness | `<docs-base-url>/<doc-path>#api-correctness` |
+| UI (React/TypeScript) | `<docs-base-url>/<doc-path>#ui-code-reacttypescript` |
+| Generated files | `<docs-base-url>/<doc-path>#generated-files` |
+| AI-generated code signals | `<docs-base-url>/<doc-path>#ai-generated-code-signals` |
+| Quality signals to check | `<docs-base-url>/<doc-path>#quality-signals-to-check` |
+| Commits and PRs (newsfragments, commit messages, tracking issues) | `<docs-base-url>/AGENTS.md#commits-and-prs` |
+| Security model | `<docs-base-url>/AGENTS.md#security-model` |
 | Third-party license compliance | `https://www.apache.org/legal/resolved.html` |
 | Applying the Apache licence | `https://www.apache.org/legal/apply-license.html` |