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

   
   ## Summary
   
   Adds the `release-rc-cut` skill (Drafting mode) covering Steps 4 to 5 of the
   release-management lifecycle: it emits paste-ready command sequences to tag 
an
   RC, build artefacts, sign each one, generate checksums, and stage to the
   adopter's distribution backend. The skill runs nothing locally and never
   handles the RM's signing key. Registered in `.agents` / `.claude` / `.github`
   skill dirs and in the labels-and-capabilities table (`capability:resolve`).
   
   Ships a 9-case behavioral eval suite across three steps (pre-flight, 
tag/build/
   sign/checksum, staging), plus a small grading enhancement to the eval runner.
   
   ## Skill behaviour highlights
   
   - Golden rules enforce: agent never runs commands locally, never touches the
     signing key, SHA-512 only by default (SHA-256 when configured, MD5/SHA-1
     never), every state change is a proposal, and a `dist/release/` denylist
     (RC staging is `dist/dev/` only).
   - External content (planning issues, build config) is treated as data, with 
an
     adversarial eval case for prompt injection.
   
   ## Eval runner change
   
   - Deterministic assertions now honor `"negate": true`, so a predicate can
     assert the *absence* of a match (`has_no_passphrase_arg`, `has_no_md5sum`,
     `has_no_sha1sum`). A spec error (`None`) passes through unflipped, so a 
real
     `--passphrase` leak is still caught. Covered by two new unit tests.
   
   ## Eval fixtures
   
   - `has_sha256sum` lives in the suite-level `assertions.json` (the runner 
reads
     assertions only from the suite `fixtures/` dir; per-case files are 
ignored).
     Removed five dead per-case `assertions.json` files.
   - Added `grading-schema.json` marking `section_2_build_command` as a prose
     field, since the model may emit the build command bare or wrapped with the
     spec's `# Run at the release tag <version>-<rcN>` comment header. Both are
     correct, so exact match was brittle.
   - README run commands corrected (`--directory` +
   
   ## 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