Skip to content

v5.1.0

Choose a tag to compare

@github-actions github-actions released this 02 Sep 11:16
· 446 commits to main since this release
06ee9ef

What is in 5.1.0

A receipt kind for attesting that an automated reviewer looked at a change, proofbundle.agent_review, with the same signature and chain semantics as the existing kinds. The automation verdict path, the section and digest handling, and the conformance corpus for it all grew with it.

The full list of changes is in CHANGELOG.md under 5.1.0. Two entries there are worth reading before upgrading, because they change behaviour rather than adding to it: automation_summary now reports a different shape at 17 call sites across 7 modules, and referencesResolved moves from false to true in a case where the old value was simply wrong.

The audit outcome was PARTIAL, and this is the honest headline

This release was taken through a closing round of the adversarial deep gate, six lenses on the frozen shipped package rather than on src/ alone. The verdict is PARTIAL_GATE_NO_WITHSTANDS with declared residual risk. It is not WITHSTANDS_DEEPGATE.

Eight findings remain open. Each is listed in RESTRISIKO_510.md at the repository root with its class and a ruling on whether it can reach a user of the shipped package. That file is bound by sha256 inside the pre-tag audit receipt, so the residual risk cannot be detached from the attestation. The short version:

  • R1 a shipped specification artefact contradicts the shipped code, and has done so since 5.0.0
  • R2 a subfield now reads safer than before, against the invariant this round enforced
  • R3 the verifier raises a raw exception on a non mapping envelope
  • R4 four verify sites report an internal error for a truthy non list
  • R5 the guard meant to catch changelog omissions is blind to content
  • R6 the witness cannot see the lenses of a round run in a foreign repository
  • R7 three numbers in shipped artefacts are wrong, each already wrong when written

R0 was resolved during the round: no test result had been a required check on main, and seven binding checks now are.

Verifying this release yourself

The pre-tag audit receipt is audit_artifacts/510/pre_tag_receipt_v5.1.0.json. It binds version 5.1.0, the tree digest 997f4bc5f1d0b947289c3ace932f04d128c58709c8513d35e7078af7cc7aed9b, and the gate that judges it. It was signed under key custody; the signing key never reaches the machine that assembles the receipt. Running python scripts/pre_tag_audit_gate.py --strict verifies it and exits 0.

One caveat about reading that receipt, stated here because it will otherwise mislead: its audit_exit_code field is 0 and carries no information. The verifier rejects every other value, so a valid receipt can only ever show 0 and cannot express a verdict at all. The verdict is in audit_command in words. This is recorded as a finding against the receipt format itself.

Prepared with AI agent involvement, reviewed and submitted under human oversight.

Every change in this release

The full list of merged pull requests is on the compare page, with each title as it was written.

Full Changelog: v5.0.0...v5.1.0