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 76bb85b  docs: drop "(for Airflow, ...)" qualifiers from generic 
surface (#55)
76bb85b is described below

commit 76bb85bf9e0de553aca993b37f256e4481d8aee4
Author: Jarek Potiuk <[email protected]>
AuthorDate: Tue May 5 11:42:44 2026 +0200

    docs: drop "(for Airflow, ...)" qualifiers from generic surface (#55)
    
    Group 1 of the Airflow-isms audit (the easy slice). All affected
    sections already pointed at <project-config>/<file> for the actual
    project-specific values; the parenthetical "for Airflow, ..." was
    adding noise without value, and at the framework level the singular
    project name shouldn't appear as a privileged example.
    
    Files updated:
    
    - AGENTS.md — naming-conventions reference, CVE allocation form note
    - docs/security/process.md — CVE allocation skill description, fix-cadence 
wording
    - docs/security/how-to-fix-a-security-issue.md — three "for Airflow, see 
..." pointers
    - docs/prerequisites.md — CVE-tool note + dev-toolchain reference
    - docs/pr-management/README.md — provenance paragraph (skills came from one 
project's
      developer-tooling repo) + a stale "follow-up PR will extract Airflow 
defaults"
      paragraph that was outdated after #52 actually did the extraction
    - tools/vulnogram/allocation.md — three "(for Airflow, ...)" pointers + the
      apache-airflow-providers-smtp wrong-product example reworded as a generic
      multi-package family example
    - tools/vulnogram/tool.md — "For Airflow (cve_tool: vulnogram)" reframed as
      "For adopters declaring cve_tool: vulnogram"
    - tools/ponymail/operations.md — "provider-wave cut date" → generic
      "project's release-cadence cut date"
    
    Behaviour unchanged. The skill+tool *behaviour* is already config-driven
    through <project-config>/; this change brings the framework's *prose* in
    line with that.
    
    Group 2 (skill business logic — clone-path probing, scope-label enumeration,
    title-normalisation regex literals) and Group 3 (vulnogram 
docstring/help-text
    examples) remain — those need genuine code changes and follow-up.
    
    Generated-by: Claude Code (Claude Opus 4.7)
---
 AGENTS.md                                    |  9 ++++-----
 docs/pr-management/README.md                 | 24 +++++++++++-------------
 docs/prerequisites.md                        |  6 ++----
 docs/security/how-to-fix-a-security-issue.md | 17 ++++++++++-------
 docs/security/process.md                     |  9 ++++-----
 tools/ponymail/operations.md                 |  2 +-
 tools/vulnogram/allocation.md                | 19 ++++++++++---------
 tools/vulnogram/tool.md                      |  5 +++--
 8 files changed, 45 insertions(+), 46 deletions(-)

diff --git a/AGENTS.md b/AGENTS.md
index b53e542..015dd8f 100644
--- a/AGENTS.md
+++ b/AGENTS.md
@@ -1157,9 +1157,9 @@ bare-name occurrence to the user.
 
 ### Other editorial guidelines
 
-- Project-specific naming rules (e.g. *"use `Dag` not `DAG`"*,
-  *"thousands of contributors"*, acronym casing) live in the active
-  project's naming-conventions file — for Airflow, see
+- Project-specific naming rules (e.g. acronym casing,
+  contributor-base size phrasing, project-name capitalisation
+  conventions) live in
   
[`<project-config>/naming-conventions.md`](<project-config>/naming-conventions.md).
 - Use em dashes (`—`) sparingly; prefer shorter sentences to dash-heavy ones.
 - Preserve the `doctoc` TOC markers at the top of each document. If you rename 
a heading, update
@@ -1217,8 +1217,7 @@ Currently available:
   yet, or when the issue has been closed as invalid / not-CVE-worthy / 
duplicate.
 - [`security-cve-allocate`](.claude/skills/security-cve-allocate/SKILL.md) — 
walks the
   user through allocating a CVE via the adopting project's CVE-tool
-  allocation form (for Airflow, ASF Vulnogram at
-  <https://cveprocess.apache.org/allocatecve>; see
+  allocation form (URL + tool declared in
   `<project-config>/project.md → CVE tooling`).
   **The allocation itself is PMC-gated** — only the adopting project's
   PMC members can submit the form. The skill asks up front whether
diff --git a/docs/pr-management/README.md b/docs/pr-management/README.md
index d1790c7..078d499 100644
--- a/docs/pr-management/README.md
+++ b/docs/pr-management/README.md
@@ -31,11 +31,11 @@ triage + review pass:
    with inline comments, posts on confirmation.
 
 Why a framework skill family? These skills were originally
-maintained inside `apache/airflow` as `breeze pr auto-triage` and
-`breeze pr stats` — useful for any ASF project with a meaningful
-contributor-PR queue, but locked behind airflow-specific
-toolchain. Lifting them into the framework lets other adopters
-reuse the playbook with their own
+maintained inside one ASF project's developer-tooling repo as
+`breeze pr auto-triage` and `breeze pr stats` — useful for any
+ASF project with a meaningful contributor-PR queue, but locked
+behind that project's local toolchain. Lifting them into the
+framework lets other adopters reuse the playbook with their own
 [adopter-config files](../../projects/_template/) for project-specific
 knobs (committers team handle, area-label prefix, comment-template
 wording, CI-check → doc-URL map, review-criteria source files).
@@ -60,14 +60,12 @@ the adopter's `<project-config>/` directory:
 | 
[`pr-management-triage-ci-check-map.md`](../../projects/_template/pr-management-triage-ci-check-map.md)
 | `pr-management-triage` |
 | 
[`pr-management-code-review-criteria.md`](../../projects/_template/pr-management-code-review-criteria.md)
 | `pr-management-code-review` |
 
-The framework currently ships with airflow-flavoured defaults
-inline in the supporting files of each skill (e.g.
-[`pr-management-triage/comment-templates.md`](../../.claude/skills/pr-management-triage/comment-templates.md)
-embeds airflow's PR-quality-criteria URL). A follow-up PR will
-complete the extraction so the skills read exclusively from
-`<project-config>/`. Until then, non-airflow adopters override by
-forking the relevant supporting file into their own
-`.claude/skills/<skill-name>/`.
+The skills read project-specific defaults from the `<project-config>/`
+files above. Adopters customise by editing their copy of each
+template; illustrative examples in skill prose may still use the
+patterns that motivated the framework (monorepo `<area>/` layout,
+`area:*` labels, etc.) — the *behaviour* is config-driven, the
+*example wording* is not.
 
 ## Cross-references
 
diff --git a/docs/prerequisites.md b/docs/prerequisites.md
index 3f9c3b6..c272bcd 100644
--- a/docs/prerequisites.md
+++ b/docs/prerequisites.md
@@ -108,8 +108,7 @@ the server side — only the project's PMC members can submit 
a CVE
 allocation. Non-PMC triagers can still run `security-cve-allocate`; the
 skill detects this up front (it asks *"are you a PMC member of
 `<PROJECT>`?"*) and produces a relay message for a PMC member to
-click through instead. For Airflow the concrete tool is ASF's
-Vulnogram at <https://cveprocess.apache.org/allocatecve>; see
+click through instead. The concrete tool + URL is declared in
 [`<project-config>/project.md → CVE 
tooling`](<project-config>/project.md#cve-tooling).
 
 The same PMC gate applies to ponymail URL lookups on private ASF
@@ -134,8 +133,7 @@ checks and tests, pushes a branch to your fork, and opens a 
PR via
   directory — the path comes from `.apache-steward-overrides/user.md →
   environment.upstream_clone`, set interactively the first time
   you run the skill;
-- the adopting project's dev toolchain installed per its contributing
-  docs — for Airflow see
+- the adopting project's dev toolchain installed per
   [`<project-config>/fix-workflow.md → 
Toolchain`](<project-config>/fix-workflow.md#toolchain);
 - a remote named for your GitHub fork that `gh pr create` can push
   to.
diff --git a/docs/security/how-to-fix-a-security-issue.md 
b/docs/security/how-to-fix-a-security-issue.md
index b8bfa90..cd713c8 100644
--- a/docs/security/how-to-fix-a-security-issue.md
+++ b/docs/security/how-to-fix-a-security-issue.md
@@ -13,9 +13,10 @@
 High-level overview of how the security team handles a vulnerability
 report from inbound email through published CVE. This page is
 project-agnostic; the concrete lists, repos, release trains, and
-tooling for the adopting project live under
-[`<project-config>/`](../../projects/) — for Airflow, see
-[`<project-config>/project.md`](<project-config>/project.md).
+tooling for the adopting project live in
+[`<project-config>/project.md`](<project-config>/project.md)
+(adopters bootstrap from the
+[`projects/_template/`](../../projects/_template/) scaffold).
 
 The end-to-end 16-step lifecycle is in [`README.md`](../../README.md). This
 page is the two-minute summary.
@@ -68,8 +69,9 @@ page is the two-minute summary.
 
 3. **CVE allocation.**
    A PMC member of the adopting project allocates a CVE through the
-   project's CVE tool (for Airflow, ASF Vulnogram). The allocation
-   is PMC-gated; non-PMC triagers use the
+   project's CVE tool (declared in
+   [`<project-config>/project.md → CVE 
tooling`](<project-config>/project.md#cve-tooling)).
+   The allocation is PMC-gated; non-PMC triagers use the
    
[`security-cve-allocate`](../../.claude/skills/security-cve-allocate/SKILL.md) 
skill to
    produce a relay message for a PMC member to click through.
 
@@ -92,8 +94,9 @@ page is the two-minute summary.
    The security team encourages responsible vulnerability disclosure
    and continues to improve the project's security posture, security
    features, and handling process. The adopting project's security
-   model (for Airflow, 
[`<project-config>/security-model.md`](<project-config>/security-model.md))
-   is the authoritative reference for what counts as a vulnerability.
+   model — declared in
+   [`<project-config>/security-model.md`](<project-config>/security-model.md)
+   — is the authoritative reference for what counts as a vulnerability.
 
 ## Best practices
 
diff --git a/docs/security/process.md b/docs/security/process.md
index 8d968dd..2fdc2e6 100644
--- a/docs/security/process.md
+++ b/docs/security/process.md
@@ -187,9 +187,8 @@ attachment is regenerated so both finders land in 
`credits[]`.
 ### Step 6 — Allocate the CVE
 
 [`security-cve-allocate`](../../.claude/skills/security-cve-allocate/SKILL.md)
-opens the project's CVE allocation tool (for Airflow, ASF Vulnogram
-at <https://cveprocess.apache.org/allocatecve>; in general see
-[`<project-config>/project.md → CVE 
tooling`](<project-config>/project.md#cve-tooling)),
+opens the project's CVE allocation tool (URL + tool name declared
+in [`<project-config>/project.md → CVE 
tooling`](<project-config>/project.md#cve-tooling)),
 normalises the title per
 
[`<project-config>/title-normalization.md`](<project-config>/title-normalization.md),
 and — if the triager isn't on the PMC — builds an `@`-mention relay
@@ -248,8 +247,8 @@ When the `<upstream>` PR merges, swap `pr created` → `pr 
merged`
 and set the milestone of the release the fix will ship in (per
 [`<project-config>/milestones.md`](<project-config>/milestones.md)).
 Close any private variant in `<tracker>`. The tracker waits at
-`pr merged` until the release ships — this can be hours (fast core
-patches) or weeks (provider waves on a fixed cadence).
+`pr merged` until the release ships — this can be hours (a hot-fix
+patch release) or weeks (a regular project-cadence release).
 
 ### Step 12 — Fix released
 
diff --git a/tools/ponymail/operations.md b/tools/ponymail/operations.md
index 2305233..6335b4d 100644
--- a/tools/ponymail/operations.md
+++ b/tools/ponymail/operations.md
@@ -288,7 +288,7 @@ mcp__ponymail__search_list(
 ```
 
 The `subject:` filter keeps the result set tight; the `query` adds
-the version string or the provider-wave cut date.
+the version string or the project's release-cadence cut date.
 
 ## Hard limitations
 
diff --git a/tools/vulnogram/allocation.md b/tools/vulnogram/allocation.md
index 846a3a7..90289eb 100644
--- a/tools/vulnogram/allocation.md
+++ b/tools/vulnogram/allocation.md
@@ -59,17 +59,17 @@ button grey out.
   triager (or the PMC member) can then re-invoke `security-cve-allocate` with
   the CVE ID as an override to resume from the wire-back step.
 
-Concrete PMC-member handles live in the project's roster file (for
-Airflow, `<project-config>/release-trains.md`); the canonical live
-source is the ASF project page,
+Concrete PMC-member handles live in the project's roster file at
+`<project-config>/release-trains.md`; the canonical live source is
+the ASF project page,
 `https://projects.apache.org/committee.html?<project>`.
 
 ## Form fields and where the skill sources them
 
 | Vulnogram form field | Source in the tracker |
 |---|---|
-| **Title** | Tracker title, passed through the project's title-normalisation 
cascade (for Airflow, `<project-config>/title-normalization.md`). The CNA 
container already scopes the title to the product, so any project prefix 
(`<vendor>: <product>:` (e.g. `Apache Airflow:`) etc.) must be stripped before 
pasting. |
-| **Product** | Derived from the tracker's scope label via the per-project 
scope → product mapping (for Airflow, `<project-config>/scope-labels.md`). |
+| **Title** | Tracker title, passed through the project's title-normalisation 
cascade in 
[`<project-config>/title-normalization.md`](<project-config>/title-normalization.md).
 The CNA container already scopes the title to the product, so any project 
prefix (`<vendor>: <product>:`) must be stripped before pasting. |
+| **Product** | Derived from the tracker's scope label via the per-project 
scope → product mapping in 
[`<project-config>/scope-labels.md`](<project-config>/scope-labels.md). |
 | **CWE** | Tracker body's *cwe* field (role-name — 
`<project-config>/project.md` declares the concrete GitHub heading for this 
project). `_No response_` → the allocator fills it at form time. |
 | **Affected versions** | Tracker body's *affected-versions* field. |
 | **Summary** | Tracker body's *public-summary* field. |
@@ -97,9 +97,10 @@ are tool-agnostic; the Vulnogram-specific output is:
 
 ## Fatal mis-allocation — wrong product
 
-Allocating a CVE against the wrong product (e.g. `apache-airflow`
-when the fix actually lives in `apache-airflow-providers-smtp`) is a
-multi-hour cleanup involving Vulnogram support and the release
-manager. The `security-cve-allocate` skill's Step 1 blocker checks refuse to
+Allocating a CVE against the wrong product within a multi-package
+project family (e.g. against the project's umbrella package when
+the fix actually lives in a satellite / plugin / subproject
+package) is a multi-hour cleanup involving Vulnogram support and
+the release manager. The `security-cve-allocate` skill's Step 1 blocker checks 
refuse to
 proceed without a scope label precisely because of this — see the
 skill file for the hard-check details.
diff --git a/tools/vulnogram/tool.md b/tools/vulnogram/tool.md
index 63982fd..8ed2b2d 100644
--- a/tools/vulnogram/tool.md
+++ b/tools/vulnogram/tool.md
@@ -54,8 +54,9 @@ the project's CVE tool"*, *"walk the user through the 
allocation
 flow"*, *"capture the reviewer-comment signal"*. They then delegate
 to the project's declared `cve_tool`:
 
-- For Airflow (`cve_tool: vulnogram`), they delegate to the recipes in
-  this directory and to the generator under `generate-cve-json/`.
+- For adopters declaring `cve_tool: vulnogram`, the skills delegate
+  to the recipes in this directory and to the generator under
+  `generate-cve-json/`.
 - For a hypothetical project using a different CNA tool (a private
   Vulnogram instance, an in-house CNA system, a commercial CVE
   management platform), that project would:

Reply via email to