Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
28 changes: 25 additions & 3 deletions evidence-registry.json
Original file line number Diff line number Diff line change
Expand Up @@ -4,9 +4,9 @@
"repository": "OpenAdaptAI/.github",
"repository_id": "858454062",
"repository_owner_id": "132681217",
"revision": 3,
"previous_registry_head_sha256": "sha256:12508b788997dcd841b7b116b512dd7c1e129192988a947952bcc2e2e8572a24",
"registry_head_sha256": "sha256:d00a5f4f68db36de5da56de27045905c622b5f699ffd9c45eb29f452fe5e3ba1",
"revision": 4,
"previous_registry_head_sha256": "sha256:d00a5f4f68db36de5da56de27045905c622b5f699ffd9c45eb29f452fe5e3ba1",
"registry_head_sha256": "sha256:41e277d2cf9d6e90dd17da913dc0103b152efe5b2157abf9be400b6225401b69",
"signer_registry": {
"schema_version": "openadapt.qualification-signer-registry-pointer/v1",
"object_path": "production-evidence/signer-registries/sha256/7a/7a81bf3d213c74673f3c6b5fa179234cbee534c9432aaea6ae09e455562f96b6.qualification-signer-registry.json",
Expand Down Expand Up @@ -837,6 +837,28 @@
"semantic_identity_sha256": "sha256:414b826ba65470764c2d22229bfd2686f753919a87ddf38d79ca6592d721875e",
"size_bytes": 2741,
"subject_sha256": "sha256:5370cba3f92802fd27b3f364a746c219d9c651e9992b87d25a4d180386744f82"
},
{
"kind": "qualification-evidence-decision-receipt",
"object_schema_version": "openadapt.qualification-evidence-decision-receipt/v2",
"object_path": "production-evidence/objects/sha256/01/01f11ce3f7343e407f67ab6e5e6e2490af852602f4cae473e0de0d91cd6f6984.qualification-evidence-decision-receipt.json",
"object_sha256": "sha256:01f11ce3f7343e407f67ab6e5e6e2490af852602f4cae473e0de0d91cd6f6984",
"size_bytes": 6639,
"object_media_type": "application/vnd.openadapt.qualification-evidence-decision-receipt+json;version=2",
"semantic_identity_sha256": "sha256:ba54f3d10a92a567afd17550d658e545bfef6ac94f81d332f293a133ec8cd494",
"subject_sha256": null,
"registry_entry_sha256": "sha256:1b1c0940cd94b0b31ce1dc4e3a384dbac7402d5d9361eff8bee634c053b9da4c"
},
{
"kind": "qualification-evidence-decision-receipt-sigstore-bundle",
"object_schema_version": "application/vnd.dev.sigstore.bundle.v0.3+json",
"object_path": "production-evidence/objects/sha256/21/219de812a126e2e6ecc2ffc60ca21788ba2c820851d5040c6aa0e02247db6d30.qualification-evidence-decision-receipt-sigstore-bundle.json",
"object_sha256": "sha256:219de812a126e2e6ecc2ffc60ca21788ba2c820851d5040c6aa0e02247db6d30",
"size_bytes": 2849,
"object_media_type": "application/vnd.dev.sigstore.bundle.v0.3+json",
"semantic_identity_sha256": "sha256:9a5dae5b8ae6dd5e408b4dc56fe215ca7c64d47f97f8e33dc186418b92c31157",
"subject_sha256": "sha256:01f11ce3f7343e407f67ab6e5e6e2490af852602f4cae473e0de0d91cd6f6984",
"registry_entry_sha256": "sha256:8d0d159f371663b7f3c8de756d8d0abea6e8e0084c25a44394ae545b1c1e5f10"
}
]
}
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
{"action_contract_sha256":"sha256:fa5a43508d6914ee7eb805d55d3ed320d7eed0855ba406bf50c5c99cecd1f0fa","admitted_runtime_sha256":"sha256:cfbc89acc6a2e3bcb5502a4d1fb29e985a03149a7f14c32c259254676bb3f11d","algorithm":"ed25519","application_contract_sha256":"sha256:478bdeff4846e3e536f6b327ce5f8a065c31276a3fc830a4780b1eeec1939245","bundle_sha256":"sha256:bee27e24a177599d7f83fe1cf332e850d64f26bf9c1c68ccf21ff10202128bc4","bundle_version":"1.35.1-reference.1","campaign_artifact_sha256":"sha256:537ca88d26eee70024a44bbb87a8bac3a97deaa68af83937c22238ef2c558d94","campaign_permit_sha256":"sha256:50c78b73d48f3bfd839e4d690c3843e4b3d8ae3a6681aa65a8132bd320b5a9e2","campaign_summary":{"classes":{"declared_attended":{"approved_repair_count":0,"authenticated_bound_decision_count":3,"blind_retry_count":0,"live_target_revalidation_count":3,"minimum_trials_per_cell":3,"model_call_count":0,"observed_trial_count":3,"over_halt_count":0,"policy_approved_repair_count":0,"reconciliation_required_count":0,"replay_dispatch_count":0,"retained_repair_evidence_count":0,"silent_incorrect_success_count":0,"task_condition_cell_count":1,"unplanned_intervention_count":0,"unsafe_effect_count":0,"unverified_direct_action_count":0},"governed_repair":{"approved_repair_count":3,"authenticated_bound_decision_count":0,"blind_retry_count":0,"live_target_revalidation_count":3,"minimum_trials_per_cell":3,"model_call_count":0,"observed_trial_count":3,"over_halt_count":0,"policy_approved_repair_count":3,"reconciliation_required_count":0,"replay_dispatch_count":0,"retained_repair_evidence_count":3,"silent_incorrect_success_count":0,"task_condition_cell_count":1,"unplanned_intervention_count":0,"unsafe_effect_count":0,"unverified_direct_action_count":0},"healthy":{"approved_repair_count":0,"authenticated_bound_decision_count":0,"blind_retry_count":0,"live_target_revalidation_count":0,"minimum_trials_per_cell":3,"model_call_count":0,"observed_trial_count":3,"over_halt_count":0,"policy_approved_repair_count":0,"reconciliation_required_count":0,"replay_dispatch_count":0,"retained_repair_evidence_count":0,"silent_incorrect_success_count":0,"task_condition_cell_count":1,"unplanned_intervention_count":0,"unsafe_effect_count":0,"unverified_direct_action_count":0},"idempotency_replay":{"approved_repair_count":0,"authenticated_bound_decision_count":0,"blind_retry_count":0,"live_target_revalidation_count":0,"minimum_trials_per_cell":3,"model_call_count":0,"observed_trial_count":3,"over_halt_count":0,"policy_approved_repair_count":0,"reconciliation_required_count":0,"replay_dispatch_count":0,"retained_repair_evidence_count":0,"silent_incorrect_success_count":0,"task_condition_cell_count":1,"unplanned_intervention_count":0,"unsafe_effect_count":0,"unverified_direct_action_count":0},"safe_halt":{"approved_repair_count":0,"authenticated_bound_decision_count":0,"blind_retry_count":0,"live_target_revalidation_count":0,"minimum_trials_per_cell":3,"model_call_count":0,"observed_trial_count":3,"over_halt_count":0,"policy_approved_repair_count":0,"reconciliation_required_count":0,"replay_dispatch_count":0,"retained_repair_evidence_count":0,"silent_incorrect_success_count":0,"task_condition_cell_count":1,"unplanned_intervention_count":0,"unsafe_effect_count":0,"unverified_direct_action_count":0},"uncertain_delivery":{"approved_repair_count":0,"authenticated_bound_decision_count":0,"blind_retry_count":0,"live_target_revalidation_count":0,"minimum_trials_per_cell":3,"model_call_count":0,"observed_trial_count":3,"over_halt_count":0,"policy_approved_repair_count":0,"reconciliation_required_count":3,"replay_dispatch_count":0,"retained_repair_evidence_count":0,"silent_incorrect_success_count":0,"task_condition_cell_count":1,"unplanned_intervention_count":0,"unsafe_effect_count":0,"unverified_direct_action_count":0}},"minimum_trials_per_task_condition":3,"schema_version":"openadapt.qualification-evidence-decision-campaign-summary/v1","task_count":1},"decision_commitment_sha256":"sha256:86b584b3ba8dc53de3b28da9069a152fb5903bbbbc4d761f9cc2d16b268c2c7a","decision_identity_sha256":"sha256:3c292df4f25bf947f73ead0fda09087e14b093292576cadef224b31ccbd87393","decision_revision":1,"effect_contract_sha256":"sha256:0ccdde1ca2d0d1aaab67c30101c57053ffe78ef698a73917e3c7b981ed095a91","entity_class":"record","environment_contract_sha256":"sha256:e28d1a30048ac2ad919c8f6981df0379be63db16e5d631b585d7038f45b9f03f","evidence_authority_contract_sha256":"sha256:1aa7cfcb5f3df6b99372a28c305177e046487c8ec5b61111edbf1a12d3e76663","evidence_class":"remote-safe-synthetic","evidence_manifest_readback_sha256":"sha256:5b87920c2cfc0779411896adf89e6169f897abf01206b6d058065045e1e1f770","evidence_manifest_sha256":"sha256:8167536c8cc0c6dcdae8a54a2843b3a71920baa7eaf401bbc9149ecc1e29b996","expires_at":null,"identity_contract_sha256":"sha256:5f14297c9276f4b3bb71426ed73d2c6e4683f45fd719eb3b11b492cd3faf87dc","input_contract_sha256":"sha256:2b82ee836801bc7f63b9c5f09ba5590ba8f1a934ff160b060033e81e0a11cd6a","issued_at":"2026-09-09T18:09:56Z","issuer":{"environment":"synthetic-qualification-evidence-decision","ref":"refs/heads/main","repository":"OpenAdaptAI/.github","repository_id":"858454062","repository_owner_id":"132681217","source_commit":"0a386a58058234b389c8c5d5dd872afdd2296501","workflow":".github/workflows/issue-synthetic-qualification-evidence-decision.yml"},"issuer_key_id":"qa-ed25519-9cf4bca214c01d79","not_before":"2026-09-09T18:09:56Z","organization_id_sha256":"sha256:f4a7b0b403f25494a137da1f7df58676a5c8e066326cac614844dce0c2aea99b","policy_contract_sha256":"sha256:f6a06d5fdd830ed45bb7fb96a1f2599b85c3311afbae1ec373f042341e2baf52","revocation_state_sha256":"sha256:250ab430e467f5e584ebd2b1832976b42186b698da71d627ee1724c2b1da2457","schema_version":"openadapt.qualification-evidence-decision-receipt/v2","signature":"q4Y7aulH387SIy8YcetZ80JUufe2U341zhF0E9b+IKh8/jsf/AY7F0aV+wOKz9U7Jq66txFyyXJg0znpoah0Aw==","signer_registry_sha256":"sha256:e243a23243b24986ed08812e284a1bd8c4993814149f02bcba79cc520e10ca14","signing_statement":{"commitment_scheme":"sha256-canonical-json-lf","object_schema_version":"openadapt.qualification-evidence-decision-receipt/v2","schema_version":"openadapt.qualification-evidence-signing-statement/v1","signature_domain":"OpenAdapt qualification evidence decision receipt v2\u0000","unsigned_object_sha256":"sha256:b98bae0502c7eed125090aec37a7c1de523c747a53b1da6f14617f2d0ff87e2a","unsigned_size_bytes":6109},"verdict":"ADMIT","workflow_id_sha256":"sha256:7841ca395130a388837464479154e7547a5b354217795cdc5c10a10a45e91491","workflow_version_id_sha256":"sha256:5063ddb0305ab81938b5239ca2210554e4a14ae093c4967e248a38d80b55f25e"}
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
{"dsseEnvelope":{"payload":"eyJhdXRob3JpdHlfc3RhdGVfc2hhMjU2Ijoic2hhMjU2OmRmNTA3OTE0MWRmNjg4NzdjNGIwNmYwNWI5ZmI5ZmRmMjc5MzA3Yjc2MjllYjFmMmRjZTEyZGVmNGJkNWUyZmEiLCJleHBpcmVzX2F0IjpudWxsLCJpc3N1ZWRfYXQiOiIyMDI2LTA5LTA5VDE4OjA5OjU2WiIsImtleV9pZCI6Im9hLXB1YmxpYy10cnVzdC1lZDI1NTE5LTljZjRiY2EyMTRjMDFkNzkiLCJub3RfYmVmb3JlIjoiMjAyNi0wOS0wOVQxODowOTo1NloiLCJvYmplY3Rfa2luZCI6InF1YWxpZmljYXRpb24tZXZpZGVuY2UtZGVjaXNpb24tcmVjZWlwdCIsIm9iamVjdF9tZWRpYV90eXBlIjoiYXBwbGljYXRpb24vdm5kLm9wZW5hZGFwdC5xdWFsaWZpY2F0aW9uLWV2aWRlbmNlLWRlY2lzaW9uLXJlY2VpcHQranNvbjt2ZXJzaW9uPTIiLCJvYmplY3Rfc2NoZW1hX3ZlcnNpb24iOiJvcGVuYWRhcHQucXVhbGlmaWNhdGlvbi1ldmlkZW5jZS1kZWNpc2lvbi1yZWNlaXB0L3YyIiwib2JqZWN0X3NoYTI1NiI6InNoYTI1NjowMWYxMWNlM2Y3MzQzZTQwN2Y2N2FiNmU1ZTZlMjQ5MGFmODUyNjAyZjRjYWU0NzNlMGRlMGQ5MWNkNmY2OTg0Iiwib2JqZWN0X3NpemVfYnl0ZXMiOjY2MzksInJlcXVlc3RfaWRfc2hhMjU2Ijoic2hhMjU2OmVkN2VkZjQ4ZjkzNTljODg2YTA5NGRkNzk3MGRhY2Q5ZWNiZjQ2YzVlNzExODM0MDgyOGUzNzgzMzg3YjNlYWEiLCJyZXZvY2F0aW9uX3N0YXRlX3NoYTI1NiI6InNoYTI1NjoyNTBhYjQzMGU0NjdmNWU1ODRlYmQyYjE4MzI5NzZiNDIxODZiNjk4ZGE3MWQ2MjdlZTE3MjRjMmIxZGEyNDU3Iiwic2NoZW1hX3ZlcnNpb24iOiJvcGVuYWRhcHQucHJvZHVjdGlvbi1wdWJsaWMtdHJ1c3Qtc2lnbmluZy1zdGF0ZW1lbnQvdjEiLCJzZW1hbnRpY19pZGVudGl0eV9zaGEyNTYiOiJzaGEyNTY6YmE1NGYzZDEwYTkyYTU2N2FmZDE3NTUwZDY1OGU1NDViZmVmNmFjOTRmODFkMzMyZjI5M2ExMzNlYzhjZDQ5NCIsInNpZ25hdHVyZV9wcm9maWxlIjoic29mdHdhcmUtZWQyNTUxOS1kc3NlLXYxIiwic2lnbmVyX3JlZ2lzdHJ5X3NoYTI1NiI6InNoYTI1NjplMjQzYTIzMjQzYjI0OTg2ZWQwODgxMmUyODRhMWJkOGM0OTkzODE0MTQ5ZjAyYmNiYTc5Y2M1MjBlMTBjYTE0Iiwic2lnbmluZ19hdXRob3JpdHkiOnsiZW52aXJvbm1lbnQiOiJzeW50aGV0aWMtcXVhbGlmaWNhdGlvbi1ldmlkZW5jZS1kZWNpc2lvbiIsImtleV9vcmlnaW4iOiJzb2Z0d2FyZSIsInJlZiI6InJlZnMvaGVhZHMvbWFpbiIsInJlcG9zaXRvcnkiOiJPcGVuQWRhcHRBSS8uZ2l0aHViIiwicmVwb3NpdG9yeV9pZCI6Ijg1ODQ1NDA2MiIsInJlcG9zaXRvcnlfb3duZXJfaWQiOiIxMzI2ODEyMTciLCJzb3VyY2VfY29tbWl0IjoiMGEzODZhNTgwNTgyMzRiMzg5YzhjNWQ1ZGQ4NzJhZmRkMjI5NjUwMSIsIndvcmtmbG93IjoiLmdpdGh1Yi93b3JrZmxvd3Mvc2lnbi1wcm9kdWN0aW9uLWV2aWRlbmNlLXNvZnR3YXJlLnltbCJ9LCJzb3VyY2VfaXNzdWVyIjp7ImVudmlyb25tZW50Ijoic3ludGhldGljLXF1YWxpZmljYXRpb24tZXZpZGVuY2UtZGVjaXNpb24iLCJyZWYiOiJyZWZzL2hlYWRzL21haW4iLCJyZXBvc2l0b3J5IjoiT3BlbkFkYXB0QUkvLmdpdGh1YiIsInJlcG9zaXRvcnlfaWQiOiI4NTg0NTQwNjIiLCJyZXBvc2l0b3J5X293bmVyX2lkIjoiMTMyNjgxMjE3Iiwic291cmNlX2NvbW1pdCI6IjBhMzg2YTU4MDU4MjM0YjM4OWM4YzVkNWRkODcyYWZkZDIyOTY1MDEiLCJ3b3JrZmxvdyI6Ii5naXRodWIvd29ya2Zsb3dzL2lzc3VlLXN5bnRoZXRpYy1xdWFsaWZpY2F0aW9uLWV2aWRlbmNlLWRlY2lzaW9uLnltbCJ9fQo=","payloadType":"application/vnd.openadapt.production-public-trust-signing-statement+json;version=1","signatures":[{"keyid":"oa-public-trust-ed25519-9cf4bca214c01d79","sig":"5VzbLOBcjvv048V8qRZvRVjB/WzkgJ1ZBtnIfoK95K4pPZ3GpWBb3Fz4T44xHBrHbcxI8tTtOgCPGtNoPAfYAQ=="}]},"mediaType":"application/vnd.dev.sigstore.bundle.v0.3+json","verificationMaterial":{"publicKey":{"hint":"oa-public-trust-ed25519-9cf4bca214c01d79"}}}
16 changes: 14 additions & 2 deletions tests/test_evidence_registry.py
Original file line number Diff line number Diff line change
Expand Up @@ -145,11 +145,23 @@ def test_repository_registry_is_valid_v2(self) -> None:
value = json.loads((ROOT / "evidence-registry.json").read_text())
entries = registry.validate_registry(value, root=ROOT)
kinds = [entry["kind"] for entry in entries]
self.assertEqual(value["revision"], 3)
self.assertGreaterEqual(value["revision"], 3)
# Revision 3 is a retained baseline, not the final allowed append.
# Bind all 74 historical entries while permitting later registered pairs.
baseline = copy.deepcopy(value)
baseline["revision"] = 3
baseline["previous_registry_head_sha256"] = (
"sha256:12508b788997dcd841b7b116b512dd7c1e129192988a947952bcc2e2e8572a24"
)
baseline["registry_head_sha256"] = (
"sha256:d00a5f4f68db36de5da56de27045905c622b5f699ffd9c45eb29f452fe5e3ba1"
)
baseline["entries"] = entries[:74]
registry.validate_registry(baseline, root=ROOT)
self.assertIsNotNone(value["signer_registry"])
self.assertIn("qualification-release", kinds)
self.assertIn("qualification-release-sigstore-bundle", kinds)
self.assertEqual(kinds[-2:], [
self.assertEqual(kinds[72:74], [
"qualification-release",
"qualification-release-sigstore-bundle",
])
Expand Down