andreahlert opened a new pull request, #163: URL: https://github.com/apache/airflow-steward/pull/163
## Summary Propose the **release-management skill family** docs-first, mirroring the Mentoring precedent (spec before code). Ten `release-*` skills compose the canonical 14-step ASF release lifecycle, from planning issue and version bump through `[ANNOUNCE]`, archive sweep, and per-release audit log. The family lands as docs only in this PR; the skills follow flagged `experimental` in subsequent PRs. Non-ASF adopters are first-class. Three backend switches parametrise distribution (`svnpubsub` | `github-releases` | `s3` | `self-hosted`), approval (`dev-list-vote` | `github-discussion` | `pr-approval` | `maintainer-roster`), and announcement (`announce-list` | `github-release-notes` | `site-post` | `discord-channel`). The 14 steps stay identical across backends; only the command set the agent emits changes. ASF TLPs are pinned to `dev-list-vote` and `announce-list` per [release-policy.html](https://www.apache.org/legal/release-policy.html). Two non-negotiable state-change boundaries cross every Drafting skill: - Agent never holds, invokes, or proxies the Release Manager's private signing key. Steps 3, 4, 10 emit paste-ready recipes; the RM signs and runs `svn commit` as themselves. - Agent never publishes. Steps 10 (`svn mv dist/dev → dist/release`) and 11 (`[ANNOUNCE]` send, site bump merge) are the moments of release; the human commit is the act of release. Mirrors [`security-cve-allocate`](.claude/skills/security-cve-allocate/SKILL.md) (Vulnogram URL + paste-ready JSON, human submits) and satisfies [RFC-AI-0004 Principle 1](docs/rfcs/RFC-AI-0004.md). ### What lands - [`docs/release-management/README.md`](docs/release-management/README.md), family overview, skill table, state-change boundaries - [`docs/release-management/process.md`](docs/release-management/process.md), 14-step lifecycle with Mermaid flowchart, per-step description, label state diagram, Adopter backends table - [`docs/release-management/spec.md`](docs/release-management/spec.md), per-skill scope, state-change boundary, hand-off protocol, adopter contract - [`projects/_template/release-management-config.md`](projects/_template/release-management-config.md), family-wide adopter contract with the 3 backend switches - [`projects/_template/release-build.md`](projects/_template/release-build.md), build invocation, digest set, binary-exclude rules - [`projects/_template/pmc-roster.md`](projects/_template/pmc-roster.md), roster used by `release-vote-tally` to classify binding vs non-binding - [`projects/_template/site-repo.md`](projects/_template/site-repo.md), site-bump PR target for `release-announce-draft` - Wires the family into [`README.md`](README.md) (root) and [`docs/modes.md`](docs/modes.md) under Triage + Drafting subsections, each row marked `proposed` Operationalises the [`MISSION.md` § Initial Goals](MISSION.md) commitment to *cut a first Apache release through the standard process within 3 months of resolution adoption*, with non-ASF adopters served from day one. ### Status **Proposed.** No `release-*` skill code in this PR. Promotion of any skill from `experimental` to default-on, or from Drafting to a state-changing lane, requires evidence sourced from Release Managers and binding voters that the project's release process is healthier (fewer stalled RCs, shorter time-to-`[ANNOUNCE]`, fewer reverted promotions), not throughput numbers alone. ## Test plan - [ ] `prek run --all-files` green (markdownlint, typos, doctoc, end-of-file, trailing whitespace) - [ ] `lychee --offline` green across the 7 new + 2 modified files - [ ] doctoc TOCs reflect current H2/H3 structure on all 4 docs files + 4 scaffolds - [ ] Cross-references between [`process.md`](docs/release-management/process.md), [`spec.md`](docs/release-management/spec.md), [`README.md`](docs/release-management/README.md), and [`projects/_template/release-management-config.md`](projects/_template/release-management-config.md) resolve - [ ] [`docs/modes.md`](docs/modes.md) rows match the skill table in [`README.md`](docs/release-management/README.md) - [ ] Adopter contract required-keys list in [`spec.md`](docs/release-management/spec.md) matches the keys actually defined in [`projects/_template/release-management-config.md`](projects/_template/release-management-config.md) - [ ] Non-ASF backend switches in [`process.md` § Adopter backends](docs/release-management/process.md) align with the switches block in [`release-management-config.md` § Backends](projects/_template/release-management-config.md) - [ ] ASF state-change boundaries (key, publication, mail, labels) consistent between [`spec.md`](docs/release-management/spec.md) and the Drafting-row purposes in [`README.md`](docs/release-management/README.md) -- 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]
