Repository navigation
A feature release following 6.2.1. The installed package adds opt-in eval-result v0.2 export and verification, changes the default DSSE key ID handling, and fixes two pytest receipt behaviours. The repository also adds SCITT statement identification material, a pilot profile and contract, and an incremental Merkle accumulator.
python -m pip install --upgrade proofbundle==6.3.0
Highlights
- DSSE key IDs are included by default when available. Envelopes created by
dsse.sign_envelope, including in-toto exports, carry the signer's OpenSSH SHA256 fingerprint as an unsignedkeyidby default when the signer exposes its Ed25519 public key. Usekeyid=""to omit it; signers without an exposed Ed25519 public key omit it unless supplied explicitly. - eval-result v0.2 for the revised in-toto draft. An opt-in export and verification under its own predicate type; exports still default to v0.1, and
--verifyaccepts both. - Statement identification material for SCITT. The repository includes requirements and a verification package in
docs/scitt/statement_identification/. - Repository pilot material and an incremental accumulator. A profile and vectors for the shipped decision and outcome predicates, the first pilot contract, and an incremental Merkle accumulator with a restart rule are provided under
docs/andtools/.
Verify this release yourself
Use the checksums and build provenance to check the downloaded files. To check the signed pre-tag audit receipt, use a clone at the source commit identified by the build attestation. The commands, prerequisites and limits are in Verifying a published release.
What a receipt still does not prove
A valid signature binds the signed content to the signing key. It does not make a reported result true.
Measured on the reference machine
The budget cost axis was measured on the reference machine on 2026-10-13. All 12 axes and all 7 combinations passed, and none was skipped. The calibration factor maschinenfaktor_schnellstes_ende is 1.0581, the ratio of the fastest recorded calibration time in this run to the median of the earlier reference recording. The timing limits used the fastest-sample setting, recorded as latte_aus_der_klammer=schnellstes_ende. The measurement record lists every axis and combination.
Details
All 11 entries, one line each, as in the CHANGELOG
Added
- Add opt-in eval-result v0.2 export and verification under
https://b7n0de.com/attestation/eval-result/v0.2for the revised in-toto draft. Export withproofbundle intoto --predicate-version v0.2 --evaluator <URI>. v0.2 requires anevaluator, identifies each model and dataset by exactly one of a salted commitment or a digest-bearing ResourceDescriptor, and records artifact digests inevidence[]. Receipt evidence uses the SHA-256 of the receipt file's exact bytes. Exports still default to v0.1;--verifyaccepts both versions. Seedocs/IN_TOTO_PROFILE.mdfor mappings and migration details. - An independent reading of draft-abak-agent-control-delivery-evidence-01. Adds
interop/acde_01, a verifier-side implementation derived from our reading of the text of -01 alone, with 130 requirement sentences, 146 vectors and a run record with agreement 108, contradiction 0, ambiguity 14 and not implemented 8. Nothing outsideinterop/acde_01changes. - Add SCITT statement identification requirements and a package verifiable against them.
- Add a pilot profile and vectors for the shipped decision and outcome predicates.
- Document which capabilities ship in 6.1.0 and which are available only on the main branch at the documented comparison point.
- Add an incremental Merkle accumulator alongside the bundle emitter, with a restart rule and before-and-after run records.
- Add the first pilot contract for comparing approved agent actions with GitHub evidence.
Changed
- DSSE envelopes created by
dsse.sign_envelope, including in-toto exports, now include the signer's OpenSSH SHA256 fingerprint askeyidby default. Usekeyid=""to omit it; signers without an exposed Ed25519 public key omit it unless supplied explicitly. The key ID is unsigned. The pinned-key DSSE and in-toto verifiers, includingpb_verify_rs verify-dsse, do not use it to select a key; the trust pack retains its key-selection rules. Archived receipts and regression fixtures may still omit it and be rejected by consumers that require it. Seedocs/IN_TOTO_PROFILE.mdfor interoperability notes. - Pull-request label changes no longer restart the main CI workflow. The
landunglabel starts mutation checks in a separate workflow; new commits rerun them while the label is present, and removing the label cancels them.
Fixed
- The pytest plugin now skips receipt generation and reports why when
PROOFBUNDLE_METRICis set to a value other thanpass_rate, preventing pass-rate values from being labelled as another metric. Unset orpass_ratecontinues to select the pass-rate metric. - The pytest plugin now decides
passedfrom the exact counts of passed and run tests instead of from the pass rate rounded to six decimal places. With the>=comparator, two passes out of three no longer pass a threshold of0.666667.
Full changelog · Known limitations for 6.3.0 · Earlier risk record · Release scope · proofbundle.dev
Created with AI assistance. Reviewed and published by me.