proofbundle 5.1.0__tar.gz → 5.1.0.post1__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- proofbundle-5.1.0.post1/PKG-INFO +287 -0
- proofbundle-5.1.0.post1/README.md +220 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/docs/readiness_pack/MANIFEST.sha256 +1 -1
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/docs/readiness_pack/PROGRESS.md +1 -1
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/docs/readiness_pack/proofbundle/readiness_pack.bundle.json +4 -4
- proofbundle-5.1.0.post1/docs/readiness_pack/proofbundle/readiness_pack.pub.b64 +1 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/pyproject.toml +1 -1
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/scripts/audit_candidate_matrix.py +51 -3
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/scripts/check_version_and_changelog.py +64 -3
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/src/proofbundle/__init__.py +1 -1
- proofbundle-5.1.0.post1/src/proofbundle.egg-info/PKG-INFO +287 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/src/proofbundle.egg-info/SOURCES.txt +1 -0
- proofbundle-5.1.0.post1/tests/test_version_single_source.py +382 -0
- proofbundle-5.1.0/PKG-INFO +0 -314
- proofbundle-5.1.0/README.md +0 -247
- proofbundle-5.1.0/docs/readiness_pack/proofbundle/readiness_pack.pub.b64 +0 -1
- proofbundle-5.1.0/src/proofbundle.egg-info/PKG-INFO +0 -314
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/LICENSE +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/MANIFEST.in +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/Makefile +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/conformance/README.md +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/conformance/agent_review/_generator/build_vectors.py +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/conformance/agent_review/agent-review-counter-proof-a-foreign-key-cannot-supersede-our-receipt/case.json +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/conformance/agent_review/agent-review-counter-proof-a-foreign-key-cannot-supersede-our-receipt/chain.json +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/conformance/agent_review/agent-review-counter-proof-a-superseded-predecessor-must-still-be-present/case.json +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/conformance/agent_review/agent-review-counter-proof-a-superseded-predecessor-must-still-be-present/chain.json +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/conformance/agent_review/agent-review-counter-proof-anchored-time-needs-evidence/case.json +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/conformance/agent_review/agent-review-counter-proof-anchored-time-needs-evidence/predicate.json +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/conformance/agent_review/agent-review-counter-proof-assurance-cannot-be-self-raised/case.json +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/conformance/agent_review/agent-review-counter-proof-assurance-cannot-be-self-raised/predicate.json +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/conformance/agent_review/agent-review-counter-proof-complete-needs-an-expectation/case.json +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/conformance/agent_review/agent-review-counter-proof-complete-needs-an-expectation/predicate.json +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/conformance/agent_review/agent-review-counter-proof-duplicate-disclosure-block-fails-closed/body.json +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/conformance/agent_review/agent-review-counter-proof-duplicate-disclosure-block-fails-closed/case.json +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/conformance/agent_review/agent-review-counter-proof-findings-root-covers-the-list/case.json +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/conformance/agent_review/agent-review-counter-proof-findings-root-covers-the-list/envelope.json +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/conformance/agent_review/agent-review-counter-proof-gap-duty-cannot-be-switched-off/case.json +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/conformance/agent_review/agent-review-counter-proof-gap-duty-cannot-be-switched-off/predicate.json +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/conformance/agent_review/agent-review-counter-proof-introducing-the-first-block-moves-the-digest/bodies.json +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/conformance/agent_review/agent-review-counter-proof-introducing-the-first-block-moves-the-digest/case.json +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/conformance/agent_review/agent-review-counter-proof-partial-must-name-its-gap/case.json +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/conformance/agent_review/agent-review-counter-proof-partial-must-name-its-gap/predicate.json +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/conformance/agent_review/agent-review-counter-proof-receipt-does-not-travel-between-subjects/case.json +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/conformance/agent_review/agent-review-counter-proof-receipt-does-not-travel-between-subjects/envelope.json +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/conformance/agent_review/agent-review-positive-control-absent-expectation-is-reported/case.json +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/conformance/agent_review/agent-review-positive-control-absent-expectation-is-reported/envelope.json +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/conformance/agent_review/agent-review-positive-control-emit-verify-roundtrip/case.json +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/conformance/agent_review/agent-review-positive-control-emit-verify-roundtrip/predicate.json +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/conformance/agent_review/agent-review-positive-control-prepare-then-fill-keeps-the-digest/bodies.json +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/conformance/agent_review/agent-review-positive-control-prepare-then-fill-keeps-the-digest/case.json +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/conformance/agent_review/agent-review-positive-control-rerendered-block-keeps-body-core/bodies.json +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/conformance/agent_review/agent-review-positive-control-rerendered-block-keeps-body-core/case.json +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/conformance/agent_review/agent-review-positive-control-supersession-names-the-current-receipt/case.json +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/conformance/agent_review/agent-review-positive-control-supersession-names-the-current-receipt/chain.json +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/conformance/agent_review/agent-review-positive-control-valid-self-declared/case.json +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/conformance/agent_review/agent-review-positive-control-valid-self-declared/envelope.json +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/conformance/agent_review/publickey.hex +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/conformance/bundle/coherent-rewrap-fails-expected-root/bundle.json +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/conformance/bundle/coherent-rewrap-fails-expected-root/case.json +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/conformance/bundle/coherent-rewrap-verifies-no-policy/bundle.json +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/conformance/bundle/coherent-rewrap-verifies-no-policy/case.json +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/conformance/bundle/corrupted-signature/bundle.json +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/conformance/bundle/corrupted-signature/case.json +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/conformance/bundle/duplicate-json-key/bundle.json +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/conformance/bundle/duplicate-json-key/case.json +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/conformance/bundle/forged-anchor-own-frozen/bundle.json +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/conformance/bundle/forged-anchor-own-frozen/case.json +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/conformance/bundle/n1-eval-sdjwt-graft-non-eval/bundle.json +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/conformance/bundle/n1-eval-sdjwt-graft-non-eval/case.json +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/conformance/bundle/sd-jwt-forged-issuer-identity/bundle.json +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/conformance/bundle/sd-jwt-forged-issuer-identity/case.json +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/conformance/bundle/sd-jwt-signed-but-unbound/bundle.json +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/conformance/bundle/sd-jwt-signed-but-unbound/case.json +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/conformance/bundle/sd-jwt-unsigned-unauthenticated/bundle.json +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/conformance/bundle/sd-jwt-unsigned-unauthenticated/case.json +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/conformance/bundle/tampered-payload/bundle.json +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/conformance/bundle/tampered-payload/case.json +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/conformance/bundle/tree-size-expectation-mismatch/bundle.json +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/conformance/bundle/tree-size-expectation-mismatch/case.json +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/conformance/bundle/valid-minimal/bundle.json +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/conformance/bundle/valid-minimal/case.json +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/conformance/common_vocabulary.py +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/conformance/cross_format.py +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/conformance/decision/crossimpl/canonicalization-root-binding/MANIFEST.json +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/conformance/decision/crossimpl/canonicalization-root-binding/case.json +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/conformance/decision/crossimpl/canonicalization-root-binding/decision_receipt.jcs +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/conformance/decision/crossimpl/canonicalization-root-binding/decision_receipt.jcs.ots +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/conformance/decision/crossimpl/canonicalization-root-binding/decision_receipt.json +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/conformance/decision/crossimpl/canonicalization-root-binding/evidence_eval_result.jcs +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/conformance/decision/crossimpl/canonicalization-root-binding/evidence_eval_result.json +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/conformance/decision/crossimpl/confirmed-anchor-lifecycle/MANIFEST.json +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/conformance/decision/crossimpl/confirmed-anchor-lifecycle/case.json +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/conformance/decision/crossimpl/confirmed-anchor-lifecycle/decision_receipt.jcs +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/conformance/decision/crossimpl/confirmed-anchor-lifecycle/decision_receipt.jcs.ots +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/conformance/decision/crossimpl/confirmed-anchor-lifecycle/decision_receipt.json +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/conformance/decision/crossimpl/confirmed-anchor-lifecycle/evidence_eval_result.jcs +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/conformance/decision/crossimpl/confirmed-anchor-lifecycle/evidence_eval_result.json +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/conformance/decision/crossimpl/schema-conformant/MANIFEST.json +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/conformance/decision/crossimpl/schema-conformant/case.json +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/conformance/decision/crossimpl/schema-conformant/decision_receipt.jcs +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/conformance/decision/crossimpl/schema-conformant/decision_receipt.jcs.ots +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/conformance/decision/crossimpl/schema-conformant/decision_receipt.json +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/conformance/decision/crossimpl/schema-conformant/evidence_eval_result.jcs +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/conformance/decision/crossimpl/schema-conformant/evidence_eval_result.json +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/conformance/envelope_profile/generate_vectors.py +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/conformance/envelope_profile/r1-counter-proof-float-is-refused-so-two-axes-cannot-arise/case.json +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/conformance/envelope_profile/r1-counter-proof-float-is-refused-so-two-axes-cannot-arise/objects.json +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/conformance/envelope_profile/r1-counter-proof-nonconformant-serializer-diverges/case.json +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/conformance/envelope_profile/r1-counter-proof-nonconformant-serializer-diverges/object.json +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/conformance/envelope_profile/r1-positive-control-canonical-root/case.json +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/conformance/envelope_profile/r1-positive-control-canonical-root/object.json +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/conformance/envelope_profile/r2-counter-proof-foreign-schema-id-is-refused-not-invalid/bundle.json +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/conformance/envelope_profile/r2-counter-proof-foreign-schema-id-is-refused-not-invalid/case.json +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/conformance/envelope_profile/r2-counter-proof-unverifiable-is-invalid-not-refused/bundle.json +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/conformance/envelope_profile/r2-counter-proof-unverifiable-is-invalid-not-refused/case.json +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/conformance/envelope_profile/r2-positive-control-known-schema-classifies-valid/bundle.json +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/conformance/envelope_profile/r2-positive-control-known-schema-classifies-valid/case.json +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/conformance/envelope_profile/r3-counter-proof-hand-signed-binding-lies-about-tree-size/bundle.json +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/conformance/envelope_profile/r3-counter-proof-hand-signed-binding-lies-about-tree-size/case.json +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/conformance/envelope_profile/r3-positive-control-coherent-sample-binding/bundle.json +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/conformance/envelope_profile/r3-positive-control-coherent-sample-binding/case.json +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/conformance/envelope_profile/r4-counter-proof-issuer-is-not-the-signing-key/bundle.json +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/conformance/envelope_profile/r4-counter-proof-issuer-is-not-the-signing-key/case.json +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/conformance/envelope_profile/r4-positive-control-issuer-is-the-signing-key/bundle.json +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/conformance/envelope_profile/r4-positive-control-issuer-is-the-signing-key/case.json +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/conformance/manifest.json +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/conformance/provenance/version-status-absent-legacy-receipt/case.json +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/conformance/provenance/version-status-absent-legacy-receipt/provenance.json +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/conformance/provenance/version-status-lookalike-version-field/case.json +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/conformance/provenance/version-status-lookalike-version-field/provenance.json +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/conformance/provenance/version-status-missing-reason/case.json +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/conformance/provenance/version-status-missing-reason/provenance.json +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/conformance/provenance/version-status-not-bound/case.json +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/conformance/provenance/version-status-not-bound/provenance.json +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/conformance/provenance/version-status-not-reported/case.json +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/conformance/provenance/version-status-not-reported/provenance.json +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/conformance/provenance/version-status-not-reported-with-field/case.json +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/conformance/provenance/version-status-not-reported-with-field/provenance.json +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/conformance/provenance/version-status-reported/case.json +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/conformance/provenance/version-status-reported/provenance.json +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/conformance/provenance/version-status-reported-without-field/case.json +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/conformance/provenance/version-status-reported-without-field/provenance.json +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/conformance/provenance/version-status-unknown-literal/case.json +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/conformance/provenance/version-status-unknown-literal/provenance.json +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/conformance/provenance/version-status-unrelated-status-field/case.json +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/conformance/provenance/version-status-unrelated-status-field/provenance.json +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/conformance/relation/declared-supersedes-verified/case.json +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/conformance/relation/declared-supersedes-verified/pub.b64 +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/conformance/relation/declared-supersedes-verified/receipt.json +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/conformance/relation/declared-supersedes-verified/related_b.json +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/conformance/relation/declared-unresolved/case.json +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/conformance/relation/declared-unresolved/pub.b64 +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/conformance/relation/declared-unresolved/receipt.json +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/conformance/relation/decoy-accept-path/case.json +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/conformance/relation/decoy-accept-path/policy.json +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/conformance/relation/decoy-accept-path/pub.b64 +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/conformance/relation/decoy-accept-path/receipt.json +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/conformance/relation/decoy-accept-path/related_rx.json +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/conformance/relation/decoy-parent-correct-pass/case.json +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/conformance/relation/decoy-parent-correct-pass/policy.json +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/conformance/relation/decoy-parent-correct-pass/pub.b64 +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/conformance/relation/decoy-parent-correct-pass/receipt.json +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/conformance/relation/decoy-parent-correct-pass/related_r0.json +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/conformance/relation/decoy-parent-correct-pass/related_rx.json +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/conformance/relation/decoy-parent-no-pin-old-behavior/case.json +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/conformance/relation/decoy-parent-no-pin-old-behavior/policy.json +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/conformance/relation/decoy-parent-no-pin-old-behavior/pub.b64 +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/conformance/relation/decoy-parent-no-pin-old-behavior/receipt.json +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/conformance/relation/decoy-parent-no-pin-old-behavior/related_r0.json +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/conformance/relation/decoy-parent-no-pin-old-behavior/related_rx.json +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/conformance/relation/decoy-parent-target-mismatch/case.json +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/conformance/relation/decoy-parent-target-mismatch/policy.json +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/conformance/relation/decoy-parent-target-mismatch/pub.b64 +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/conformance/relation/decoy-parent-target-mismatch/receipt.json +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/conformance/relation/decoy-parent-target-mismatch/related_r0.json +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/conformance/relation/decoy-parent-target-mismatch/related_rx.json +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/conformance/relation/depth-exceeded/case.json +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/conformance/relation/depth-exceeded/pub.b64 +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/conformance/relation/depth-exceeded/receipt.json +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/conformance/relation/depth-exceeded/related_001.json +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/conformance/relation/depth-exceeded/related_002.json +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/conformance/relation/depth-exceeded/related_003.json +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/conformance/relation/depth-exceeded/related_004.json +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/conformance/relation/depth-exceeded/related_005.json +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/conformance/relation/depth-exceeded/related_006.json +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/conformance/relation/depth-exceeded/related_007.json +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/conformance/relation/depth-exceeded/related_008.json +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/conformance/relation/depth-exceeded/related_009.json +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/conformance/relation/depth-exceeded/related_010.json +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/conformance/relation/depth-exceeded/related_011.json +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/conformance/relation/depth-exceeded/related_012.json +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/conformance/relation/depth-exceeded/related_013.json +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/conformance/relation/depth-exceeded/related_014.json +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/conformance/relation/depth-exceeded/related_015.json +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/conformance/relation/depth-exceeded/related_016.json +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/conformance/relation/depth-exceeded/related_017.json +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/conformance/relation/depth-exceeded/related_018.json +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/conformance/relation/depth-exceeded/related_019.json +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/conformance/relation/depth-exceeded/related_020.json +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/conformance/relation/depth-exceeded/related_021.json +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/conformance/relation/depth-exceeded/related_022.json +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/conformance/relation/depth-exceeded/related_023.json +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/conformance/relation/depth-exceeded/related_024.json +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/conformance/relation/depth-exceeded/related_025.json +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/conformance/relation/depth-exceeded/related_026.json +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/conformance/relation/depth-exceeded/related_027.json +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/conformance/relation/depth-exceeded/related_028.json +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/conformance/relation/depth-exceeded/related_029.json +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/conformance/relation/depth-exceeded/related_030.json +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/conformance/relation/depth-exceeded/related_031.json +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/conformance/relation/depth-exceeded/related_032.json +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/conformance/relation/depth-exceeded/related_033.json +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/conformance/relation/digest-mismatch/case.json +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/conformance/relation/digest-mismatch/policy.json +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/conformance/relation/digest-mismatch/pub.b64 +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/conformance/relation/digest-mismatch/receipt.json +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/conformance/relation/digest-mismatch/related_b.json +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/conformance/relation/generate_vectors.py +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/conformance/relation/malformed-digest/case.json +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/conformance/relation/malformed-digest/pub.b64 +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/conformance/relation/malformed-digest/receipt.json +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/conformance/relation/outcome-declared-supersedes-verified/case.json +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/conformance/relation/outcome-declared-supersedes-verified/pub.b64 +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/conformance/relation/outcome-declared-supersedes-verified/receipt.json +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/conformance/relation/outcome-declared-supersedes-verified/related_b.json +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/conformance/relation/outcome-decoy-parent-target-mismatch/case.json +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/conformance/relation/outcome-decoy-parent-target-mismatch/policy.json +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/conformance/relation/outcome-decoy-parent-target-mismatch/pub.b64 +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/conformance/relation/outcome-decoy-parent-target-mismatch/receipt.json +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/conformance/relation/outcome-decoy-parent-target-mismatch/related_r0.json +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/conformance/relation/outcome-decoy-parent-target-mismatch/related_rx.json +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/conformance/relation/outcome-digest-mismatch/case.json +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/conformance/relation/outcome-digest-mismatch/policy.json +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/conformance/relation/outcome-digest-mismatch/pub.b64 +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/conformance/relation/outcome-digest-mismatch/receipt.json +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/conformance/relation/outcome-digest-mismatch/related_b.json +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/conformance/relation/outcome-relation-signer-unauthorized/case.json +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/conformance/relation/outcome-relation-signer-unauthorized/policy.json +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/conformance/relation/outcome-relation-signer-unauthorized/pub.b64 +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/conformance/relation/outcome-relation-signer-unauthorized/receipt.json +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/conformance/relation/outcome-relation-signer-unauthorized/related_b.json +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/conformance/relation/outcome-renews/case.json +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/conformance/relation/outcome-renews/pub.b64 +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/conformance/relation/outcome-renews/receipt.json +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/conformance/relation/outcome-renews/related_b.json +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/conformance/relation/outcome-silent-landing/case.json +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/conformance/relation/outcome-silent-landing/pub.b64 +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/conformance/relation/outcome-silent-landing/receipt.json +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/conformance/relation/outcome-valid-baseline/case.json +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/conformance/relation/outcome-valid-baseline/pub.b64 +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/conformance/relation/outcome-valid-baseline/receipt.json +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/conformance/relation/relation-amends/case.json +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/conformance/relation/relation-amends/pub.b64 +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/conformance/relation/relation-amends/receipt.json +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/conformance/relation/relation-amends/related_b.json +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/conformance/relation/relation-corrects/case.json +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/conformance/relation/relation-corrects/pub.b64 +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/conformance/relation/relation-corrects/receipt.json +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/conformance/relation/relation-corrects/related_b.json +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/conformance/relation/relation-derivedfrom/case.json +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/conformance/relation/relation-derivedfrom/pub.b64 +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/conformance/relation/relation-derivedfrom/receipt.json +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/conformance/relation/relation-derivedfrom/related_b.json +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/conformance/relation/relation-retracts/case.json +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/conformance/relation/relation-retracts/pub.b64 +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/conformance/relation/relation-retracts/receipt.json +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/conformance/relation/relation-retracts/related_b.json +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/conformance/relation/relation-revises/case.json +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/conformance/relation/relation-revises/pub.b64 +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/conformance/relation/relation-revises/receipt.json +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/conformance/relation/relation-revises/related_b.json +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/conformance/relation/relation-signer-cross-issuer-unauthorized/case.json +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/conformance/relation/relation-signer-cross-issuer-unauthorized/policy.json +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/conformance/relation/relation-signer-cross-issuer-unauthorized/pub.b64 +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/conformance/relation/relation-signer-cross-issuer-unauthorized/receipt.json +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/conformance/relation/relation-signer-cross-issuer-unauthorized/related_b.json +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/conformance/relation/relation-signer-cross-issuer-verified/case.json +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/conformance/relation/relation-signer-cross-issuer-verified/policy.json +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/conformance/relation/relation-signer-cross-issuer-verified/pub.b64 +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/conformance/relation/relation-signer-cross-issuer-verified/receipt.json +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/conformance/relation/relation-signer-cross-issuer-verified/related_b.json +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/conformance/relation/relation-signer-same-key-explicit/case.json +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/conformance/relation/relation-signer-same-key-explicit/policy.json +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/conformance/relation/relation-signer-same-key-explicit/pub.b64 +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/conformance/relation/relation-signer-same-key-explicit/receipt.json +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/conformance/relation/relation-signer-same-key-explicit/related_b.json +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/conformance/relation/relation-signer-verified-under-not-claim/case.json +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/conformance/relation/relation-signer-verified-under-not-claim/policy.json +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/conformance/relation/relation-signer-verified-under-not-claim/pub.b64 +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/conformance/relation/relation-signer-verified-under-not-claim/receipt.json +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/conformance/relation/relation-signer-verified-under-not-claim/related_b.json +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/conformance/relation/renews-vector/case.json +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/conformance/relation/renews-vector/pub.b64 +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/conformance/relation/renews-vector/receipt.json +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/conformance/relation/renews-vector/related_b.json +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/conformance/relation/retracts-then-use/case.json +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/conformance/relation/retracts-then-use/policy.json +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/conformance/relation/retracts-then-use/pub.b64 +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/conformance/relation/retracts-then-use/receipt.json +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/conformance/relation/retracts-then-use/related_r.json +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/conformance/relation/silent-landing/case.json +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/conformance/relation/silent-landing/pub.b64 +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/conformance/relation/silent-landing/receipt.json +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/conformance/relation/statement-malformed/case.json +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/conformance/relation/statement-malformed/pub.b64 +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/conformance/relation/statement-malformed/receipt.json +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/conformance/relation/statement-retracts-declared-unresolved/case.json +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/conformance/relation/statement-retracts-declared-unresolved/pub.b64 +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/conformance/relation/statement-retracts-declared-unresolved/receipt.json +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/conformance/relation/statement-retracts-unauthorized/case.json +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/conformance/relation/statement-retracts-unauthorized/policy.json +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/conformance/relation/statement-retracts-unauthorized/pub.b64 +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/conformance/relation/statement-retracts-unauthorized/receipt.json +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/conformance/relation/statement-retracts-unauthorized/related_t.json +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/conformance/relation/statement-retracts-verified-blocked/case.json +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/conformance/relation/statement-retracts-verified-blocked/policy.json +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/conformance/relation/statement-retracts-verified-blocked/pub.b64 +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/conformance/relation/statement-retracts-verified-blocked/receipt.json +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/conformance/relation/statement-retracts-verified-blocked/related_t.json +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/conformance/relation/statement-retracts-verified-visible/case.json +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/conformance/relation/statement-retracts-verified-visible/pub.b64 +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/conformance/relation/statement-retracts-verified-visible/receipt.json +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/conformance/relation/statement-retracts-verified-visible/related_t.json +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/conformance/relation/statement-supersedes-verified/case.json +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/conformance/relation/statement-supersedes-verified/pub.b64 +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/conformance/relation/statement-supersedes-verified/receipt.json +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/conformance/relation/statement-supersedes-verified/related_t.json +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/conformance/relation/t1-canonical-invalid-signature/case.json +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/conformance/relation/t1-canonical-invalid-signature/pub.b64 +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/conformance/relation/t1-canonical-invalid-signature/receipt.json +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/conformance/relation/target-subject-ambiguous/case.json +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/conformance/relation/target-subject-ambiguous/pub.b64 +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/conformance/relation/target-subject-ambiguous/receipt.json +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/conformance/relation/target-subject-ambiguous/related_r0.json +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/conformance/relation/target-subject-correct-pass/case.json +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/conformance/relation/target-subject-correct-pass/pub.b64 +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/conformance/relation/target-subject-correct-pass/receipt.json +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/conformance/relation/target-subject-correct-pass/related_r0.json +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/conformance/relation/target-subject-mismatch/case.json +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/conformance/relation/target-subject-mismatch/pub.b64 +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/conformance/relation/target-subject-mismatch/receipt.json +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/conformance/relation/target-subject-mismatch/related_r0.json +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/conformance/relation/target-subject-missing/case.json +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/conformance/relation/target-subject-missing/pub.b64 +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/conformance/relation/target-subject-missing/receipt.json +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/conformance/relation/target-subject-missing/related_r0.json +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/conformance/relation/unauthorized-signer/case.json +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/conformance/relation/unauthorized-signer/pub.b64 +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/conformance/relation/unauthorized-signer/receipt.json +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/conformance/relation/unauthorized-signer/related_b.json +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/conformance/relation/valid-baseline/case.json +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/conformance/relation/valid-baseline/pub.b64 +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/conformance/relation/valid-baseline/receipt.json +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/conformance/relation/wrong-payloadtype-target/case.json +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/conformance/relation/wrong-payloadtype-target/pub.b64 +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/conformance/relation/wrong-payloadtype-target/receipt.json +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/conformance/relation/wrong-payloadtype-target/related_t.json +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/conformance/run_conformance.py +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/conformance/unshipped_spec_refs_baseline.json +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/conformance/vector_schema.json +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/docs/AGENT_REVIEW_PREDICATE.md +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/docs/RECEIPT_ENVELOPE_PROFILE.md +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/docs/adr/renewal_policy.example.json +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/docs/readiness_pack/AUDITOR_OPEN_POINTS.md +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/docs/readiness_pack/OPEN_QUESTIONS.md +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/docs/readiness_pack/README.md +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/docs/readiness_pack/REPRODUCTION_RUNBOOK.md +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/docs/readiness_pack/calendar_independence.md +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/docs/readiness_pack/differential_matrix.md +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/docs/readiness_pack/index.json +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/docs/readiness_pack/rust_parity_scope.md +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/docs/readiness_pack/tamper_resistance.md +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/docs/readiness_pack/threat_model_delta_360.md +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/examples/README.md +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/examples/anchors/chia-datalayer-invalid-root.json +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/examples/anchors/chia-datalayer-valid.json +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/examples/checkpoint_example.py +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/examples/decision_receipt_allow.json +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/examples/decision_receipt_deny.json +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/examples/decision_receipt_escalate.json +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/examples/decision_receipt_with_eval_ref.intoto.json +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/examples/eee_receipt.py +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/examples/example.tlog-proof +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/examples/example_bundle.json +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/examples/experimental_enclave.py +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/examples/inspect_hook_example.py +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/examples/inspect_receipt.py +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/examples/intoto/private-model-commitment.statement.json +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/examples/intoto/public-model.statement.json +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/examples/intoto/release-gate.statement.json +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/examples/intoto/svr.statement.json +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/examples/intoto_dsse_export.py +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/examples/lm_eval_receipt.py +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/examples/make_example.py +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/examples/persample_audit.py +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/examples/pytest_plugin_example.py +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/examples/rekor_interop.py +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/examples/tlog_proof_example.py +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/examples/trust_policy_decision_strict.json +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/examples/trust_policy_strict.json +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/formal/README.md +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/formal/model.py +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/schemas/action-outcome-v0.1.schema.json +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/schemas/decision-receipt-v0.1.schema.json +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/schemas/eval_claim_v0_1.schema.json +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/schemas/in_toto_statement_v1.schema.json +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/schemas/proofbundle_v0_1.schema.json +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/schemas/run-ledger-v0.1.schema.json +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/schemas/trust-pack-v0.1.schema.json +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/schemas/trust_policy_v0_1.schema.json +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/schemas/verification-summary-v0.1.schema.json +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/scripts/_build_anchor_fixture.py +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/scripts/audit_output_aufloesbar.py +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/scripts/branch_base_check.py +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/scripts/build_reproducible.py +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/scripts/claims_hygiene_check.py +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/scripts/demo.sh +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/scripts/demo_tamper.sh +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/scripts/doc_link_check.py +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/scripts/finding_base_drift.py +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/scripts/findings_register.py +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/scripts/fork_pr_secret_isolation.py +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/scripts/fuzz_soak.py +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/scripts/gate_qualification_harness.py +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/scripts/gen_findings_register.py +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/scripts/gen_synthetic_ots_fixture.py +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/scripts/git-hooks/pre-commit +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/scripts/install_git_hooks.sh +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/scripts/mutant_signature_guard.py +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/scripts/mutation_check.py +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/scripts/mutation_operators_fresh.py +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/scripts/pre_tag_attestation.py +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/scripts/pre_tag_audit_gate.py +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/scripts/pre_tag_receipt.py +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/scripts/pre_tag_receipt_lib.py +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/scripts/readiness_pack_gate.py +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/scripts/readiness_pack_manifest.py +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/scripts/render_demo.py +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/scripts/rust_parity_gate.py +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/scripts/rust_parity_registry.json +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/scripts/shipped_docs_check.py +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/scripts/test_manifest_gate.py +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/scripts/type_confusion_gate.py +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/setup.cfg +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/src/proofbundle/_inspect_registry.py +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/src/proofbundle/_integration.py +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/src/proofbundle/_membership.py +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/src/proofbundle/_strict_json.py +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/src/proofbundle/_wire_b64.py +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/src/proofbundle/adapters/__init__.py +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/src/proofbundle/adapters/_provenance.py +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/src/proofbundle/adapters/eee.py +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/src/proofbundle/adapters/inspect_ai.py +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/src/proofbundle/adapters/lm_eval.py +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/src/proofbundle/adapters/promptfoo.py +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/src/proofbundle/adapters/samples.py +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/src/proofbundle/agent_review.py +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/src/proofbundle/anchors.py +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/src/proofbundle/anchors_chia.py +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/src/proofbundle/anchors_chia_add.py +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/src/proofbundle/anchors_markovian.py +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/src/proofbundle/anchors_ots.py +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/src/proofbundle/anchors_rfc3161.py +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/src/proofbundle/anchors_rootcommit.py +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/src/proofbundle/assurance.py +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/src/proofbundle/automation_verdict.py +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/src/proofbundle/beacon.py +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/src/proofbundle/budget.py +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/src/proofbundle/bundle.py +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/src/proofbundle/canonical.py +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/src/proofbundle/checkpoint.py +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/src/proofbundle/cli.py +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/src/proofbundle/decision.py +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/src/proofbundle/demo.py +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/src/proofbundle/dsse.py +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/src/proofbundle/eee_eval_schema.json +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/src/proofbundle/emit.py +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/src/proofbundle/errors.py +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/src/proofbundle/evalcard.py +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/src/proofbundle/evalclaim.py +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/src/proofbundle/evidence_pack.py +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/src/proofbundle/experimental/__init__.py +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/src/proofbundle/experimental/enclave.py +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/src/proofbundle/hashalg.py +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/src/proofbundle/hf_evals.py +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/src/proofbundle/inspect_hook.py +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/src/proofbundle/intoto.py +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/src/proofbundle/kbjwt.py +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/src/proofbundle/merkle.py +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/src/proofbundle/outcome.py +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/src/proofbundle/persample.py +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/src/proofbundle/policies/decision-receipt-template-v1.json +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/src/proofbundle/policies/research-preview-v1.json +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/src/proofbundle/policies/strict-eval-authenticated-root-template-v1.json +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/src/proofbundle/policies/strict-eval-template-v1.json +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/src/proofbundle/policies/strict-prereg-template-v1.json +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/src/proofbundle/policy.py +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/src/proofbundle/policy_profiles.py +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/src/proofbundle/pqsig.py +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/src/proofbundle/prereg.py +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/src/proofbundle/public_transparency.py +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/src/proofbundle/py.typed +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/src/proofbundle/pytest_plugin.py +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/src/proofbundle/relation.py +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/src/proofbundle/relation_statement.py +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/src/proofbundle/renewal.py +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/src/proofbundle/run_ledger.py +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/src/proofbundle/sdjwt.py +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/src/proofbundle/sdjwt_issue.py +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/src/proofbundle/sdjwt_vc.py +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/src/proofbundle/signature.py +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/src/proofbundle/statuslist.py +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/src/proofbundle/subject_binding.py +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/src/proofbundle/tlogproof.py +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/src/proofbundle/trust_pack.py +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/src/proofbundle/verification_summary.py +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/src/proofbundle.egg-info/dependency_links.txt +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/src/proofbundle.egg-info/entry_points.txt +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/src/proofbundle.egg-info/requires.txt +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/src/proofbundle.egg-info/top_level.txt +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/tests/_beinahe_treffer.py +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/tests/conftest.py +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/tests/fixtures/anchors/chia_datalayer_proof.json +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/tests/fixtures/anchors/freetsa_receipt_anchor.json +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/tests/fixtures/anchors/markovian_log/checkpoint_7397/MANIFEST.json +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/tests/fixtures/anchors/markovian_log/checkpoint_7397/checkpoint_7397.txt +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/tests/fixtures/anchors/markovian_log/proof_7271/ERGEBNIS.json +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/tests/fixtures/anchors/markovian_log/proof_7271/ERGEBNIS_negativ.json +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/tests/fixtures/anchors/markovian_log/proof_7271/MANIFEST.json +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/tests/fixtures/anchors/markovian_log/proof_7271/README.md +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/tests/fixtures/anchors/markovian_log/proof_7271/SOURCES.md +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/tests/fixtures/anchors/markovian_log/proof_7271/keys_unabhaengig.txt +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/tests/fixtures/anchors/markovian_log/proof_7271/leaf_7271.raw +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/tests/fixtures/anchors/markovian_log/proof_7271/proof_7271.tlog-proof +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/tests/fixtures/anchors/markovian_log/submit_7727/MANIFEST.json +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/tests/fixtures/anchors/markovian_log/submit_7727/checkpoint_at_submit.txt +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/tests/fixtures/anchors/markovian_log/submit_7727/checkpoint_latest.txt +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/tests/fixtures/anchors/markovian_log/submit_7727/checkpoint_witnessed.txt +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/tests/fixtures/anchors/markovian_log/submit_7727/inclusion_path.txt +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/tests/fixtures/anchors/markovian_log/submit_7727/leaf.txt +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/tests/fixtures/anchors/markovian_log/submit_7727/proof_bundle.json +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/tests/fixtures/anchors/markovian_log/submit_7727/submit_response.json +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/tests/fixtures/anchors/tlog_bitcoin_anchor/MANIFEST.json +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/tests/fixtures/anchors/tlog_bitcoin_anchor/README.md +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/tests/fixtures/anchors/tlog_bitcoin_anchor/rootcommit/MANIFEST.json +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/tests/fixtures/anchors/tlog_bitcoin_anchor/rootcommit/README.md +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/tests/fixtures/anchors/tlog_bitcoin_anchor/rootcommit/vectors/manifest.json +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/tests/fixtures/anchors/tlog_bitcoin_anchor/rootcommit/vectors/rootcommit-01-valid.txt +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/tests/fixtures/anchors/tlog_bitcoin_anchor/rootcommit/vectors/rootcommit-02-tampered-root.txt +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/tests/fixtures/anchors/tlog_bitcoin_anchor/rootcommit/vectors/rootcommit-03-tampered-wallet.txt +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/tests/fixtures/anchors/tlog_bitcoin_anchor/rootcommit/vectors/rootcommit-04-tampered-proof.txt +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/tests/fixtures/anchors/tlog_bitcoin_anchor/rootcommit/vectors_sig/manifest.json +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/tests/fixtures/anchors/tlog_bitcoin_anchor/rootcommit/vectors_sig/v2sig-01-valid.txt +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/tests/fixtures/anchors/tlog_bitcoin_anchor/rootcommit/vectors_sig/v2sig-02-tampered-root.txt +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/tests/fixtures/anchors/tlog_bitcoin_anchor/rootcommit/vectors_sig/v2sig-03-tampered-wallet.txt +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/tests/fixtures/anchors/tlog_bitcoin_anchor/rootcommit/vectors_sig/v2sig-04-tampered-sig.txt +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/tests/fixtures/anchors/tlog_bitcoin_anchor/rootcommit/vectors_sig/v2sig-05-tampered-proof.txt +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/tests/fixtures/anchors/tlog_bitcoin_anchor/vectors/01-valid.txt +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/tests/fixtures/anchors/tlog_bitcoin_anchor/vectors/02-unknown-id.txt +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/tests/fixtures/anchors/tlog_bitcoin_anchor/vectors/03-tampered-body.txt +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/tests/fixtures/anchors/tlog_bitcoin_anchor/vectors/04-tampered-proof.txt +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/tests/fixtures/anchors/tlog_bitcoin_anchor/vectors/manifest.json +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/tests/fixtures/checkpoint/PROVENANCE.json +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/tests/fixtures/checkpoint/gosumdb_known_keys.go +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/tests/fixtures/checkpoint/rekor_v2_checkpoint.txt +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/tests/fixtures/checkpoint/sumdb_latest.txt +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/tests/fixtures/checkpoint/trusted_root.json +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/tests/fixtures/ed25519_speccheck_cases.LICENSE +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/tests/fixtures/ed25519_speccheck_cases.README.md +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/tests/fixtures/ed25519_speccheck_cases.json +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/tests/fixtures/eee_arc_easy.json +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/tests/fixtures/inspect_logs/safety_refusal_demo.eval +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/tests/fixtures/inspect_logs/safety_refusal_demo.eval.provenance.json +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/tests/fixtures/kette_147/body_wie_am_ziel.md +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/tests/fixtures/kette_147/receipt.json +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/tests/fixtures/lm_eval_arc_easy_real.json +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/tests/fixtures/markovian_anchor_confirmed.json +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/tests/fixtures/mldsa_acvp/PROVENANCE.json +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/tests/fixtures/mldsa_acvp/mldsa_sigver_slice.json +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/tests/fixtures/ots/PROVENANCE.json +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/tests/fixtures/ots/block358391.json +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/tests/fixtures/ots/hello-world.txt +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/tests/fixtures/ots/hello-world.txt.ots +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/tests/fixtures/ots/incomplete.txt +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/tests/fixtures/ots/incomplete.txt.ots +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/tests/fixtures/ots/known-and-unknown-notary.txt +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/tests/fixtures/ots/known-and-unknown-notary.txt.ots +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/tests/fixtures/ots/merkle2.txt +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/tests/fixtures/ots/merkle2.txt.ots +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/tests/fixtures/ots/synthetic-upgraded-sha256.block.json +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/tests/fixtures/ots/synthetic-upgraded-sha256.txt +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/tests/fixtures/ots/synthetic-upgraded-sha256.txt.ots +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/tests/fixtures/ots/two-calendars.txt +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/tests/fixtures/ots/two-calendars.txt.ots +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/tests/fixtures/promptfoo_results_v3.json +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/tests/fixtures/rekor_inclusion_25579.json +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/tests/fixtures/rfc6962_vectors.json +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/tests/fixtures/sdjwt_disclosure_vector.json +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/tests/fixtures/sdjwt_reference_eddsa.json +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/tests/fixtures/sdjwtvc/PROVENANCE.json +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/tests/fixtures/sdjwtvc/sdjwtvc_examples.txt +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/tests/fixtures/sdjwtvc/sdjwtvc_issuer_pubkey.json +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/tests/test_adapters.py +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/tests/test_adversarial.py +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/tests/test_agent_review_binding_semantics.py +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/tests/test_agent_review_conformance_runner.py +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/tests/test_agent_review_statement_shape.py +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/tests/test_agent_review_zeitsemantik.py +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/tests/test_anchor_extra_arg_type_confusion.py +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/tests/test_anchor_hardening_321.py +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/tests/test_anchor_longevity_property.py +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/tests/test_anchor_target_trustedtime.py +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/tests/test_anchors_chia.py +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/tests/test_anchors_chia_add.py +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/tests/test_anchors_chia_claims.py +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/tests/test_anchors_generic.py +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/tests/test_anchors_markovian.py +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/tests/test_anchors_markovian_log.py +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/tests/test_anchors_markovian_submit.py +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/tests/test_anchors_ots.py +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/tests/test_anchors_ots_frozen_rptrust_guard.py +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/tests/test_anchors_rfc3161.py +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/tests/test_anchors_rfc3161_type_floor.py +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/tests/test_anchors_rootcommit.py +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/tests/test_assurance.py +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/tests/test_audit_candidate_360.py +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/tests/test_audit_candidate_ready_logic.py +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/tests/test_audit_index_zahlen_stimmen.py +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/tests/test_audit_marker_line_wrap.py +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/tests/test_audit_matrix_version_pin_binding.py +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/tests/test_audit_output_aufloesbar.py +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/tests/test_ausgelieferte_doku_haelt.py +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/tests/test_automation_nie_nachsichtiger_als_ok.py +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/tests/test_automation_verdict.py +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/tests/test_beacon.py +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/tests/test_beide_verifier_pfade_antworten_gleich.py +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/tests/test_branch_base_check.py +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/tests/test_budget.py +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/tests/test_bughunt_361_automation_failopen.py +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/tests/test_bughunt_361_never_raise.py +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/tests/test_bundle.py +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/tests/test_bundle_robustness.py +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/tests/test_canonical.py +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/tests/test_checkpoint.py +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/tests/test_checkpoint_external_vectors.py +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/tests/test_checkpoint_quorum_property.py +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/tests/test_claims_hygiene.py +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/tests/test_classify_eval_claim.py +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/tests/test_cli.py +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/tests/test_cli_eval.py +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/tests/test_cli_require_anchor.py +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/tests/test_conformance.py +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/tests/test_conformance_retention_361.py +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/tests/test_content_root_property.py +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/tests/test_cosignature.py +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/tests/test_cosignature_mldsa.py +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/tests/test_cross_format_singleton_361.py +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/tests/test_decision_anchors.py +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/tests/test_decision_cli.py +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/tests/test_decision_evidence.py +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/tests/test_decision_fuzz.py +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/tests/test_decision_hardening.py +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/tests/test_decision_policy.py +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/tests/test_decision_schema.py +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/tests/test_decision_validator_api.py +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/tests/test_decision_verify.py +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/tests/test_demo.py +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/tests/test_docs_truth.py +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/tests/test_dokumentierte_laeufer_koennen_die_suite_fahren.py +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/tests/test_dsse_adversarial.py +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/tests/test_dup_key_reject.py +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/tests/test_ed25519_semantics.py +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/tests/test_eee.py +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/tests/test_emit.py +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/tests/test_emitter_parser_rundlauf.py +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/tests/test_enclave_assurance.py +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/tests/test_erwartungsvergleich_population_guard.py +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/tests/test_eval_claim_schema.py +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/tests/test_eval_evidence_class.py +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/tests/test_evalcard.py +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/tests/test_evalclaim.py +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/tests/test_evidence_pack.py +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/tests/test_evidence_typed_digest.py +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/tests/test_examples.py +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/tests/test_experimental_enclave.py +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/tests/test_findings_register_identity_axis.py +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/tests/test_findings_register_rt10.py +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/tests/test_findings_root_bindet_die_liste.py +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/tests/test_fork_pr_secret_isolation.py +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/tests/test_fuzz_parsers.py +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/tests/test_fuzz_soak_regression.py +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/tests/test_gate_population_and_nested_leaf.py +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/tests/test_gate_qualification_harness.py +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/tests/test_gegenbeweis_zeigt_nicht_ins_leere.py +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/tests/test_hashalg.py +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/tests/test_hf_entry_verify_eee_digest.py +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/tests/test_hf_evals.py +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/tests/test_inspect_hook.py +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/tests/test_int_magnitude_budget_family.py +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/tests/test_intoto.py +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/tests/test_intoto_claims_hygiene.py +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/tests/test_intoto_content_root_migration.py +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/tests/test_intoto_dsse.py +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/tests/test_intoto_eval_result.py +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/tests/test_intoto_examples.py +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/tests/test_intoto_spec_diff.py +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/tests/test_intoto_svr.py +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/tests/test_iter9_deepgate_round4.py +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/tests/test_iter9_product_fixes.py +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/tests/test_jcs_mandatory_361.py +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/tests/test_jede_formpruefung_nennt_ihren_grund.py +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/tests/test_jeder_code_meint_genau_eine_lage.py +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/tests/test_jeder_gegenbeweis_faellt_auf_seiner_achse.py +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/tests/test_kappe_vor_arbeit.py +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/tests/test_kbjwt.py +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/tests/test_kette_verliert_kein_gueltiges_receipt.py +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/tests/test_korpus_arten_haben_eine_quelle.py +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/tests/test_korpus_stammt_aus_seinem_generator.py +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/tests/test_legacy_assurance_deprecation_361.py +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/tests/test_lens_review_fixes_3_1_3.py +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/tests/test_load_signer_fd_hazard.py +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/tests/test_manifest_lock.json +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/tests/test_membership_hashable_guard.py +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/tests/test_merkle.py +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/tests/test_merkle_consistency_property.py +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/tests/test_merkle_property.py +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/tests/test_mldsa_acvp_vectors.py +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/tests/test_mutant_signature_guard.py +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/tests/test_mutation_isolation.py +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/tests/test_never_raise_361.py +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/tests/test_never_raise_population_guard.py +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/tests/test_never_raise_primary_arg_property.py +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/tests/test_never_raise_recursion_361.py +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/tests/test_never_raise_surface_family_property.py +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/tests/test_official_vectors.py +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/tests/test_ok_semantics.py +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/tests/test_origin_quorum_rule.py +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/tests/test_ots_calendar_hardening.py +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/tests/test_ots_external_vectors.py +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/tests/test_outcome_receiver_corroboration.py +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/tests/test_outcome_verify.py +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/tests/test_oversized_int_guard.py +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/tests/test_p05_kette_ereignis_bis_offline_verify.py +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/tests/test_p0_2_disclosure_core_digest.py +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/tests/test_p0_4_coverage_und_zeit.py +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/tests/test_p0_urspruengliche_mutationen.py +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/tests/test_path_argument_type_floor.py +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/tests/test_persample.py +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/tests/test_pinned_key_validation.py +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/tests/test_policy_explain_lint.py +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/tests/test_policy_lifecycle_purpose.py +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/tests/test_policy_profiles.py +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/tests/test_policy_templates.py +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/tests/test_pqsig.py +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/tests/test_pre_tag_attestation.py +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/tests/test_pre_tag_audit_provenance.py +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/tests/test_pre_tag_gate_eigenschaften.py +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/tests/test_pre_tag_receipt_commit_flow.py +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/tests/test_pre_tag_receipt_gate.py +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/tests/test_predicate_type_enforcement.py +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/tests/test_prereg.py +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/tests/test_promptfoo.py +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/tests/test_provenance.py +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/tests/test_public_transparency.py +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/tests/test_pytest_plugin.py +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/tests/test_rekor_interop.py +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/tests/test_relation_gate_distance_invariance.py +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/tests/test_relation_profile.py +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/tests/test_relation_property.py +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/tests/test_relation_same_key_361.py +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/tests/test_relation_signer_target_340.py +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/tests/test_relation_statement.py +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/tests/test_relation_statement_rust_parity.py +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/tests/test_relation_subject_pin_361.py +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/tests/test_release_integrity_gate.py +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/tests/test_render_safe_untrusted_int.py +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/tests/test_renewal.py +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/tests/test_renewal_external_token_glue.py +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/tests/test_renewal_field_magnitude_never_raise.py +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/tests/test_renewal_policy.py +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/tests/test_renewal_signed.py +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/tests/test_reported_version_status.py +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/tests/test_reproducible_build_361.py +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/tests/test_rfc6962_external_vectors.py +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/tests/test_roadmap_frontload_foundations.py +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/tests/test_root_authenticity.py +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/tests/test_run_ledger.py +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/tests/test_rust_parity_gate.py +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/tests/test_schema.py +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/tests/test_schema_parity.py +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/tests/test_sdist_packaging_361.py +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/tests/test_sdist_selftest_derivation.py +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/tests/test_sdist_selftest_optional_deps.py +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/tests/test_sdjwt_adversarial.py +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/tests/test_sdjwt_duplicate_cnf.py +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/tests/test_sdjwt_issue.py +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/tests/test_sdjwt_reference.py +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/tests/test_sdjwt_resource_budget.py +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/tests/test_sdjwt_vc.py +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/tests/test_sdjwt_verify_binding.py +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/tests/test_sdjwtvc_external_vectors.py +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/tests/test_sibling_never_raise_361.py +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/tests/test_signature.py +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/tests/test_statuslist.py +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/tests/test_structural_budget_reachability.py +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/tests/test_subject_binding.py +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/tests/test_tlogproof.py +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/tests/test_tree_context_authenticity.py +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/tests/test_trust_pack.py +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/tests/test_trust_pack_crypto_agility.py +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/tests/test_trust_pack_outcome_receivers_role.py +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/tests/test_trust_pack_payloadtype_negatives.py +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/tests/test_trust_policy.py +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/tests/test_type_confusion_wireform.py +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/tests/test_verification_summary.py +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/tests/test_verify_matrix.py +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/tests/test_verify_proof_expected_origin.py +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/tests/test_wire_bytes_strict.py +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/tests/test_wurzelsammlung_schliesst_bauartefakte_aus.py +0 -0
- {proofbundle-5.1.0 → proofbundle-5.1.0.post1}/tests/test_zeitsemantik_policy_und_supersession.py +0 -0
|
@@ -0,0 +1,287 @@
|
|
|
1
|
+
Metadata-Version: 2.4
|
|
2
|
+
Name: proofbundle
|
|
3
|
+
Version: 5.1.0.post1
|
|
4
|
+
Summary: Emit and verify portable cryptographic evidence bundles, offline: Ed25519 + RFC 6962 Merkle + optional SD-JWT.
|
|
5
|
+
Author: Konrad Gruszka
|
|
6
|
+
License: MIT
|
|
7
|
+
Project-URL: Homepage, https://b7n0de.com
|
|
8
|
+
Project-URL: Repository, https://github.com/b7n0de/proofbundle
|
|
9
|
+
Project-URL: Issues, https://github.com/b7n0de/proofbundle/issues
|
|
10
|
+
Project-URL: Changelog, https://github.com/b7n0de/proofbundle/blob/main/CHANGELOG.md
|
|
11
|
+
Project-URL: Documentation, https://github.com/b7n0de/proofbundle#readme
|
|
12
|
+
Keywords: cryptography,merkle,transparency-log,ed25519,sd-jwt,verifiable-credentials,attestation,provenance,rfc6962
|
|
13
|
+
Classifier: Development Status :: 4 - Beta
|
|
14
|
+
Classifier: Intended Audience :: Developers
|
|
15
|
+
Classifier: License :: OSI Approved :: MIT License
|
|
16
|
+
Classifier: Programming Language :: Python :: 3
|
|
17
|
+
Classifier: Programming Language :: Python :: 3.10
|
|
18
|
+
Classifier: Programming Language :: Python :: 3.11
|
|
19
|
+
Classifier: Programming Language :: Python :: 3.12
|
|
20
|
+
Classifier: Programming Language :: Python :: 3.13
|
|
21
|
+
Classifier: Programming Language :: Python :: 3.14
|
|
22
|
+
Classifier: Topic :: Security :: Cryptography
|
|
23
|
+
Requires-Python: >=3.10
|
|
24
|
+
Description-Content-Type: text/markdown
|
|
25
|
+
License-File: LICENSE
|
|
26
|
+
Requires-Dist: cryptography>=42
|
|
27
|
+
Requires-Dist: rfc8785>=0.1.4
|
|
28
|
+
Provides-Extra: sdjwt
|
|
29
|
+
Provides-Extra: eval
|
|
30
|
+
Requires-Dist: rfc8785>=0.1.4; extra == "eval"
|
|
31
|
+
Provides-Extra: anchors
|
|
32
|
+
Requires-Dist: rfc3161-client>=1.0.6; extra == "anchors"
|
|
33
|
+
Requires-Dist: opentimestamps<0.5,>=0.4.5; extra == "anchors"
|
|
34
|
+
Requires-Dist: rfc8785>=0.1.4; extra == "anchors"
|
|
35
|
+
Provides-Extra: adapters
|
|
36
|
+
Provides-Extra: chia
|
|
37
|
+
Provides-Extra: experimental
|
|
38
|
+
Provides-Extra: pq
|
|
39
|
+
Requires-Dist: cryptography>=48; extra == "pq"
|
|
40
|
+
Provides-Extra: rootcommit
|
|
41
|
+
Requires-Dist: ecdsa>=0.18; extra == "rootcommit"
|
|
42
|
+
Provides-Extra: formal
|
|
43
|
+
Requires-Dist: z3-solver>=4.12; extra == "formal"
|
|
44
|
+
Provides-Extra: pytest
|
|
45
|
+
Requires-Dist: pytest>=7; extra == "pytest"
|
|
46
|
+
Provides-Extra: test
|
|
47
|
+
Requires-Dist: pytest>=7; extra == "test"
|
|
48
|
+
Requires-Dist: hypothesis>=6; extra == "test"
|
|
49
|
+
Requires-Dist: PyYAML>=6; extra == "test"
|
|
50
|
+
Requires-Dist: jsonschema>=4; extra == "test"
|
|
51
|
+
Requires-Dist: sd-jwt>=0.10; extra == "test"
|
|
52
|
+
Requires-Dist: rfc8785>=0.1.4; extra == "test"
|
|
53
|
+
Provides-Extra: inspect
|
|
54
|
+
Requires-Dist: inspect_ai<=0.3.261,>=0.3.112; extra == "inspect"
|
|
55
|
+
Provides-Extra: dev
|
|
56
|
+
Requires-Dist: pytest>=7; extra == "dev"
|
|
57
|
+
Requires-Dist: ruff<0.17,>=0.5; extra == "dev"
|
|
58
|
+
Requires-Dist: jsonschema>=4; extra == "dev"
|
|
59
|
+
Requires-Dist: mypy<3,>=1.8; extra == "dev"
|
|
60
|
+
Requires-Dist: build>=1; extra == "dev"
|
|
61
|
+
Requires-Dist: hypothesis>=6; extra == "dev"
|
|
62
|
+
Requires-Dist: rfc8785>=0.1.4; extra == "dev"
|
|
63
|
+
Requires-Dist: sd-jwt>=0.10; extra == "dev"
|
|
64
|
+
Requires-Dist: PyYAML>=6; extra == "dev"
|
|
65
|
+
Requires-Dist: inspect_ai<=0.3.261,>=0.3.112; extra == "dev"
|
|
66
|
+
Dynamic: license-file
|
|
67
|
+
|
|
68
|
+
<div align="center">
|
|
69
|
+
|
|
70
|
+
<picture>
|
|
71
|
+
<source media="(prefers-color-scheme: dark)" srcset="https://raw.githubusercontent.com/b7n0de/proofbundle/main/assets/b7n0de-hase-logo-dark.png">
|
|
72
|
+
<img alt="b7n0de, Verified AI Work, pink rabbit mascot over the B7N0DE wordmark" src="https://raw.githubusercontent.com/b7n0de/proofbundle/main/assets/b7n0de-hase-logo.png" width="200">
|
|
73
|
+
</picture>
|
|
74
|
+
|
|
75
|
+
<h1>proofbundle</h1>
|
|
76
|
+
|
|
77
|
+
[](https://github.com/b7n0de/proofbundle/actions/workflows/ci.yml)
|
|
78
|
+
[](https://github.com/b7n0de/proofbundle/actions/workflows/demo-reproducible.yml)
|
|
79
|
+
[](https://pypi.org/project/proofbundle/)
|
|
80
|
+
[](https://pypi.org/project/proofbundle/)
|
|
81
|
+
[](https://github.com/b7n0de/proofbundle/blob/main/LICENSE)
|
|
82
|
+
[](https://doi.org/10.5281/zenodo.21110642)
|
|
83
|
+
|
|
84
|
+
**AI eval results need receipts.**
|
|
85
|
+
|
|
86
|
+
Turn an AI evaluation result, review, decision, or action outcome into a portable receipt that can be checked offline.
|
|
87
|
+
|
|
88
|
+
proofbundle lets a verifier check **which key signed the exact bytes** and **whether those bytes changed**. It does not prove that the result is true, that the signer is trustworthy, or that the evaluation was sound.
|
|
89
|
+
|
|
90
|
+
**One file. No verification server. No network required.**
|
|
91
|
+
|
|
92
|
+
[Quick start](#quick-start) · [What it proves](#what-a-receipt-proves) · [New in 5.1.0](#new-in-510) · [Adoption review](https://github.com/b7n0de/proofbundle/blob/main/docs/REVIEWERS.md) · [Documentation](#documentation)
|
|
93
|
+
|
|
94
|
+
</div>
|
|
95
|
+
|
|
96
|
+
## New in 5.1.0
|
|
97
|
+
|
|
98
|
+
[proofbundle 5.1.0](https://github.com/b7n0de/proofbundle/releases/tag/v5.1.0) adds a new receipt kind for disclosing AI agent involvement and review in pull requests and issues.
|
|
99
|
+
|
|
100
|
+
- **Agent review receipts** bind the reviewed GitHub object, the declared review runs, coverage, findings, limitations, and the human visible disclosure.
|
|
101
|
+
- **Stronger subject and disclosure binding** prevents a valid receipt from silently travelling to another object or a visible block from claiming more than the signed predicate.
|
|
102
|
+
- **Clearer time and coverage semantics** separate declared event time from witness observation time and reject ambiguous claims of complete coverage.
|
|
103
|
+
- **Hardened correction chains** prevent an untrusted receipt from taking over the current position in a correction or supersession chain.
|
|
104
|
+
- **Executable conformance coverage** now includes the agent review predicate and the receipt envelope profile.
|
|
105
|
+
|
|
106
|
+
One behaviour change deserves attention before upgrading. `automation_summary` now adds `RECEIPT_NOT_OK` to its blockers when a receipt is not `ok`. Read the [5.1.0 changelog](https://github.com/b7n0de/proofbundle/blob/main/CHANGELOG.md#510---2026-08-31-the-profile-a-stranger-can-read--minor) before updating automation.
|
|
107
|
+
|
|
108
|
+
> **Release status**
|
|
109
|
+
>
|
|
110
|
+
> The closing audit verdict for 5.1.0 was `PARTIAL_GATE_NO_WITHSTANDS`, not `WITHSTANDS_DEEPGATE`. The declared residual risks are published in [RESTRISIKO_510.md](https://github.com/b7n0de/proofbundle/blob/main/RESTRISIKO_510.md).
|
|
111
|
+
|
|
112
|
+
## Quick start
|
|
113
|
+
|
|
114
|
+
Install the core verifier.
|
|
115
|
+
|
|
116
|
+
```bash
|
|
117
|
+
python -m pip install proofbundle
|
|
118
|
+
```
|
|
119
|
+
|
|
120
|
+
Requires Python 3.10 or newer. The core installs two dependencies, `cryptography` and `rfc8785`.
|
|
121
|
+
|
|
122
|
+
Download a real example receipt and verify it offline.
|
|
123
|
+
|
|
124
|
+
```bash
|
|
125
|
+
curl -fsSL \
|
|
126
|
+
https://raw.githubusercontent.com/b7n0de/proofbundle/main/examples/example_bundle.json \
|
|
127
|
+
-o receipt.json
|
|
128
|
+
|
|
129
|
+
proofbundle verify receipt.json
|
|
130
|
+
```
|
|
131
|
+
|
|
132
|
+
The command uses the local file only. Its exit code is part of the public contract.
|
|
133
|
+
|
|
134
|
+
```text
|
|
135
|
+
0 verified
|
|
136
|
+
1 verification failed
|
|
137
|
+
2 malformed input or usage error
|
|
138
|
+
3 relying party policy not met
|
|
139
|
+
```
|
|
140
|
+
|
|
141
|
+
Run the tamper demo.
|
|
142
|
+
|
|
143
|
+
```bash
|
|
144
|
+
python -m pip install "proofbundle[eval]"
|
|
145
|
+
proofbundle demo
|
|
146
|
+
```
|
|
147
|
+
|
|
148
|
+
The demo checks an honest receipt, multiple tampered variants, and a sample swap. It exits nonzero if a tamper is accepted.
|
|
149
|
+
|
|
150
|
+
For a guided walkthrough, see [docs/DEMO.md](https://github.com/b7n0de/proofbundle/blob/main/docs/DEMO.md). For Inspect, see [docs/INSPECT_HAPPY_PATH.md](https://github.com/b7n0de/proofbundle/blob/main/docs/INSPECT_HAPPY_PATH.md).
|
|
151
|
+
|
|
152
|
+
## What a receipt proves
|
|
153
|
+
|
|
154
|
+
| A verified receipt can establish | A verified receipt does not establish |
|
|
155
|
+
|---|---|
|
|
156
|
+
| A stated key signed these exact bytes | The real world identity or honesty of the key holder |
|
|
157
|
+
| The signed content has not changed | The truth of the reported score or finding |
|
|
158
|
+
| A supplied Merkle inclusion or sample opening is valid | That the evaluation design was good |
|
|
159
|
+
| A declared threshold, provenance field, or relation is present and bound | That the computation itself was correct |
|
|
160
|
+
| A supplied relying party policy was met | That no omitted run or cherry picked result exists unless the chosen profile makes that claim testable |
|
|
161
|
+
|
|
162
|
+
This boundary is the product. proofbundle makes a claim attributable and tamper evident without turning the claim into truth.
|
|
163
|
+
|
|
164
|
+
Read the full [threat model](https://github.com/b7n0de/proofbundle/blob/main/THREAT_MODEL.md) and the project wide [non claims](https://github.com/b7n0de/proofbundle/blob/main/docs/NON_CLAIMS.md).
|
|
165
|
+
|
|
166
|
+
## Choose the path that matches your task
|
|
167
|
+
|
|
168
|
+
| Task | Install | Start here |
|
|
169
|
+
|---|---|---|
|
|
170
|
+
| Verify an existing receipt offline | `proofbundle` | [Quick start](#quick-start), [SPEC.md](https://github.com/b7n0de/proofbundle/blob/main/SPEC.md) |
|
|
171
|
+
| Emit an evaluation receipt or preregistration | `proofbundle[eval]` | [docs/DEMO.md](https://github.com/b7n0de/proofbundle/blob/main/docs/DEMO.md), [EVAL_CLAIM.md](https://github.com/b7n0de/proofbundle/blob/main/EVAL_CLAIM.md) |
|
|
172
|
+
| Integrate with Inspect AI | `proofbundle[inspect]` | [docs/INSPECT_HAPPY_PATH.md](https://github.com/b7n0de/proofbundle/blob/main/docs/INSPECT_HAPPY_PATH.md) |
|
|
173
|
+
| Add a signed agent review disclosure to a PR or issue | `proofbundle` | [5.1.0 release notes](https://github.com/b7n0de/proofbundle/releases/tag/v5.1.0), [conformance/agent_review](https://github.com/b7n0de/proofbundle/tree/main/conformance/agent_review/) |
|
|
174
|
+
| Verify RFC 3161 or OpenTimestamps evidence | `proofbundle[anchors]` | [docs/ANCHORS.md](https://github.com/b7n0de/proofbundle/blob/main/docs/ANCHORS.md) |
|
|
175
|
+
| Verify ML-DSA-44 witness cosignatures | `proofbundle[pq]` | [docs/ANCHORS.md](https://github.com/b7n0de/proofbundle/blob/main/docs/ANCHORS.md) |
|
|
176
|
+
| Explore the TEE attestation bridge | `proofbundle[experimental]` | [docs/EXPERIMENTAL_ENCLAVE.md](https://github.com/b7n0de/proofbundle/blob/main/docs/EXPERIMENTAL_ENCLAVE.md) |
|
|
177
|
+
|
|
178
|
+
## How it works
|
|
179
|
+
|
|
180
|
+
```text
|
|
181
|
+
evaluation, review, decision, or action
|
|
182
|
+
│
|
|
183
|
+
▼
|
|
184
|
+
canonical statement and commitments
|
|
185
|
+
│
|
|
186
|
+
▼
|
|
187
|
+
signature and optional Merkle proofs
|
|
188
|
+
│
|
|
189
|
+
▼
|
|
190
|
+
one portable receipt file
|
|
191
|
+
│
|
|
192
|
+
▼
|
|
193
|
+
proofbundle verification offline
|
|
194
|
+
│
|
|
195
|
+
▼
|
|
196
|
+
separate verification axes and policy result
|
|
197
|
+
```
|
|
198
|
+
|
|
199
|
+
The verifier checks only the evidence supplied to it. Trust anchors, expected subjects, currentness information, and policy requirements come from the relying party.
|
|
200
|
+
|
|
201
|
+
## Capabilities and maturity
|
|
202
|
+
|
|
203
|
+
proofbundle is a **beta project**. Shipped does not mean that every profile has the same maturity.
|
|
204
|
+
|
|
205
|
+
| Capability | What it provides | Maturity |
|
|
206
|
+
|---|---|---|
|
|
207
|
+
| Core receipt verification | Ed25519 signatures, RFC 6962 and RFC 9162 Merkle inclusion, strict parsing, offline verification | Shipped |
|
|
208
|
+
| Evaluation receipts | Metric and threshold claims, provenance, salted commitments, optional per sample audit | Shipped |
|
|
209
|
+
| Selective disclosure | SD-JWT with key binding for hiding selected values while preserving verifiability | Shipped |
|
|
210
|
+
| Agent review receipts | Signed self declarations for AI involvement and review in PRs and issues | Shipped in 5.1.0, `agent-review/v0.1`, self declared assurance only |
|
|
211
|
+
| Inspect, pytest, and Hugging Face bridges | Opt in adapters for existing evaluation workflows | Shipped |
|
|
212
|
+
| External time evidence | RFC 3161, OpenTimestamps, and a bring your own anchor interface | Experimental, the `[anchors]` extra |
|
|
213
|
+
| Decision receipts | A gate's verdict over named evidence, bound to the receipts it judged, never a claim that the verdict was correct | Shipped |
|
|
214
|
+
| Outcome, relation, run ledger, trust pack, and verification summary predicates | Typed evidence graphs and relying party policy inputs | Experimental |
|
|
215
|
+
| TEE attestation bridge | RATS and EAT based enclave evidence | Preview, experimental |
|
|
216
|
+
|
|
217
|
+
The full predicate inventory and maturity labels live in [docs/predicates/README.md](https://github.com/b7n0de/proofbundle/blob/main/docs/predicates/README.md).
|
|
218
|
+
|
|
219
|
+
## Security and trust
|
|
220
|
+
|
|
221
|
+
- The verifier uses `cryptography` for Ed25519 and `rfc8785` for canonicalization. It does not implement its own cryptographic primitives.
|
|
222
|
+
- Correctness is checked against external RFC 6962 vectors and a real Sigstore Rekor proof, not only against the project's own receipts.
|
|
223
|
+
- The test suite sits behind a mutation gate and property based parser fuzzing.
|
|
224
|
+
- The receipt signature is Ed25519 and is not post quantum. Post quantum coverage today is limited to witness side ML-DSA-44 cosignatures. A post quantum payload signature is on the roadmap and not yet built. Detail in [docs/ANCHORS.md](https://github.com/b7n0de/proofbundle/blob/main/docs/ANCHORS.md).
|
|
225
|
+
- Releases are built once, carry SLSA build provenance, and are published through PyPI Trusted Publishing, where PyPI records PEP 740 attestations for the same bytes.
|
|
226
|
+
- The conformance corpus includes positive controls and counter proofs. Read what it does and does not establish in [CONFORMANCE.md](https://github.com/b7n0de/proofbundle/blob/main/CONFORMANCE.md).
|
|
227
|
+
- The 30 minute adversarial adoption path is in [docs/REVIEWERS.md](https://github.com/b7n0de/proofbundle/blob/main/docs/REVIEWERS.md).
|
|
228
|
+
- Security reports follow [SECURITY.md](https://github.com/b7n0de/proofbundle/blob/main/SECURITY.md).
|
|
229
|
+
- Release specific audit artefacts and residual risks remain visible rather than being folded into a single green status.
|
|
230
|
+
|
|
231
|
+
### OpenSSF Scorecard
|
|
232
|
+
|
|
233
|
+
[](https://scorecard.dev/viewer/?uri=github.com/b7n0de/proofbundle)
|
|
234
|
+
|
|
235
|
+
The aggregate score is a live heuristic, not a product verdict. Several checks score zero for reasons that are written down rather than hidden, one sentence per check, in [docs/SCORECARD.md](https://github.com/b7n0de/proofbundle/blob/main/docs/SCORECARD.md). The [OpenSSF self assessment](https://github.com/b7n0de/proofbundle/blob/main/docs/openssf_best_practices_self_assessment.md) walks the Best Practices criteria honestly.
|
|
236
|
+
|
|
237
|
+
## Standards and interoperability
|
|
238
|
+
|
|
239
|
+
proofbundle is a small offline receipt layer that complements, rather than replaces, systems such as in-toto, Sigstore, SCITT, transparency logs, trusted execution environments, and independent reproduction.
|
|
240
|
+
|
|
241
|
+
- [INTEROP.md](https://github.com/b7n0de/proofbundle/blob/main/INTEROP.md) compares the boundaries tool by tool.
|
|
242
|
+
- [docs/RECEIPT_ENVELOPE_PROFILE.md](https://github.com/b7n0de/proofbundle/blob/main/docs/RECEIPT_ENVELOPE_PROFILE.md) defines the portable envelope profile.
|
|
243
|
+
- [docs/IN_TOTO_PROFILE.md](https://github.com/b7n0de/proofbundle/blob/main/docs/IN_TOTO_PROFILE.md) describes the in-toto mapping.
|
|
244
|
+
- [docs/SCITT_CPB_MAPPING.md](https://github.com/b7n0de/proofbundle/blob/main/docs/SCITT_CPB_MAPPING.md) records the SCITT mapping.
|
|
245
|
+
- [docs/RELATED_WORK.md](https://github.com/b7n0de/proofbundle/blob/main/docs/RELATED_WORK.md) holds the research neighbourhood.
|
|
246
|
+
|
|
247
|
+
## Documentation
|
|
248
|
+
|
|
249
|
+
| Reader | Start here |
|
|
250
|
+
|---|---|
|
|
251
|
+
| New user | [docs/GLOSSARY.md](https://github.com/b7n0de/proofbundle/blob/main/docs/GLOSSARY.md), [docs/DEMO.md](https://github.com/b7n0de/proofbundle/blob/main/docs/DEMO.md) |
|
|
252
|
+
| Adopter or security reviewer | [docs/REVIEWERS.md](https://github.com/b7n0de/proofbundle/blob/main/docs/REVIEWERS.md), [THREAT_MODEL.md](https://github.com/b7n0de/proofbundle/blob/main/THREAT_MODEL.md) |
|
|
253
|
+
| Implementer | [SPEC.md](https://github.com/b7n0de/proofbundle/blob/main/SPEC.md), [CONFORMANCE.md](https://github.com/b7n0de/proofbundle/blob/main/CONFORMANCE.md) |
|
|
254
|
+
| Integrator | [INTEGRATIONS.md](https://github.com/b7n0de/proofbundle/blob/main/INTEGRATIONS.md), [docs/INSPECT_HAPPY_PATH.md](https://github.com/b7n0de/proofbundle/blob/main/docs/INSPECT_HAPPY_PATH.md) |
|
|
255
|
+
| Relying party | [docs/POLICY_PROFILES.md](https://github.com/b7n0de/proofbundle/blob/main/docs/POLICY_PROFILES.md), [docs/TRUST_ANCHORS.md](https://github.com/b7n0de/proofbundle/blob/main/docs/TRUST_ANCHORS.md) |
|
|
256
|
+
| Standards or research reader | [INTEROP.md](https://github.com/b7n0de/proofbundle/blob/main/INTEROP.md), [docs/RELATED_WORK.md](https://github.com/b7n0de/proofbundle/blob/main/docs/RELATED_WORK.md) |
|
|
257
|
+
| Release reviewer | [CHANGELOG.md](https://github.com/b7n0de/proofbundle/blob/main/CHANGELOG.md), [docs/PRE_TAG_AUDIT.md](https://github.com/b7n0de/proofbundle/blob/main/docs/PRE_TAG_AUDIT.md) |
|
|
258
|
+
|
|
259
|
+
## Scope
|
|
260
|
+
|
|
261
|
+
proofbundle is not a hosted transparency service, a complete in-toto client, a trusted execution environment, a consensus system, or a compliance product by itself.
|
|
262
|
+
|
|
263
|
+
It is the portable, standards oriented receipt layer between an evidence producer and a relying party.
|
|
264
|
+
|
|
265
|
+
Roadmap, stated as not yet built. A post quantum payload signature, and a CLI flag to select the content root algorithm, `jcs-sha256-v1` is the signed default today.
|
|
266
|
+
|
|
267
|
+
## Citation
|
|
268
|
+
|
|
269
|
+
Machine readable citation metadata is in [CITATION.cff](https://github.com/b7n0de/proofbundle/blob/main/CITATION.cff).
|
|
270
|
+
|
|
271
|
+
The archival software record uses concept DOI [10.5281/zenodo.21110642](https://doi.org/10.5281/zenodo.21110642). The Technical Note uses concept DOI [10.5281/zenodo.21230466](https://doi.org/10.5281/zenodo.21230466).
|
|
272
|
+
|
|
273
|
+
## Contributing
|
|
274
|
+
|
|
275
|
+
Read [CONTRIBUTING.md](https://github.com/b7n0de/proofbundle/blob/main/CONTRIBUTING.md) and the [Code of Conduct](https://github.com/b7n0de/proofbundle/blob/main/CODE_OF_CONDUCT.md).
|
|
276
|
+
|
|
277
|
+
Good first issues use the [`good-first-issue`](https://github.com/b7n0de/proofbundle/labels/good-first-issue) label. Security findings follow [SECURITY.md](https://github.com/b7n0de/proofbundle/blob/main/SECURITY.md).
|
|
278
|
+
|
|
279
|
+
The verifier core aims to remain small, dependency light, and auditable.
|
|
280
|
+
|
|
281
|
+
## License
|
|
282
|
+
|
|
283
|
+
MIT, see [LICENSE](https://github.com/b7n0de/proofbundle/blob/main/LICENSE).
|
|
284
|
+
|
|
285
|
+
---
|
|
286
|
+
|
|
287
|
+
<p align="center"><sub>proofbundle is part of <b>b7n0de</b>, Verified AI Work · <a href="https://b7n0de.com">b7n0de.com</a></sub></p>
|
|
@@ -0,0 +1,220 @@
|
|
|
1
|
+
<div align="center">
|
|
2
|
+
|
|
3
|
+
<picture>
|
|
4
|
+
<source media="(prefers-color-scheme: dark)" srcset="https://raw.githubusercontent.com/b7n0de/proofbundle/main/assets/b7n0de-hase-logo-dark.png">
|
|
5
|
+
<img alt="b7n0de, Verified AI Work, pink rabbit mascot over the B7N0DE wordmark" src="https://raw.githubusercontent.com/b7n0de/proofbundle/main/assets/b7n0de-hase-logo.png" width="200">
|
|
6
|
+
</picture>
|
|
7
|
+
|
|
8
|
+
<h1>proofbundle</h1>
|
|
9
|
+
|
|
10
|
+
[](https://github.com/b7n0de/proofbundle/actions/workflows/ci.yml)
|
|
11
|
+
[](https://github.com/b7n0de/proofbundle/actions/workflows/demo-reproducible.yml)
|
|
12
|
+
[](https://pypi.org/project/proofbundle/)
|
|
13
|
+
[](https://pypi.org/project/proofbundle/)
|
|
14
|
+
[](https://github.com/b7n0de/proofbundle/blob/main/LICENSE)
|
|
15
|
+
[](https://doi.org/10.5281/zenodo.21110642)
|
|
16
|
+
|
|
17
|
+
**AI eval results need receipts.**
|
|
18
|
+
|
|
19
|
+
Turn an AI evaluation result, review, decision, or action outcome into a portable receipt that can be checked offline.
|
|
20
|
+
|
|
21
|
+
proofbundle lets a verifier check **which key signed the exact bytes** and **whether those bytes changed**. It does not prove that the result is true, that the signer is trustworthy, or that the evaluation was sound.
|
|
22
|
+
|
|
23
|
+
**One file. No verification server. No network required.**
|
|
24
|
+
|
|
25
|
+
[Quick start](#quick-start) · [What it proves](#what-a-receipt-proves) · [New in 5.1.0](#new-in-510) · [Adoption review](https://github.com/b7n0de/proofbundle/blob/main/docs/REVIEWERS.md) · [Documentation](#documentation)
|
|
26
|
+
|
|
27
|
+
</div>
|
|
28
|
+
|
|
29
|
+
## New in 5.1.0
|
|
30
|
+
|
|
31
|
+
[proofbundle 5.1.0](https://github.com/b7n0de/proofbundle/releases/tag/v5.1.0) adds a new receipt kind for disclosing AI agent involvement and review in pull requests and issues.
|
|
32
|
+
|
|
33
|
+
- **Agent review receipts** bind the reviewed GitHub object, the declared review runs, coverage, findings, limitations, and the human visible disclosure.
|
|
34
|
+
- **Stronger subject and disclosure binding** prevents a valid receipt from silently travelling to another object or a visible block from claiming more than the signed predicate.
|
|
35
|
+
- **Clearer time and coverage semantics** separate declared event time from witness observation time and reject ambiguous claims of complete coverage.
|
|
36
|
+
- **Hardened correction chains** prevent an untrusted receipt from taking over the current position in a correction or supersession chain.
|
|
37
|
+
- **Executable conformance coverage** now includes the agent review predicate and the receipt envelope profile.
|
|
38
|
+
|
|
39
|
+
One behaviour change deserves attention before upgrading. `automation_summary` now adds `RECEIPT_NOT_OK` to its blockers when a receipt is not `ok`. Read the [5.1.0 changelog](https://github.com/b7n0de/proofbundle/blob/main/CHANGELOG.md#510---2026-08-31-the-profile-a-stranger-can-read--minor) before updating automation.
|
|
40
|
+
|
|
41
|
+
> **Release status**
|
|
42
|
+
>
|
|
43
|
+
> The closing audit verdict for 5.1.0 was `PARTIAL_GATE_NO_WITHSTANDS`, not `WITHSTANDS_DEEPGATE`. The declared residual risks are published in [RESTRISIKO_510.md](https://github.com/b7n0de/proofbundle/blob/main/RESTRISIKO_510.md).
|
|
44
|
+
|
|
45
|
+
## Quick start
|
|
46
|
+
|
|
47
|
+
Install the core verifier.
|
|
48
|
+
|
|
49
|
+
```bash
|
|
50
|
+
python -m pip install proofbundle
|
|
51
|
+
```
|
|
52
|
+
|
|
53
|
+
Requires Python 3.10 or newer. The core installs two dependencies, `cryptography` and `rfc8785`.
|
|
54
|
+
|
|
55
|
+
Download a real example receipt and verify it offline.
|
|
56
|
+
|
|
57
|
+
```bash
|
|
58
|
+
curl -fsSL \
|
|
59
|
+
https://raw.githubusercontent.com/b7n0de/proofbundle/main/examples/example_bundle.json \
|
|
60
|
+
-o receipt.json
|
|
61
|
+
|
|
62
|
+
proofbundle verify receipt.json
|
|
63
|
+
```
|
|
64
|
+
|
|
65
|
+
The command uses the local file only. Its exit code is part of the public contract.
|
|
66
|
+
|
|
67
|
+
```text
|
|
68
|
+
0 verified
|
|
69
|
+
1 verification failed
|
|
70
|
+
2 malformed input or usage error
|
|
71
|
+
3 relying party policy not met
|
|
72
|
+
```
|
|
73
|
+
|
|
74
|
+
Run the tamper demo.
|
|
75
|
+
|
|
76
|
+
```bash
|
|
77
|
+
python -m pip install "proofbundle[eval]"
|
|
78
|
+
proofbundle demo
|
|
79
|
+
```
|
|
80
|
+
|
|
81
|
+
The demo checks an honest receipt, multiple tampered variants, and a sample swap. It exits nonzero if a tamper is accepted.
|
|
82
|
+
|
|
83
|
+
For a guided walkthrough, see [docs/DEMO.md](https://github.com/b7n0de/proofbundle/blob/main/docs/DEMO.md). For Inspect, see [docs/INSPECT_HAPPY_PATH.md](https://github.com/b7n0de/proofbundle/blob/main/docs/INSPECT_HAPPY_PATH.md).
|
|
84
|
+
|
|
85
|
+
## What a receipt proves
|
|
86
|
+
|
|
87
|
+
| A verified receipt can establish | A verified receipt does not establish |
|
|
88
|
+
|---|---|
|
|
89
|
+
| A stated key signed these exact bytes | The real world identity or honesty of the key holder |
|
|
90
|
+
| The signed content has not changed | The truth of the reported score or finding |
|
|
91
|
+
| A supplied Merkle inclusion or sample opening is valid | That the evaluation design was good |
|
|
92
|
+
| A declared threshold, provenance field, or relation is present and bound | That the computation itself was correct |
|
|
93
|
+
| A supplied relying party policy was met | That no omitted run or cherry picked result exists unless the chosen profile makes that claim testable |
|
|
94
|
+
|
|
95
|
+
This boundary is the product. proofbundle makes a claim attributable and tamper evident without turning the claim into truth.
|
|
96
|
+
|
|
97
|
+
Read the full [threat model](https://github.com/b7n0de/proofbundle/blob/main/THREAT_MODEL.md) and the project wide [non claims](https://github.com/b7n0de/proofbundle/blob/main/docs/NON_CLAIMS.md).
|
|
98
|
+
|
|
99
|
+
## Choose the path that matches your task
|
|
100
|
+
|
|
101
|
+
| Task | Install | Start here |
|
|
102
|
+
|---|---|---|
|
|
103
|
+
| Verify an existing receipt offline | `proofbundle` | [Quick start](#quick-start), [SPEC.md](https://github.com/b7n0de/proofbundle/blob/main/SPEC.md) |
|
|
104
|
+
| Emit an evaluation receipt or preregistration | `proofbundle[eval]` | [docs/DEMO.md](https://github.com/b7n0de/proofbundle/blob/main/docs/DEMO.md), [EVAL_CLAIM.md](https://github.com/b7n0de/proofbundle/blob/main/EVAL_CLAIM.md) |
|
|
105
|
+
| Integrate with Inspect AI | `proofbundle[inspect]` | [docs/INSPECT_HAPPY_PATH.md](https://github.com/b7n0de/proofbundle/blob/main/docs/INSPECT_HAPPY_PATH.md) |
|
|
106
|
+
| Add a signed agent review disclosure to a PR or issue | `proofbundle` | [5.1.0 release notes](https://github.com/b7n0de/proofbundle/releases/tag/v5.1.0), [conformance/agent_review](https://github.com/b7n0de/proofbundle/tree/main/conformance/agent_review/) |
|
|
107
|
+
| Verify RFC 3161 or OpenTimestamps evidence | `proofbundle[anchors]` | [docs/ANCHORS.md](https://github.com/b7n0de/proofbundle/blob/main/docs/ANCHORS.md) |
|
|
108
|
+
| Verify ML-DSA-44 witness cosignatures | `proofbundle[pq]` | [docs/ANCHORS.md](https://github.com/b7n0de/proofbundle/blob/main/docs/ANCHORS.md) |
|
|
109
|
+
| Explore the TEE attestation bridge | `proofbundle[experimental]` | [docs/EXPERIMENTAL_ENCLAVE.md](https://github.com/b7n0de/proofbundle/blob/main/docs/EXPERIMENTAL_ENCLAVE.md) |
|
|
110
|
+
|
|
111
|
+
## How it works
|
|
112
|
+
|
|
113
|
+
```text
|
|
114
|
+
evaluation, review, decision, or action
|
|
115
|
+
│
|
|
116
|
+
▼
|
|
117
|
+
canonical statement and commitments
|
|
118
|
+
│
|
|
119
|
+
▼
|
|
120
|
+
signature and optional Merkle proofs
|
|
121
|
+
│
|
|
122
|
+
▼
|
|
123
|
+
one portable receipt file
|
|
124
|
+
│
|
|
125
|
+
▼
|
|
126
|
+
proofbundle verification offline
|
|
127
|
+
│
|
|
128
|
+
▼
|
|
129
|
+
separate verification axes and policy result
|
|
130
|
+
```
|
|
131
|
+
|
|
132
|
+
The verifier checks only the evidence supplied to it. Trust anchors, expected subjects, currentness information, and policy requirements come from the relying party.
|
|
133
|
+
|
|
134
|
+
## Capabilities and maturity
|
|
135
|
+
|
|
136
|
+
proofbundle is a **beta project**. Shipped does not mean that every profile has the same maturity.
|
|
137
|
+
|
|
138
|
+
| Capability | What it provides | Maturity |
|
|
139
|
+
|---|---|---|
|
|
140
|
+
| Core receipt verification | Ed25519 signatures, RFC 6962 and RFC 9162 Merkle inclusion, strict parsing, offline verification | Shipped |
|
|
141
|
+
| Evaluation receipts | Metric and threshold claims, provenance, salted commitments, optional per sample audit | Shipped |
|
|
142
|
+
| Selective disclosure | SD-JWT with key binding for hiding selected values while preserving verifiability | Shipped |
|
|
143
|
+
| Agent review receipts | Signed self declarations for AI involvement and review in PRs and issues | Shipped in 5.1.0, `agent-review/v0.1`, self declared assurance only |
|
|
144
|
+
| Inspect, pytest, and Hugging Face bridges | Opt in adapters for existing evaluation workflows | Shipped |
|
|
145
|
+
| External time evidence | RFC 3161, OpenTimestamps, and a bring your own anchor interface | Experimental, the `[anchors]` extra |
|
|
146
|
+
| Decision receipts | A gate's verdict over named evidence, bound to the receipts it judged, never a claim that the verdict was correct | Shipped |
|
|
147
|
+
| Outcome, relation, run ledger, trust pack, and verification summary predicates | Typed evidence graphs and relying party policy inputs | Experimental |
|
|
148
|
+
| TEE attestation bridge | RATS and EAT based enclave evidence | Preview, experimental |
|
|
149
|
+
|
|
150
|
+
The full predicate inventory and maturity labels live in [docs/predicates/README.md](https://github.com/b7n0de/proofbundle/blob/main/docs/predicates/README.md).
|
|
151
|
+
|
|
152
|
+
## Security and trust
|
|
153
|
+
|
|
154
|
+
- The verifier uses `cryptography` for Ed25519 and `rfc8785` for canonicalization. It does not implement its own cryptographic primitives.
|
|
155
|
+
- Correctness is checked against external RFC 6962 vectors and a real Sigstore Rekor proof, not only against the project's own receipts.
|
|
156
|
+
- The test suite sits behind a mutation gate and property based parser fuzzing.
|
|
157
|
+
- The receipt signature is Ed25519 and is not post quantum. Post quantum coverage today is limited to witness side ML-DSA-44 cosignatures. A post quantum payload signature is on the roadmap and not yet built. Detail in [docs/ANCHORS.md](https://github.com/b7n0de/proofbundle/blob/main/docs/ANCHORS.md).
|
|
158
|
+
- Releases are built once, carry SLSA build provenance, and are published through PyPI Trusted Publishing, where PyPI records PEP 740 attestations for the same bytes.
|
|
159
|
+
- The conformance corpus includes positive controls and counter proofs. Read what it does and does not establish in [CONFORMANCE.md](https://github.com/b7n0de/proofbundle/blob/main/CONFORMANCE.md).
|
|
160
|
+
- The 30 minute adversarial adoption path is in [docs/REVIEWERS.md](https://github.com/b7n0de/proofbundle/blob/main/docs/REVIEWERS.md).
|
|
161
|
+
- Security reports follow [SECURITY.md](https://github.com/b7n0de/proofbundle/blob/main/SECURITY.md).
|
|
162
|
+
- Release specific audit artefacts and residual risks remain visible rather than being folded into a single green status.
|
|
163
|
+
|
|
164
|
+
### OpenSSF Scorecard
|
|
165
|
+
|
|
166
|
+
[](https://scorecard.dev/viewer/?uri=github.com/b7n0de/proofbundle)
|
|
167
|
+
|
|
168
|
+
The aggregate score is a live heuristic, not a product verdict. Several checks score zero for reasons that are written down rather than hidden, one sentence per check, in [docs/SCORECARD.md](https://github.com/b7n0de/proofbundle/blob/main/docs/SCORECARD.md). The [OpenSSF self assessment](https://github.com/b7n0de/proofbundle/blob/main/docs/openssf_best_practices_self_assessment.md) walks the Best Practices criteria honestly.
|
|
169
|
+
|
|
170
|
+
## Standards and interoperability
|
|
171
|
+
|
|
172
|
+
proofbundle is a small offline receipt layer that complements, rather than replaces, systems such as in-toto, Sigstore, SCITT, transparency logs, trusted execution environments, and independent reproduction.
|
|
173
|
+
|
|
174
|
+
- [INTEROP.md](https://github.com/b7n0de/proofbundle/blob/main/INTEROP.md) compares the boundaries tool by tool.
|
|
175
|
+
- [docs/RECEIPT_ENVELOPE_PROFILE.md](https://github.com/b7n0de/proofbundle/blob/main/docs/RECEIPT_ENVELOPE_PROFILE.md) defines the portable envelope profile.
|
|
176
|
+
- [docs/IN_TOTO_PROFILE.md](https://github.com/b7n0de/proofbundle/blob/main/docs/IN_TOTO_PROFILE.md) describes the in-toto mapping.
|
|
177
|
+
- [docs/SCITT_CPB_MAPPING.md](https://github.com/b7n0de/proofbundle/blob/main/docs/SCITT_CPB_MAPPING.md) records the SCITT mapping.
|
|
178
|
+
- [docs/RELATED_WORK.md](https://github.com/b7n0de/proofbundle/blob/main/docs/RELATED_WORK.md) holds the research neighbourhood.
|
|
179
|
+
|
|
180
|
+
## Documentation
|
|
181
|
+
|
|
182
|
+
| Reader | Start here |
|
|
183
|
+
|---|---|
|
|
184
|
+
| New user | [docs/GLOSSARY.md](https://github.com/b7n0de/proofbundle/blob/main/docs/GLOSSARY.md), [docs/DEMO.md](https://github.com/b7n0de/proofbundle/blob/main/docs/DEMO.md) |
|
|
185
|
+
| Adopter or security reviewer | [docs/REVIEWERS.md](https://github.com/b7n0de/proofbundle/blob/main/docs/REVIEWERS.md), [THREAT_MODEL.md](https://github.com/b7n0de/proofbundle/blob/main/THREAT_MODEL.md) |
|
|
186
|
+
| Implementer | [SPEC.md](https://github.com/b7n0de/proofbundle/blob/main/SPEC.md), [CONFORMANCE.md](https://github.com/b7n0de/proofbundle/blob/main/CONFORMANCE.md) |
|
|
187
|
+
| Integrator | [INTEGRATIONS.md](https://github.com/b7n0de/proofbundle/blob/main/INTEGRATIONS.md), [docs/INSPECT_HAPPY_PATH.md](https://github.com/b7n0de/proofbundle/blob/main/docs/INSPECT_HAPPY_PATH.md) |
|
|
188
|
+
| Relying party | [docs/POLICY_PROFILES.md](https://github.com/b7n0de/proofbundle/blob/main/docs/POLICY_PROFILES.md), [docs/TRUST_ANCHORS.md](https://github.com/b7n0de/proofbundle/blob/main/docs/TRUST_ANCHORS.md) |
|
|
189
|
+
| Standards or research reader | [INTEROP.md](https://github.com/b7n0de/proofbundle/blob/main/INTEROP.md), [docs/RELATED_WORK.md](https://github.com/b7n0de/proofbundle/blob/main/docs/RELATED_WORK.md) |
|
|
190
|
+
| Release reviewer | [CHANGELOG.md](https://github.com/b7n0de/proofbundle/blob/main/CHANGELOG.md), [docs/PRE_TAG_AUDIT.md](https://github.com/b7n0de/proofbundle/blob/main/docs/PRE_TAG_AUDIT.md) |
|
|
191
|
+
|
|
192
|
+
## Scope
|
|
193
|
+
|
|
194
|
+
proofbundle is not a hosted transparency service, a complete in-toto client, a trusted execution environment, a consensus system, or a compliance product by itself.
|
|
195
|
+
|
|
196
|
+
It is the portable, standards oriented receipt layer between an evidence producer and a relying party.
|
|
197
|
+
|
|
198
|
+
Roadmap, stated as not yet built. A post quantum payload signature, and a CLI flag to select the content root algorithm, `jcs-sha256-v1` is the signed default today.
|
|
199
|
+
|
|
200
|
+
## Citation
|
|
201
|
+
|
|
202
|
+
Machine readable citation metadata is in [CITATION.cff](https://github.com/b7n0de/proofbundle/blob/main/CITATION.cff).
|
|
203
|
+
|
|
204
|
+
The archival software record uses concept DOI [10.5281/zenodo.21110642](https://doi.org/10.5281/zenodo.21110642). The Technical Note uses concept DOI [10.5281/zenodo.21230466](https://doi.org/10.5281/zenodo.21230466).
|
|
205
|
+
|
|
206
|
+
## Contributing
|
|
207
|
+
|
|
208
|
+
Read [CONTRIBUTING.md](https://github.com/b7n0de/proofbundle/blob/main/CONTRIBUTING.md) and the [Code of Conduct](https://github.com/b7n0de/proofbundle/blob/main/CODE_OF_CONDUCT.md).
|
|
209
|
+
|
|
210
|
+
Good first issues use the [`good-first-issue`](https://github.com/b7n0de/proofbundle/labels/good-first-issue) label. Security findings follow [SECURITY.md](https://github.com/b7n0de/proofbundle/blob/main/SECURITY.md).
|
|
211
|
+
|
|
212
|
+
The verifier core aims to remain small, dependency light, and auditable.
|
|
213
|
+
|
|
214
|
+
## License
|
|
215
|
+
|
|
216
|
+
MIT, see [LICENSE](https://github.com/b7n0de/proofbundle/blob/main/LICENSE).
|
|
217
|
+
|
|
218
|
+
---
|
|
219
|
+
|
|
220
|
+
<p align="center"><sub>proofbundle is part of <b>b7n0de</b>, Verified AI Work · <a href="https://b7n0de.com">b7n0de.com</a></sub></p>
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
c9118da583581c150090ddeef9932b8082690a8854320f41a553a3dc60835ed1 AUDITOR_OPEN_POINTS.md
|
|
2
2
|
3d66a85ff79c0258d794e7c8d8740f8a3b7a62e6ffd9bd7dada158a939964660 OPEN_QUESTIONS.md
|
|
3
|
-
|
|
3
|
+
cfb4da2246999af4b167403698381065d5b170de991357cacf8a9630efa323ff PROGRESS.md
|
|
4
4
|
6ccab20c7daef6d71c13e0dcacba24a6a18dd480b5d41418e01b5bf2983ffc9c README.md
|
|
5
5
|
c9ceb3f92a2f720d901affa8defb47004b58a51029317208db641ce53d90b284 REPRODUCTION_RUNBOOK.md
|
|
6
6
|
1b4e4316aaea6c962664fc08945c65a048147fdc4ad89a1e694818b934ef6fa2 calendar_independence.md
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# Honest progress accounting (No-Overclaim)
|
|
2
2
|
|
|
3
|
-
The denominator is the full distance from the 3.3.0 baseline (current release: 5.1.0) to the externally
|
|
3
|
+
The denominator is the full distance from the 3.3.0 baseline (current release: 5.1.0.post1) to the externally
|
|
4
4
|
audited, trustworthy state. That state is defined by audit completion and closed findings, not by any
|
|
5
5
|
version number — the audit is decoupled from the version line and happens when maturity is reached,
|
|
6
6
|
whatever version is current then. This is a factual progress statement, not a forward promise, and it is
|
|
@@ -1,16 +1,16 @@
|
|
|
1
1
|
{
|
|
2
2
|
"schema": "proofbundle/v0.1",
|
|
3
|
-
"payload_b64": "
|
|
3
|
+
"payload_b64": "YzkxMThkYTU4MzU4MWMxNTAwOTBkZGVlZjk5MzJiODA4MjY5MGE4ODU0MzIwZjQxYTU1M2EzZGM2MDgzNWVkMSAgQVVESVRPUl9PUEVOX1BPSU5UUy5tZAozZDY2YTg1ZmY3OWMwMjU4ZDc5NGU3YzhkODc0MGY4YTNiN2E2MmU2ZmZkOWJkN2RhZGExNThhOTM5OTY0NjYwICBPUEVOX1FVRVNUSU9OUy5tZApjZmI0ZGEyMjQ2OTk5YWY0YjE2NzQwMzY5ODM4MTA2NWQ1YjE3MGRlOTkxMzU3Y2FjZjhhOTYzMGVmYTMyM2ZmICBQUk9HUkVTUy5tZAo2Y2NhYjIwYzdkYWVmNmQ3MWMxM2UwZGNhY2JhMjRhNmExOGRkNDgwYjVkNDE0MThlMDFiNWJmMjk4M2ZmYzljICBSRUFETUUubWQKYzljZWIzZjkyYTJmNzIwZDkwMWFmZmE4ZGVmYjQ3MDA0YjU4YTUxMDI5MzE3MjA4ZGI2NDFjZTUzZDkwYjI4NCAgUkVQUk9EVUNUSU9OX1JVTkJPT0subWQKMWI0ZTQzMTZhYWVhNmM5NjI2NjRmYzA4OTQ1YzY1YTA0ODE0N2ZkYzRhZDg5YTFlNjk0ODE4YjkzNGVmNmZhMiAgY2FsZW5kYXJfaW5kZXBlbmRlbmNlLm1kCjlhOWE5ZTQ5NTYwNzZjNmMyODdkYWRhNWRlODJlYjY2Y2YyNTljZWM4OWE2ZTc5MTA4OGUxNzMzYTc0YzVlYTMgIGRpZmZlcmVudGlhbF9tYXRyaXgubWQKNTExNWM3N2JkODBiYzE4Y2I2NzFmNWRjODYzMmNjYTM3ODFhNmU1ZGYzN2I2ZmQxYWU5N2NjNmExNjM0MzZmNyAgaW5kZXguanNvbgpkMWQxZTA0ZTlkMmRlMzg0NDNlYzJiOTUzYzNhOWM5NjhhMzAzZTgxOTc3Y2I3ZTEyODQ2ODk0NTE2MGI1NmQ3ICBydXN0X3Bhcml0eV9zY29wZS5tZApmMmE3N2NhY2Q3ZmVmZTM5NDUwZWRiMTg1N2VjMmZmYzI1YTRkNGMzZDhkNjhlZmEwOTRiYTg0YWI3MzI1NzA4ICB0YW1wZXJfcmVzaXN0YW5jZS5tZAo2ZDZhNDA2NWExZTdlMDcxODE5OTYwY2VmOGUwMTE3YWRhOThlOTMxY2Q2MmZkOTQzNDFiNDVhZjQ4NjU3MTFhICB0aHJlYXRfbW9kZWxfZGVsdGFfMzYwLm1kCg==",
|
|
4
4
|
"signature": {
|
|
5
5
|
"alg": "ed25519",
|
|
6
|
-
"public_key_b64": "
|
|
7
|
-
"sig_b64": "
|
|
6
|
+
"public_key_b64": "29mWRo0VQctK/+MRNE4vqyFplAbIcdq64KuvkzOOzBk=",
|
|
7
|
+
"sig_b64": "9jjMrTt5Qqgpi5UiJ+HzEGpcvNGAXLWz6oBUm6qoWA/LGKDV0yuQlN+cCS8W889kQXaO452bUiP2sD3CQQ2NBg=="
|
|
8
8
|
},
|
|
9
9
|
"merkle": {
|
|
10
10
|
"hash_alg": "sha256-rfc6962",
|
|
11
11
|
"leaf_index": 0,
|
|
12
12
|
"tree_size": 1,
|
|
13
13
|
"inclusion_proof_b64": [],
|
|
14
|
-
"root_b64": "
|
|
14
|
+
"root_b64": "d6PKBUPtvEmtEd3ztbYb+dOR/3FfmJ5XoutAiI7yukk="
|
|
15
15
|
}
|
|
16
16
|
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
29mWRo0VQctK/+MRNE4vqyFplAbIcdq64KuvkzOOzBk=
|
|
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
|
|
|
4
4
|
|
|
5
5
|
[project]
|
|
6
6
|
name = "proofbundle"
|
|
7
|
-
version = "5.1.0"
|
|
7
|
+
version = "5.1.0.post1"
|
|
8
8
|
description = "Emit and verify portable cryptographic evidence bundles, offline: Ed25519 + RFC 6962 Merkle + optional SD-JWT."
|
|
9
9
|
readme = "README.md"
|
|
10
10
|
requires-python = ">=3.10"
|