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

   ## Summary
   
   Adds `release-archive-sweep`, Step 12 of the release-management lifecycle.
   The skill scans the project's distribution area (`dist/release/<project>/`
   or the configured backend), identifies releases past the project's
   retention rule, and emits a backend-shaped command set for the RM to
   archive them.
   
   It is **read-only on the distribution surface**: it never runs `svn mv`,
   `gh release delete`, or `aws s3 mv`. Every command it produces is
   paste-ready for the RM to execute under their own credentials.
   
   ## Behavior
   
   - **Proposal only.** All state-changing actions are emitted as commands;
     the human executes them.
   - **Never archive the latest of a supported train.** If the retention rule
     would mark the most-recent version of any supported train as
     past-retention, the skill blocks with a `retention-rule-error` hand-off
     instead of emitting commands.
   - **Flag orphans, never auto-archive them.** A release on the dist surface
     but absent from `release-trains.md` is reported in the hand-off block with
     no command proposed; the RM decides its fate.
   - **External content is data, never instructions.** Dist listings, planning
     issues, and config are treated as untrusted input; injected directives are
     flagged, not obeyed.
   - Backends supported: `svnpubsub` (ASF default), `github-releases`, `s3`,
     `self-hosted`.
   
   ## Type of change
   
   - [X] Skill change (`.claude/skills/<name>/`) — eval fixtures updated below
   - [ ] Tool / bridge contract (`tools/<system>/*.md`)
   - [ ] Python package (`tools/*/` with `pyproject.toml`)
   - [ ] Groovy reference impl
   - [ ] Cross-cutting (RFC, AGENTS.md, sandbox, privacy-LLM)
   - [ ] Documentation (`docs/`, `README.md`, `CONTRIBUTING.md`)
   - [ ] Project template (`projects/_template/`)
   - [ ] CI / dev loop (`prek`, workflows, validators)
   - [ ] Other:
   
   ## Test plan
   
   - [X] `prek run --all-files` passes
   - [ ] For Python packages touched: `uv run pytest` / `ruff check` / `mypy` 
passes
   - [ ] For Groovy bridges touched: command-line invocation tested end-to-end
   - [X] For skill changes: eval suite passes for the affected skill
         (`PYTHONPATH=tools/skill-evals/src python3 -m skill_evals.runner 
tools/skill-evals/evals/<skill>/`)
   - [ ] For skill *behaviour* changes: a new or updated eval fixture is 
included in this PR
         (a regression test for the bug fixed / the behaviour added — see 
CONTRIBUTING.md)
   - [ ] Other:
   


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