Skip to content

fix(_template): drop Apache Airflow residue from the templates - #1132

Merged
potiuk merged 1 commit into
apache:mainfrom
potiuk:fix/template-genericity-airflow-residue
Aug 30, 2026
Merged

fix(_template): drop Apache Airflow residue from the templates#1132
potiuk merged 1 commit into
apache:mainfrom
potiuk:fix/template-genericity-airflow-residue

Conversation

@potiuk

@potiuk potiuk commented Aug 30, 2026

Copy link
Copy Markdown
Member

/magpie-setup upgrade's Step 6d template-genericity audit flagged these on an adopter repo. The _template scaffolds are meant to be project-agnostic — an adopter copies them and fills in placeholders — but four spots carried the framework's original adopter's specifics as if they were generic:

File Was Now
reviewer-roster.md airflow/jobs/ as the unmarked path-prefix sample (shape comment + Notes) src/scheduler/ — reads as a shape, not one project's tree
security-intake-config.md "The ASF defaults reproduce the Apache Airflow security-team workflow" "…the standard ASF security-team workflow"
pr-management-quick-merge-config.md tier_b_allow_globs shipped **/example_dags/**, meaningful only in an Airflow tree; prose called the defaults Airflow-shaped **/examples/** + **/example_*/**, and prose says "a Python monorepo"
candidate-rules.md the skill's built-in default list carried the same glob updated in lock-step so template and skill don't drift

The glob replacement is a superset of the old one — **/example_*/** still matches example_dags/, so an Airflow adopter's example-DAG PRs stay in tier B.

Deliberately left alone: everything that already marks itself as an example — the release-management-config.md "filled example" section, the mentoring-welcome-config.md filled-in block, and the Example: apache/airflow-… cells. Those are calibration aids, not residue.

The `_template` scaffolds are meant to be project-agnostic — an adopter
copies them and fills in placeholders. Four spots still carried the
framework's original adopter's specifics as if they were generic:

- `reviewer-roster.md`: the "shape per entry" sample used
  `airflow/jobs/` as its path-prefix example, unmarked, and the Notes
  section repeated it. Now `src/scheduler/`, which reads as a shape
  rather than as one project's tree.
- `security-intake-config.md`: the ASF defaults were described as
  reproducing "the Apache Airflow security-team workflow". They
  reproduce the standard ASF one; naming a single project made the
  sentence look like a calibration an adopter had to match.
- `pr-management-quick-merge-config.md`: the `tier_b_allow_globs`
  default shipped `**/example_dags/**`, which is meaningful only in an
  Airflow tree. Replaced with `**/examples/**` + `**/example_*/**` —
  generic, and a superset of the old glob, so an Airflow adopter's
  example-DAG PRs stay in tier B. The prose above the globs no longer
  describes the default set as Airflow-shaped.
- `candidate-rules.md`: the skill's built-in default list carries the
  same globs, updated in lock-step so template and skill do not drift.

Deliberately left alone: every spot that already marks itself as an
example — the `release-management-config.md` "filled example" section,
the `mentoring-welcome-config.md` filled-in block, and the
`Example: apache/airflow-...` cells. Those are calibration aids, not
residue.

Generated-by: Claude Code (Claude Opus 5)
@potiuk
potiuk merged commit a761475 into apache:main Aug 30, 2026
10 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant