Hi,

We already have a skill to check releases, but I thought about it and decided 
to create an improved hybrid version.

The mechanical part is a Python script, check_rc.py, using the standard library 
plus GPG, with no MCP and no third-party packages. It covers signatures, 
checksums, naming, DISCLAIMER, LICENSE and NOTICE, headers, bundled third-party 
code, binaries, and the archive against the git tag. The same archive gives the 
same findings every time, so that part may be useful on its own.

The rest of the skill uses six read-only MCP servers: Policy MCP for the 
current rules and the Incubator mail and release MCPs for the podling's own 
vote history and what it released before, see the README for the full list.  
None of the MCPs are required, and the review still works without them, but at 
reduced coverage.

Findings are graded. A fail is a fact that needs no judgment. A candidate is 
something a person has to look at, and most turn out to be fine. It reports for 
a person and never votes.

There are no evals, but there is a regression test, and I ran it blind over 50 
release candidates from 40 podlings between January 2024 and September 2026, 
reading only the opening vote email before comparing with the thread. The 
results: 46 correct calls, one partial, two missed a real blocker, and one 
false blocker. So it won't catch everything, but it also surfaced 13 problems 
nobody raised, and four releases passed their vote carrying a clear policy 
violation. So it seems useful to me.

Code is here:
https://github.com/apache/incubator/tree/master/tools/skills/releasecheck

Each run consumes between 60k and 90k tokens.

Kind regards,
Justin
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to