andreahlert opened a new pull request, #61:
URL: https://github.com/apache/airflow-steward/pull/61

   ## Summary
   
   [`MISSION.md`](MISSION.md) frames the framework around four toggleable 
**modes** of agent-assisted repository maintainership (A: triage, B: mentoring, 
C: agent-authored fixes with human review, D: narrowly-scoped auto-merge). The 
codebase did not yet reflect that taxonomy. This PR surfaces it in three 
layers, smallest blast radius first:
   
   1. **[`docs/modes.md`](docs/modes.md)** — honest snapshot mapping every 
shipped skill to a mode (or to *outside the modes* for the setup family) with a 
`stable / experimental / proposed / off` status legend. Mode B is **proposed** 
(no skill yet), Mode D is **off** (deliberately not implemented per 
[`MISSION.md` § Mode D](MISSION.md#technical-scope)). Includes a mode lifecycle 
and explicit cross-references to MISSION, README, and AGENTS.
   2. **`mode:` frontmatter on SKILL.md** — every skill that fits a mode gets 
`mode: A` or `mode: C`. Setup-family skills are infrastructure and 
intentionally omit the field. `tools/skill-validator` is extended to recognise 
`mode` as an optional frontmatter key and validate the value against `{A, B, 
C}` (Mode D is excluded because shipping a `mode: D` skill would be a 
sequencing violation, not a typo). New unit tests cover both branches.
   3. **README + .asf.yaml** — the `Skill families` table gains a `Modes` 
column linking to `docs/modes.md`; the GitHub repo description widens from 
"security vulnerabilities" to "agent-assisted maintainership", since security 
is one mode of one family rather than the project's identity.
   
   ## Why this ordering
   
   The three commits are independently reviewable but ship together because 
they are mutually load-bearing: the validator change is meaningless without 
`mode:` in SKILL.md, the README column is meaningless without `docs/modes.md` 
to link to. Splitting them would force readers to context-switch across PRs to 
evaluate any single piece. They land as one PR with three commits so each layer 
remains greppable in `git log`.
   
   ## Test plan
   
   - [x] `uv run --project tools/skill-validator pytest -k 'not 
test_real_repo_passes'` — 33 passed (the `test_real_repo_passes` integration 
test fails on `main` with 191 pre-existing link-validation violations and is 
out of scope for this PR)
   - [x] `prek run --files <changed-files>` clean on every commit
   - [x] `skill-validate` reports zero new mode-related violations against the 
real repo
   - [ ] Maintainer review of the proposed/off statuses in 
[`docs/modes.md`](docs/modes.md) — these are MISSION interpretations and should 
match the PMC's read of the sequencing commitments
   - [ ] Maintainer confirmation that the .asf.yaml description rewording is 
the framing the project wants on its GitHub card
   
   ## Out of scope
   
   - Implementing Mode B (a separate, larger workstream — spec PR first, then 
runtime).
   - Generic Mode C beyond security (lint fixes, audit-tool findings, failing 
tests, doc holes).
   - Fixing the pre-existing 191 link-validation violations the integration 
test surfaces.


-- 
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]

Reply via email to