From 850aa411a11a6a806b3149a73f311074f3d03fe1 Mon Sep 17 00:00:00 2001 From: fraware Date: Fri, 24 Jul 2026 11:21:08 -0700 Subject: [PATCH] Remove incomplete OVK pin-surface artifact types. Keep the public VA surface at the six core artifacts; drop invocation/replay/mutation schemas, fixtures, vectors, and registry wiring that landed with PCS-VA. --- docs/verifier-assurance/ovk-pin-surface.md | 11 - .../VerifierInvocationRecord.v1.valid.json | 53 ----- .../VerifierMutationManifest.v1.valid.json | 32 --- .../VerifierReplayReport.v1.valid.json | 36 --- .../artifact.json | 32 --- .../manifest.json | 5 - .../replay_matched_with_drift/artifact.json | 36 --- .../replay_matched_with_drift/manifest.json | 5 - .../valid/invocation_basic/invocation.json | 53 ----- .../valid/mutation_timeout/mutation.json | 32 --- .../valid/replay_matched/replay.json | 36 --- python/pcs_core/conformance.py | 3 - python/pcs_core/registry_data.py | 64 ------ python/pcs_core/shared_hash_vectors.py | 6 - python/pcs_core/validate_detect.py | 6 - .../pcs_core/verifier_assurance_validate.py | 76 +------ rust/crates/pcs-core/src/validation.rs | 3 - .../VerifierInvocationRecord.v1.schema.json | 210 ------------------ .../VerifierMutationManifest.v1.schema.json | 91 -------- schemas/VerifierReplayReport.v1.schema.json | 125 ----------- schemas/verifier_assurance.defs.json | 45 ---- .../verifierinvocationrecord_v1.vector.json | 6 - .../verifiermutationmanifest_v1.vector.json | 6 - .../hash/verifierreplayreport_v1.vector.json | 6 - typescript/packages/core/src/schema.ts | 3 - 25 files changed, 1 insertion(+), 980 deletions(-) delete mode 100644 docs/verifier-assurance/ovk-pin-surface.md delete mode 100644 examples/verifier_assurance/VerifierInvocationRecord.v1.valid.json delete mode 100644 examples/verifier_assurance/VerifierMutationManifest.v1.valid.json delete mode 100644 examples/verifier_assurance/VerifierReplayReport.v1.valid.json delete mode 100644 examples/verifier_assurance/invalid/mutation_production_overwrite/artifact.json delete mode 100644 examples/verifier_assurance/invalid/mutation_production_overwrite/manifest.json delete mode 100644 examples/verifier_assurance/invalid/replay_matched_with_drift/artifact.json delete mode 100644 examples/verifier_assurance/invalid/replay_matched_with_drift/manifest.json delete mode 100644 examples/verifier_assurance/valid/invocation_basic/invocation.json delete mode 100644 examples/verifier_assurance/valid/mutation_timeout/mutation.json delete mode 100644 examples/verifier_assurance/valid/replay_matched/replay.json delete mode 100644 schemas/VerifierInvocationRecord.v1.schema.json delete mode 100644 schemas/VerifierMutationManifest.v1.schema.json delete mode 100644 schemas/VerifierReplayReport.v1.schema.json delete mode 100644 test_vectors/hash/verifierinvocationrecord_v1.vector.json delete mode 100644 test_vectors/hash/verifiermutationmanifest_v1.vector.json delete mode 100644 test_vectors/hash/verifierreplayreport_v1.vector.json diff --git a/docs/verifier-assurance/ovk-pin-surface.md b/docs/verifier-assurance/ovk-pin-surface.md deleted file mode 100644 index cbb7b6a..0000000 --- a/docs/verifier-assurance/ovk-pin-surface.md +++ /dev/null @@ -1,11 +0,0 @@ -# Verifier Assurance — OVK pin surface - -PCS owns portable verifier-assurance schemas. OVK pins: - -- VerifierProfile.v1 -- VerificationResult.v1 -- VerifierInvocationRecord.v1 -- VerifierReplayReport.v1 -- VerifierMutationManifest.v1 - -Validate with `pcs conformance run --suite verifier-assurance`. diff --git a/examples/verifier_assurance/VerifierInvocationRecord.v1.valid.json b/examples/verifier_assurance/VerifierInvocationRecord.v1.valid.json deleted file mode 100644 index c7eb618..0000000 --- a/examples/verifier_assurance/VerifierInvocationRecord.v1.valid.json +++ /dev/null @@ -1,53 +0,0 @@ -{ - "artifact_type": "VerifierInvocationRecord.v1", - "assumptions": [], - "canonicalization_version": "v1", - "command": { - "argv": [ - "opa", - "eval", - "-d", - "policy.rego", - "data.allow" - ], - "cwd": ".", - "env_digest": "sha256:cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", - "limits": { - "timeout_ms": 30000 - } - }, - "compiled_obligation": { - "digest": "sha256:cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", - "media_type": "application/json", - "path": "compiled_obligation.json" - }, - "completed_at": "2026-07-24T16:01:01Z", - "exit": { - "code": 0, - "kind": "exited" - }, - "guarantee_class": "runtime_observed", - "input_digest": "sha256:bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb", - "integrity": { - "artifact_digest": "sha256:a8761bfcdda71d47ac64d26513d378d258404f9042d4ad1a8816dcfc935a6ac1", - "canonicalization_version": "v1" - }, - "invocation_id": "vi-ovk-pin-001", - "limits": [], - "normalized_result_digest": "sha256:bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb", - "normalizer_version": "ovk.normalize.v1", - "producer": "OVK", - "producer_version": "0.4.0", - "profile_ref": { - "artifact_type": "VerifierProfile.v1", - "profile_digest": "sha256:aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", - "verifier_profile_id": "vp-opa-demo-001" - }, - "raw_backend_result_digest": "sha256:aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", - "schema_version": "v1", - "source_commit": "e068794683959c52a19594a6d271dd5e69f3c999", - "source_repo": "https://github.com/SentinelOps-CI/pcs-core", - "started_at": "2026-07-24T16:01:00Z", - "stderr_digest": "sha256:eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee", - "stdout_digest": "sha256:dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd" -} diff --git a/examples/verifier_assurance/VerifierMutationManifest.v1.valid.json b/examples/verifier_assurance/VerifierMutationManifest.v1.valid.json deleted file mode 100644 index 4b2ba5c..0000000 --- a/examples/verifier_assurance/VerifierMutationManifest.v1.valid.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "artifact_type": "VerifierMutationManifest.v1", - "base_profile_ref": { - "artifact_type": "VerifierProfile.v1", - "profile_digest": "sha256:aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", - "verifier_profile_id": "vp-opa-demo-001" - }, - "canonicalization_version": "v1", - "created_at": "2026-07-24T16:03:00Z", - "expected_effect": "Changes execution timeout.", - "integrity": { - "artifact_digest": "sha256:35d8c217a200611e57fdc6039018429aa27e1169717678bed7c205d1dd95f025", - "canonicalization_version": "v1" - }, - "mutated_profile_ref": { - "artifact_type": "VerifierProfile.v1", - "profile_digest": "sha256:bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb", - "verifier_profile_id": "vp-opa-demo-001-mut-alter_timeout" - }, - "mutation_class": "alter_timeout", - "mutation_id": "mut-alter_timeout-001", - "parameters": { - "timeout_ms": 1000 - }, - "producer": "OVK", - "producer_version": "0.4.0", - "production_prohibition": true, - "schema_version": "v1", - "source_commit": "e068794683959c52a19594a6d271dd5e69f3c999", - "source_repo": "https://github.com/SentinelOps-CI/pcs-core", - "supported_by_adapter": true -} diff --git a/examples/verifier_assurance/VerifierReplayReport.v1.valid.json b/examples/verifier_assurance/VerifierReplayReport.v1.valid.json deleted file mode 100644 index 5f04df1..0000000 --- a/examples/verifier_assurance/VerifierReplayReport.v1.valid.json +++ /dev/null @@ -1,36 +0,0 @@ -{ - "artifact_type": "VerifierReplayReport.v1", - "canonicalization_version": "v1", - "created_at": "2026-07-24T16:02:00Z", - "determinism": "deterministic", - "drift": { - "claim_match": true, - "normalized_digest_match": true, - "raw_digest_match": true - }, - "integrity": { - "artifact_digest": "sha256:f2af1afd1ee217db70273ebce5d695af47bfbb66e975b4411b5860b3b79f85af", - "canonicalization_version": "v1" - }, - "original_invocation_ref": { - "artifact_type": "VerifierInvocationRecord.v1", - "invocation_digest": "sha256:a8761bfcdda71d47ac64d26513d378d258404f9042d4ad1a8816dcfc935a6ac1", - "invocation_id": "vi-ovk-pin-001" - }, - "original_normalized_digest": "sha256:bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb", - "original_raw_digest": "sha256:aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", - "producer": "OVK", - "producer_version": "0.4.0", - "profile_ref": { - "artifact_type": "VerifierProfile.v1", - "profile_digest": "sha256:aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", - "verifier_profile_id": "vp-opa-demo-001" - }, - "replay_id": "rr-ovk-pin-001", - "replay_normalized_digest": "sha256:bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb", - "replay_raw_digest": "sha256:aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", - "replay_status": "matched", - "schema_version": "v1", - "source_commit": "e068794683959c52a19594a6d271dd5e69f3c999", - "source_repo": "https://github.com/SentinelOps-CI/pcs-core" -} diff --git a/examples/verifier_assurance/invalid/mutation_production_overwrite/artifact.json b/examples/verifier_assurance/invalid/mutation_production_overwrite/artifact.json deleted file mode 100644 index 1b052d4..0000000 --- a/examples/verifier_assurance/invalid/mutation_production_overwrite/artifact.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "artifact_type": "VerifierMutationManifest.v1", - "base_profile_ref": { - "artifact_type": "VerifierProfile.v1", - "profile_digest": "sha256:aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", - "verifier_profile_id": "vp-opa-demo-001" - }, - "canonicalization_version": "v1", - "created_at": "2026-07-24T16:03:00Z", - "expected_effect": "Changes execution timeout.", - "integrity": { - "artifact_digest": "sha256:365ce59b91b13df1770c6a6ce251e21e725959b9aee2dc1a980ad97997a2be1b", - "canonicalization_version": "v1" - }, - "mutated_profile_ref": { - "artifact_type": "VerifierProfile.v1", - "profile_digest": "sha256:bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb", - "verifier_profile_id": "vp-opa-demo-001-mut-alter_timeout" - }, - "mutation_class": "alter_timeout", - "mutation_id": "mut-alter_timeout-001", - "parameters": { - "timeout_ms": 1000 - }, - "producer": "OVK", - "producer_version": "0.4.0", - "production_prohibition": false, - "schema_version": "v1", - "source_commit": "e068794683959c52a19594a6d271dd5e69f3c999", - "source_repo": "https://github.com/SentinelOps-CI/pcs-core", - "supported_by_adapter": true -} diff --git a/examples/verifier_assurance/invalid/mutation_production_overwrite/manifest.json b/examples/verifier_assurance/invalid/mutation_production_overwrite/manifest.json deleted file mode 100644 index 1ed0f09..0000000 --- a/examples/verifier_assurance/invalid/mutation_production_overwrite/manifest.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "artifact_file": "artifact.json", - "artifact_type": "VerifierMutationManifest.v1", - "expected_error": "production_prohibition" -} diff --git a/examples/verifier_assurance/invalid/replay_matched_with_drift/artifact.json b/examples/verifier_assurance/invalid/replay_matched_with_drift/artifact.json deleted file mode 100644 index e802bd7..0000000 --- a/examples/verifier_assurance/invalid/replay_matched_with_drift/artifact.json +++ /dev/null @@ -1,36 +0,0 @@ -{ - "artifact_type": "VerifierReplayReport.v1", - "canonicalization_version": "v1", - "created_at": "2026-07-24T16:02:00Z", - "determinism": "deterministic", - "drift": { - "claim_match": false, - "normalized_digest_match": false, - "raw_digest_match": false - }, - "integrity": { - "artifact_digest": "sha256:3f52c7f923c65c32e04905432b7c41ddb7c98dddc3569d8d22e33aa151eeb51b", - "canonicalization_version": "v1" - }, - "original_invocation_ref": { - "artifact_type": "VerifierInvocationRecord.v1", - "invocation_digest": "sha256:a8761bfcdda71d47ac64d26513d378d258404f9042d4ad1a8816dcfc935a6ac1", - "invocation_id": "vi-ovk-pin-001" - }, - "original_normalized_digest": "sha256:bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb", - "original_raw_digest": "sha256:aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", - "producer": "OVK", - "producer_version": "0.4.0", - "profile_ref": { - "artifact_type": "VerifierProfile.v1", - "profile_digest": "sha256:aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", - "verifier_profile_id": "vp-opa-demo-001" - }, - "replay_id": "rr-ovk-pin-001", - "replay_normalized_digest": "sha256:bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb", - "replay_raw_digest": "sha256:cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", - "replay_status": "matched", - "schema_version": "v1", - "source_commit": "e068794683959c52a19594a6d271dd5e69f3c999", - "source_repo": "https://github.com/SentinelOps-CI/pcs-core" -} diff --git a/examples/verifier_assurance/invalid/replay_matched_with_drift/manifest.json b/examples/verifier_assurance/invalid/replay_matched_with_drift/manifest.json deleted file mode 100644 index ffbbfd8..0000000 --- a/examples/verifier_assurance/invalid/replay_matched_with_drift/manifest.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "artifact_file": "artifact.json", - "artifact_type": "VerifierReplayReport.v1", - "expected_error": "ReplayMatchedWithDrift" -} diff --git a/examples/verifier_assurance/valid/invocation_basic/invocation.json b/examples/verifier_assurance/valid/invocation_basic/invocation.json deleted file mode 100644 index c7eb618..0000000 --- a/examples/verifier_assurance/valid/invocation_basic/invocation.json +++ /dev/null @@ -1,53 +0,0 @@ -{ - "artifact_type": "VerifierInvocationRecord.v1", - "assumptions": [], - "canonicalization_version": "v1", - "command": { - "argv": [ - "opa", - "eval", - "-d", - "policy.rego", - "data.allow" - ], - "cwd": ".", - "env_digest": "sha256:cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", - "limits": { - "timeout_ms": 30000 - } - }, - "compiled_obligation": { - "digest": "sha256:cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", - "media_type": "application/json", - "path": "compiled_obligation.json" - }, - "completed_at": "2026-07-24T16:01:01Z", - "exit": { - "code": 0, - "kind": "exited" - }, - "guarantee_class": "runtime_observed", - "input_digest": "sha256:bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb", - "integrity": { - "artifact_digest": "sha256:a8761bfcdda71d47ac64d26513d378d258404f9042d4ad1a8816dcfc935a6ac1", - "canonicalization_version": "v1" - }, - "invocation_id": "vi-ovk-pin-001", - "limits": [], - "normalized_result_digest": "sha256:bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb", - "normalizer_version": "ovk.normalize.v1", - "producer": "OVK", - "producer_version": "0.4.0", - "profile_ref": { - "artifact_type": "VerifierProfile.v1", - "profile_digest": "sha256:aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", - "verifier_profile_id": "vp-opa-demo-001" - }, - "raw_backend_result_digest": "sha256:aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", - "schema_version": "v1", - "source_commit": "e068794683959c52a19594a6d271dd5e69f3c999", - "source_repo": "https://github.com/SentinelOps-CI/pcs-core", - "started_at": "2026-07-24T16:01:00Z", - "stderr_digest": "sha256:eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee", - "stdout_digest": "sha256:dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd" -} diff --git a/examples/verifier_assurance/valid/mutation_timeout/mutation.json b/examples/verifier_assurance/valid/mutation_timeout/mutation.json deleted file mode 100644 index 4b2ba5c..0000000 --- a/examples/verifier_assurance/valid/mutation_timeout/mutation.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "artifact_type": "VerifierMutationManifest.v1", - "base_profile_ref": { - "artifact_type": "VerifierProfile.v1", - "profile_digest": "sha256:aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", - "verifier_profile_id": "vp-opa-demo-001" - }, - "canonicalization_version": "v1", - "created_at": "2026-07-24T16:03:00Z", - "expected_effect": "Changes execution timeout.", - "integrity": { - "artifact_digest": "sha256:35d8c217a200611e57fdc6039018429aa27e1169717678bed7c205d1dd95f025", - "canonicalization_version": "v1" - }, - "mutated_profile_ref": { - "artifact_type": "VerifierProfile.v1", - "profile_digest": "sha256:bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb", - "verifier_profile_id": "vp-opa-demo-001-mut-alter_timeout" - }, - "mutation_class": "alter_timeout", - "mutation_id": "mut-alter_timeout-001", - "parameters": { - "timeout_ms": 1000 - }, - "producer": "OVK", - "producer_version": "0.4.0", - "production_prohibition": true, - "schema_version": "v1", - "source_commit": "e068794683959c52a19594a6d271dd5e69f3c999", - "source_repo": "https://github.com/SentinelOps-CI/pcs-core", - "supported_by_adapter": true -} diff --git a/examples/verifier_assurance/valid/replay_matched/replay.json b/examples/verifier_assurance/valid/replay_matched/replay.json deleted file mode 100644 index 5f04df1..0000000 --- a/examples/verifier_assurance/valid/replay_matched/replay.json +++ /dev/null @@ -1,36 +0,0 @@ -{ - "artifact_type": "VerifierReplayReport.v1", - "canonicalization_version": "v1", - "created_at": "2026-07-24T16:02:00Z", - "determinism": "deterministic", - "drift": { - "claim_match": true, - "normalized_digest_match": true, - "raw_digest_match": true - }, - "integrity": { - "artifact_digest": "sha256:f2af1afd1ee217db70273ebce5d695af47bfbb66e975b4411b5860b3b79f85af", - "canonicalization_version": "v1" - }, - "original_invocation_ref": { - "artifact_type": "VerifierInvocationRecord.v1", - "invocation_digest": "sha256:a8761bfcdda71d47ac64d26513d378d258404f9042d4ad1a8816dcfc935a6ac1", - "invocation_id": "vi-ovk-pin-001" - }, - "original_normalized_digest": "sha256:bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb", - "original_raw_digest": "sha256:aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", - "producer": "OVK", - "producer_version": "0.4.0", - "profile_ref": { - "artifact_type": "VerifierProfile.v1", - "profile_digest": "sha256:aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", - "verifier_profile_id": "vp-opa-demo-001" - }, - "replay_id": "rr-ovk-pin-001", - "replay_normalized_digest": "sha256:bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb", - "replay_raw_digest": "sha256:aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", - "replay_status": "matched", - "schema_version": "v1", - "source_commit": "e068794683959c52a19594a6d271dd5e69f3c999", - "source_repo": "https://github.com/SentinelOps-CI/pcs-core" -} diff --git a/python/pcs_core/conformance.py b/python/pcs_core/conformance.py index 361cfdd..c576f59 100644 --- a/python/pcs_core/conformance.py +++ b/python/pcs_core/conformance.py @@ -1026,9 +1026,6 @@ def _suite_verifier_assurance() -> tuple[list[str], list[str], int]: for artifact_type in ( "VerifierProfile.v1", "VerificationResult.v1", - "VerifierInvocationRecord.v1", - "VerifierReplayReport.v1", - "VerifierMutationManifest.v1", "RewardEvidenceEnvelope.v1", "OptimizationCampaignManifest.v1", "AdjudicationRecord.v1", diff --git a/python/pcs_core/registry_data.py b/python/pcs_core/registry_data.py index 055d1c7..e47ab10 100644 --- a/python/pcs_core/registry_data.py +++ b/python/pcs_core/registry_data.py @@ -1444,70 +1444,6 @@ def _pf_core_release_entry( consumer_repos=[PCS_CORE, "OVK", LABTRUST], ), - "VerifierInvocationRecord.v1": _entry( - artifact_type="VerifierInvocationRecord.v1", - schema="schemas/VerifierInvocationRecord.v1.schema.json", - schema_owner=PCS_CORE, - runtime_producer="OVK", - allowed_runtime_producers=["OVK", PCS_CORE], - allowed_statuses=["Draft", "Validated", "Deprecated"], - required_release_fields=[ - "schema_version", - "artifact_type", - "invocation_id", - "profile_ref", - "integrity", - ], - semantic_checks=[ - _sc("explicit_artifact_type", "release_blocking", PCS_CORE), - _sc("raw_normalized_digests", "release_blocking", PCS_CORE), - _sc("no_signature_or_digest", "release_blocking", PCS_CORE), - ], - consumer_repos=[PCS_CORE, "OVK"], - ), - "VerifierReplayReport.v1": _entry( - artifact_type="VerifierReplayReport.v1", - schema="schemas/VerifierReplayReport.v1.schema.json", - schema_owner=PCS_CORE, - runtime_producer="OVK", - allowed_runtime_producers=["OVK", PCS_CORE], - allowed_statuses=["Draft", "Validated", "Deprecated"], - required_release_fields=[ - "schema_version", - "artifact_type", - "replay_id", - "replay_status", - "integrity", - ], - semantic_checks=[ - _sc("explicit_artifact_type", "release_blocking", PCS_CORE), - _sc("replay_matched_consistency", "release_blocking", PCS_CORE), - _sc("no_signature_or_digest", "release_blocking", PCS_CORE), - ], - consumer_repos=[PCS_CORE, "OVK"], - ), - "VerifierMutationManifest.v1": _entry( - artifact_type="VerifierMutationManifest.v1", - schema="schemas/VerifierMutationManifest.v1.schema.json", - schema_owner=PCS_CORE, - runtime_producer="OVK", - allowed_runtime_producers=["OVK", PCS_CORE], - allowed_statuses=["Draft", "Validated", "Deprecated"], - required_release_fields=[ - "schema_version", - "artifact_type", - "mutation_id", - "mutation_class", - "production_prohibition", - "integrity", - ], - semantic_checks=[ - _sc("explicit_artifact_type", "release_blocking", PCS_CORE), - _sc("production_prohibition_true", "release_blocking", PCS_CORE), - _sc("no_signature_or_digest", "release_blocking", PCS_CORE), - ], - consumer_repos=[PCS_CORE, "OVK"], - ), "RewardEvidenceEnvelope.v1": _entry( artifact_type="RewardEvidenceEnvelope.v1", schema="schemas/RewardEvidenceEnvelope.v1.schema.json", diff --git a/python/pcs_core/shared_hash_vectors.py b/python/pcs_core/shared_hash_vectors.py index dd34e55..19696cd 100644 --- a/python/pcs_core/shared_hash_vectors.py +++ b/python/pcs_core/shared_hash_vectors.py @@ -30,9 +30,6 @@ "ComputationWitness.v0": "examples/computation_witness.valid.json", "VerifierProfile.v1": "examples/verifier_assurance/valid/profile_basic/profile.json", "VerificationResult.v1": "examples/verifier_assurance/valid/result_accept/result.json", - "VerifierInvocationRecord.v1": "examples/verifier_assurance/valid/invocation_basic/invocation.json", - "VerifierReplayReport.v1": "examples/verifier_assurance/valid/replay_matched/replay.json", - "VerifierMutationManifest.v1": "examples/verifier_assurance/valid/mutation_timeout/mutation.json", "RewardEvidenceEnvelope.v1": "examples/verifier_assurance/valid/reward_scalar/reward.json", "OptimizationCampaignManifest.v1": "examples/verifier_assurance/valid/campaign_basic/campaign.json", "AdjudicationRecord.v1": "examples/verifier_assurance/valid/adjudication_basic/adjudication.json", @@ -60,9 +57,6 @@ "ComputationWitness.v0": "computation_witness.vector.json", "VerifierProfile.v1": "verifierprofile_v1.vector.json", "VerificationResult.v1": "verificationresult_v1.vector.json", - "VerifierInvocationRecord.v1": "verifierinvocationrecord_v1.vector.json", - "VerifierReplayReport.v1": "verifierreplayreport_v1.vector.json", - "VerifierMutationManifest.v1": "verifiermutationmanifest_v1.vector.json", "RewardEvidenceEnvelope.v1": "rewardevidenceenvelope_v1.vector.json", "OptimizationCampaignManifest.v1": "optimizationcampaignmanifest_v1.vector.json", "AdjudicationRecord.v1": "adjudicationrecord_v1.vector.json", diff --git a/python/pcs_core/validate_detect.py b/python/pcs_core/validate_detect.py index 93e5d47..c7e4f5d 100644 --- a/python/pcs_core/validate_detect.py +++ b/python/pcs_core/validate_detect.py @@ -131,9 +131,6 @@ class DetectionMode(str, Enum): "ReleaseProvenanceBinding.v0": "ReleaseProvenanceBinding.v0.schema.json", "VerifierProfile.v1": "VerifierProfile.v1.schema.json", "VerificationResult.v1": "VerificationResult.v1.schema.json", - "VerifierInvocationRecord.v1": "VerifierInvocationRecord.v1.schema.json", - "VerifierReplayReport.v1": "VerifierReplayReport.v1.schema.json", - "VerifierMutationManifest.v1": "VerifierMutationManifest.v1.schema.json", "RewardEvidenceEnvelope.v1": "RewardEvidenceEnvelope.v1.schema.json", "OptimizationCampaignManifest.v1": "OptimizationCampaignManifest.v1.schema.json", "AdjudicationRecord.v1": "AdjudicationRecord.v1.schema.json", @@ -532,9 +529,6 @@ def _detect_artifact_type_heuristic(data: dict[str, Any]) -> str | None: if data.get("schema_version") == "v1" and data.get("artifact_type") in { "VerifierProfile.v1", "VerificationResult.v1", - "VerifierInvocationRecord.v1", - "VerifierReplayReport.v1", - "VerifierMutationManifest.v1", "RewardEvidenceEnvelope.v1", "OptimizationCampaignManifest.v1", "AdjudicationRecord.v1", diff --git a/python/pcs_core/verifier_assurance_validate.py b/python/pcs_core/verifier_assurance_validate.py index 1ec5278..6e542c4 100644 --- a/python/pcs_core/verifier_assurance_validate.py +++ b/python/pcs_core/verifier_assurance_validate.py @@ -16,9 +16,6 @@ { "VerifierProfile.v1", "VerificationResult.v1", - "VerifierInvocationRecord.v1", - "VerifierReplayReport.v1", - "VerifierMutationManifest.v1", "RewardEvidenceEnvelope.v1", "OptimizationCampaignManifest.v1", "AdjudicationRecord.v1", @@ -26,14 +23,11 @@ } ) -# OVK pin surface: profile, result, invocation, replay, mutation. +# OVK-facing producer pins in pcs-core: profile + result only. OVK_VA_ARTIFACT_TYPES = frozenset( { "VerifierProfile.v1", "VerificationResult.v1", - "VerifierInvocationRecord.v1", - "VerifierReplayReport.v1", - "VerifierMutationManifest.v1", } ) @@ -885,68 +879,6 @@ def validate_va_semantics( -def validate_invocation_record_semantics( - data: dict[str, Any], *, as_issues: bool = False -) -> list[Any]: - issues = _forbid_legacy_signature_field(data, "VerifierInvocationRecord.v1") - issues.extend(_require_integrity(data, "VerifierInvocationRecord.v1")) - raw = data.get("raw_backend_result_digest") - normalized = data.get("normalized_result_digest") - if ( - isinstance(raw, str) - and isinstance(normalized, str) - and raw == normalized - and data.get("normalizer_version") - ): - issues.append( - SemanticIssue( - "IdenticalNormalizationDigests", - "normalized_result_digest", - "when normalization is applied, raw and normalized digests must differ", - ) - ) - return _as_strings(issues, as_issues=as_issues) - - -def validate_replay_report_semantics( - data: dict[str, Any], *, as_issues: bool = False -) -> list[Any]: - issues = _forbid_legacy_signature_field(data, "VerifierReplayReport.v1") - issues.extend(_require_integrity(data, "VerifierReplayReport.v1")) - drift = data.get("drift") if isinstance(data.get("drift"), dict) else {} - status = data.get("replay_status") - if status == "matched" and ( - drift.get("raw_digest_match") is False - or drift.get("normalized_digest_match") is False - or data.get("original_raw_digest") != data.get("replay_raw_digest") - or data.get("original_normalized_digest") != data.get("replay_normalized_digest") - ): - issues.append( - SemanticIssue( - "ReplayMatchedWithDrift", - "replay_status", - "matched status requires matching digests and drift flags true", - ) - ) - return _as_strings(issues, as_issues=as_issues) - - -def validate_mutation_manifest_semantics( - data: dict[str, Any], *, as_issues: bool = False -) -> list[Any]: - issues = _forbid_legacy_signature_field(data, "VerifierMutationManifest.v1") - issues.extend(_require_integrity(data, "VerifierMutationManifest.v1")) - if data.get("production_prohibition") is not True: - issues.append( - SemanticIssue( - "ProductionProhibitionRequired", - "production_prohibition", - "production_prohibition must be true", - ) - ) - return _as_strings(issues, as_issues=as_issues) - - def validate_verifier_assurance_semantics( data: dict[str, Any], artifact_type: str, @@ -960,12 +892,6 @@ def validate_verifier_assurance_semantics( return validate_verification_result_semantics( data, as_issues=as_issues, context=context ) - if artifact_type == "VerifierInvocationRecord.v1": - return validate_invocation_record_semantics(data, as_issues=as_issues) - if artifact_type == "VerifierReplayReport.v1": - return validate_replay_report_semantics(data, as_issues=as_issues) - if artifact_type == "VerifierMutationManifest.v1": - return validate_mutation_manifest_semantics(data, as_issues=as_issues) if artifact_type == "RewardEvidenceEnvelope.v1": return validate_reward_envelope_semantics( data, as_issues=as_issues, context=context diff --git a/rust/crates/pcs-core/src/validation.rs b/rust/crates/pcs-core/src/validation.rs index 0e0b1d4..4db946f 100644 --- a/rust/crates/pcs-core/src/validation.rs +++ b/rust/crates/pcs-core/src/validation.rs @@ -66,9 +66,6 @@ const ARTIFACT_SCHEMAS: &[(&str, &str)] = &[ ("ArtifactIntegrity.v1", "ArtifactIntegrity.v1.schema.json"), ("VerifierProfile.v1", "VerifierProfile.v1.schema.json"), ("VerificationResult.v1", "VerificationResult.v1.schema.json"), - ("VerifierInvocationRecord.v1", "VerifierInvocationRecord.v1.schema.json"), - ("VerifierReplayReport.v1", "VerifierReplayReport.v1.schema.json"), - ("VerifierMutationManifest.v1", "VerifierMutationManifest.v1.schema.json"), ("RewardEvidenceEnvelope.v1", "RewardEvidenceEnvelope.v1.schema.json"), ( "OptimizationCampaignManifest.v1", diff --git a/schemas/VerifierInvocationRecord.v1.schema.json b/schemas/VerifierInvocationRecord.v1.schema.json deleted file mode 100644 index c1476a5..0000000 --- a/schemas/VerifierInvocationRecord.v1.schema.json +++ /dev/null @@ -1,210 +0,0 @@ -{ - "$id": "https://pcs.sentinelops.ci/schemas/VerifierInvocationRecord.v1.schema.json", - "$schema": "https://json-schema.org/draft/2020-12/schema", - "additionalProperties": false, - "description": "Portable single-run invocation evidence for verifier assurance.", - "properties": { - "artifact_type": { - "const": "VerifierInvocationRecord.v1" - }, - "assumptions": { - "items": { - "$ref": "verifier_assurance.defs.json#/$defs/assumption_entry" - }, - "type": "array" - }, - "canonicalization_version": { - "$ref": "common.defs.json#/$defs/canonicalization_version" - }, - "command": { - "additionalProperties": false, - "properties": { - "argv": { - "items": { - "minLength": 1, - "type": "string" - }, - "minItems": 1, - "type": "array" - }, - "cwd": { - "minLength": 1, - "type": "string" - }, - "env_digest": { - "$ref": "common.defs.json#/$defs/hex_digest" - }, - "limits": { - "additionalProperties": false, - "properties": { - "max_memory_bytes": { - "minimum": 1, - "type": "integer" - }, - "max_output_bytes": { - "minimum": 1, - "type": "integer" - }, - "timeout_ms": { - "minimum": 1, - "type": "integer" - } - }, - "type": "object" - } - }, - "required": [ - "argv", - "cwd", - "env_digest" - ], - "type": "object" - }, - "compiled_obligation": { - "additionalProperties": false, - "properties": { - "digest": { - "$ref": "common.defs.json#/$defs/hex_digest" - }, - "media_type": { - "maxLength": 256, - "minLength": 1, - "type": "string" - }, - "name": { - "maxLength": 256, - "minLength": 1, - "type": "string" - }, - "path": { - "$ref": "common.defs.json#/$defs/relative_posix_path" - } - }, - "required": [ - "digest" - ], - "type": "object" - }, - "completed_at": { - "$ref": "common.defs.json#/$defs/iso8601_datetime" - }, - "created_at": { - "$ref": "common.defs.json#/$defs/iso8601_datetime" - }, - "exit": { - "additionalProperties": false, - "properties": { - "code": { - "type": "integer" - }, - "kind": { - "$ref": "verifier_assurance.defs.json#/$defs/invocation_exit_kind" - }, - "message": { - "minLength": 1, - "type": "string" - } - }, - "required": [ - "kind" - ], - "type": "object" - }, - "failure_reason": { - "$ref": "verifier_assurance.defs.json#/$defs/failure_reason" - }, - "guarantee_class": { - "$ref": "verifier_assurance.defs.json#/$defs/guarantee_class" - }, - "indeterminate_reason": { - "$ref": "verifier_assurance.defs.json#/$defs/indeterminate_reason" - }, - "input_digest": { - "$ref": "common.defs.json#/$defs/hex_digest" - }, - "integrity": { - "$ref": "verifier_assurance.defs.json#/$defs/nested_integrity" - }, - "invocation_id": { - "maxLength": 256, - "minLength": 1, - "type": "string" - }, - "limits": { - "items": { - "$ref": "verifier_assurance.defs.json#/$defs/limit_entry" - }, - "type": "array" - }, - "normalized_result_digest": { - "$ref": "common.defs.json#/$defs/hex_digest" - }, - "normalizer_version": { - "maxLength": 128, - "minLength": 1, - "type": "string" - }, - "producer": { - "maxLength": 256, - "minLength": 1, - "type": "string" - }, - "producer_version": { - "maxLength": 128, - "minLength": 1, - "type": "string" - }, - "profile_ref": { - "$ref": "verifier_assurance.defs.json#/$defs/profile_ref" - }, - "raw_backend_result_digest": { - "$ref": "common.defs.json#/$defs/hex_digest" - }, - "result_ref": { - "$ref": "verifier_assurance.defs.json#/$defs/result_ref" - }, - "schema_version": { - "$ref": "common.defs.json#/$defs/schema_version_v1" - }, - "signature_or_digest": { - "$ref": "verifier_assurance.defs.json#/$defs/forbid_signature_or_digest" - }, - "source_commit": { - "$ref": "verifier_assurance.defs.json#/$defs/git_commit_sha40" - }, - "source_repo": { - "format": "uri", - "type": "string" - }, - "started_at": { - "$ref": "common.defs.json#/$defs/iso8601_datetime" - }, - "stderr_digest": { - "$ref": "common.defs.json#/$defs/hex_digest" - }, - "stdout_digest": { - "$ref": "common.defs.json#/$defs/hex_digest" - } - }, - "required": [ - "schema_version", - "artifact_type", - "canonicalization_version", - "invocation_id", - "profile_ref", - "input_digest", - "command", - "started_at", - "completed_at", - "exit", - "stdout_digest", - "stderr_digest", - "raw_backend_result_digest", - "normalized_result_digest", - "producer", - "producer_version", - "integrity" - ], - "title": "VerifierInvocationRecord.v1", - "type": "object" -} diff --git a/schemas/VerifierMutationManifest.v1.schema.json b/schemas/VerifierMutationManifest.v1.schema.json deleted file mode 100644 index 81f8c08..0000000 --- a/schemas/VerifierMutationManifest.v1.schema.json +++ /dev/null @@ -1,91 +0,0 @@ -{ - "$id": "https://pcs.sentinelops.ci/schemas/VerifierMutationManifest.v1.schema.json", - "$schema": "https://json-schema.org/draft/2020-12/schema", - "additionalProperties": false, - "description": "Typed immutable-profile mutation record.", - "properties": { - "artifact_type": { - "const": "VerifierMutationManifest.v1" - }, - "base_profile_ref": { - "$ref": "verifier_assurance.defs.json#/$defs/profile_ref" - }, - "canonicalization_version": { - "$ref": "common.defs.json#/$defs/canonicalization_version" - }, - "created_at": { - "$ref": "common.defs.json#/$defs/iso8601_datetime" - }, - "expected_effect": { - "minLength": 1, - "type": "string" - }, - "integrity": { - "$ref": "verifier_assurance.defs.json#/$defs/nested_integrity" - }, - "mutated_profile_ref": { - "$ref": "verifier_assurance.defs.json#/$defs/profile_ref" - }, - "mutation_class": { - "$ref": "verifier_assurance.defs.json#/$defs/mutation_class" - }, - "mutation_id": { - "maxLength": 256, - "minLength": 1, - "type": "string" - }, - "parameters": { - "type": "object" - }, - "producer": { - "maxLength": 256, - "minLength": 1, - "type": "string" - }, - "producer_version": { - "maxLength": 128, - "minLength": 1, - "type": "string" - }, - "production_prohibition": { - "const": true - }, - "rationale": { - "minLength": 1, - "type": "string" - }, - "schema_version": { - "$ref": "common.defs.json#/$defs/schema_version_v1" - }, - "signature_or_digest": { - "$ref": "verifier_assurance.defs.json#/$defs/forbid_signature_or_digest" - }, - "source_commit": { - "$ref": "verifier_assurance.defs.json#/$defs/git_commit_sha40" - }, - "source_repo": { - "format": "uri", - "type": "string" - }, - "supported_by_adapter": { - "type": "boolean" - } - }, - "required": [ - "schema_version", - "artifact_type", - "canonicalization_version", - "mutation_id", - "base_profile_ref", - "mutated_profile_ref", - "mutation_class", - "expected_effect", - "production_prohibition", - "producer", - "producer_version", - "created_at", - "integrity" - ], - "title": "VerifierMutationManifest.v1", - "type": "object" -} diff --git a/schemas/VerifierReplayReport.v1.schema.json b/schemas/VerifierReplayReport.v1.schema.json deleted file mode 100644 index f1f40a9..0000000 --- a/schemas/VerifierReplayReport.v1.schema.json +++ /dev/null @@ -1,125 +0,0 @@ -{ - "$id": "https://pcs.sentinelops.ci/schemas/VerifierReplayReport.v1.schema.json", - "$schema": "https://json-schema.org/draft/2020-12/schema", - "additionalProperties": false, - "description": "Replay comparison report for verifier assurance.", - "properties": { - "artifact_type": { - "const": "VerifierReplayReport.v1" - }, - "canonicalization_version": { - "$ref": "common.defs.json#/$defs/canonicalization_version" - }, - "created_at": { - "$ref": "common.defs.json#/$defs/iso8601_datetime" - }, - "determinism": { - "$ref": "verifier_assurance.defs.json#/$defs/determinism_mode" - }, - "drift": { - "additionalProperties": false, - "properties": { - "claim_match": { - "type": "boolean" - }, - "normalized_digest_match": { - "type": "boolean" - }, - "notes": { - "minLength": 1, - "type": "string" - }, - "raw_digest_match": { - "type": "boolean" - } - }, - "required": [ - "raw_digest_match", - "normalized_digest_match" - ], - "type": "object" - }, - "failure_reason": { - "$ref": "verifier_assurance.defs.json#/$defs/failure_reason" - }, - "indeterminate_reason": { - "$ref": "verifier_assurance.defs.json#/$defs/indeterminate_reason" - }, - "integrity": { - "$ref": "verifier_assurance.defs.json#/$defs/nested_integrity" - }, - "original_invocation_ref": { - "$ref": "verifier_assurance.defs.json#/$defs/invocation_ref" - }, - "original_normalized_digest": { - "$ref": "common.defs.json#/$defs/hex_digest" - }, - "original_raw_digest": { - "$ref": "common.defs.json#/$defs/hex_digest" - }, - "producer": { - "maxLength": 256, - "minLength": 1, - "type": "string" - }, - "producer_version": { - "maxLength": 128, - "minLength": 1, - "type": "string" - }, - "profile_ref": { - "$ref": "verifier_assurance.defs.json#/$defs/profile_ref" - }, - "replay_id": { - "maxLength": 256, - "minLength": 1, - "type": "string" - }, - "replay_invocation_ref": { - "$ref": "verifier_assurance.defs.json#/$defs/invocation_ref" - }, - "replay_normalized_digest": { - "$ref": "common.defs.json#/$defs/hex_digest" - }, - "replay_raw_digest": { - "$ref": "common.defs.json#/$defs/hex_digest" - }, - "replay_status": { - "$ref": "verifier_assurance.defs.json#/$defs/replay_status" - }, - "schema_version": { - "$ref": "common.defs.json#/$defs/schema_version_v1" - }, - "signature_or_digest": { - "$ref": "verifier_assurance.defs.json#/$defs/forbid_signature_or_digest" - }, - "source_commit": { - "$ref": "verifier_assurance.defs.json#/$defs/git_commit_sha40" - }, - "source_repo": { - "format": "uri", - "type": "string" - } - }, - "required": [ - "schema_version", - "artifact_type", - "canonicalization_version", - "replay_id", - "original_invocation_ref", - "profile_ref", - "replay_status", - "determinism", - "original_raw_digest", - "replay_raw_digest", - "original_normalized_digest", - "replay_normalized_digest", - "drift", - "producer", - "producer_version", - "created_at", - "integrity" - ], - "title": "VerifierReplayReport.v1", - "type": "object" -} diff --git a/schemas/verifier_assurance.defs.json b/schemas/verifier_assurance.defs.json index 43d1b73..e32b4a9 100644 --- a/schemas/verifier_assurance.defs.json +++ b/schemas/verifier_assurance.defs.json @@ -270,26 +270,9 @@ ], "type": "string" }, - "invocation_exit_kind": { - "enum": [ - "exited", - "timeout", - "missing_checker", - "spawn_error", - "signal", - "cancelled", - "resource_exhausted", - "error", - "other" - ], - "type": "string" - }, "invocation_ref": { "additionalProperties": false, "properties": { - "artifact_type": { - "const": "VerifierInvocationRecord.v1" - }, "invocation_digest": { "$ref": "common.defs.json#/$defs/hex_digest" }, @@ -350,25 +333,6 @@ ], "type": "string" }, - "mutation_class": { - "enum": [ - "remove_success_predicate", - "remove_process_predicate", - "remove_authority_predicate", - "change_threshold", - "reduce_test_subset", - "alter_timeout", - "suppress_error", - "change_rubric", - "change_prompt", - "ensemble_quorum", - "hidden_state_access", - "policy_bundle", - "abstention", - "other" - ], - "type": "string" - }, "named_digest": { "additionalProperties": false, "properties": { @@ -515,15 +479,6 @@ ], "type": "object" }, - "replay_status": { - "enum": [ - "matched", - "drifted", - "indeterminate", - "failed" - ], - "type": "string" - }, "result_ref": { "additionalProperties": false, "properties": { diff --git a/test_vectors/hash/verifierinvocationrecord_v1.vector.json b/test_vectors/hash/verifierinvocationrecord_v1.vector.json deleted file mode 100644 index 294d5e9..0000000 --- a/test_vectors/hash/verifierinvocationrecord_v1.vector.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "artifact_type": "VerifierInvocationRecord.v1", - "input_file": "examples/verifier_assurance/valid/invocation_basic/invocation.json", - "expected_digest": "sha256:67b706c3107fde36b4c6ccbd502d331aca7a688f45277e2edd8b2f6af070d8f4", - "canonical_json": "{\"artifact_type\":\"VerifierInvocationRecord.v1\",\"assumptions\":[],\"canonicalization_version\":\"v1\",\"command\":{\"argv\":[\"opa\",\"eval\",\"-d\",\"policy.rego\",\"data.allow\"],\"cwd\":\".\",\"env_digest\":\"sha256:cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc\",\"limits\":{\"timeout_ms\":30000}},\"compiled_obligation\":{\"digest\":\"sha256:cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc\",\"media_type\":\"application/json\",\"path\":\"compiled_obligation.json\"},\"completed_at\":\"2026-07-24T16:01:01Z\",\"exit\":{\"code\":0,\"kind\":\"exited\"},\"guarantee_class\":\"runtime_observed\",\"input_digest\":\"sha256:bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb\",\"integrity\":{\"artifact_digest\":\"sha256:a8761bfcdda71d47ac64d26513d378d258404f9042d4ad1a8816dcfc935a6ac1\",\"canonicalization_version\":\"v1\"},\"invocation_id\":\"vi-ovk-pin-001\",\"limits\":[],\"normalized_result_digest\":\"sha256:bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb\",\"normalizer_version\":\"ovk.normalize.v1\",\"producer\":\"OVK\",\"producer_version\":\"0.4.0\",\"profile_ref\":{\"artifact_type\":\"VerifierProfile.v1\",\"profile_digest\":\"sha256:aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa\",\"verifier_profile_id\":\"vp-opa-demo-001\"},\"raw_backend_result_digest\":\"sha256:aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa\",\"schema_version\":\"v1\",\"source_commit\":\"e068794683959c52a19594a6d271dd5e69f3c999\",\"source_repo\":\"https://github.com/SentinelOps-CI/pcs-core\",\"started_at\":\"2026-07-24T16:01:00Z\",\"stderr_digest\":\"sha256:eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee\",\"stdout_digest\":\"sha256:dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd\"}" -} diff --git a/test_vectors/hash/verifiermutationmanifest_v1.vector.json b/test_vectors/hash/verifiermutationmanifest_v1.vector.json deleted file mode 100644 index 61265fd..0000000 --- a/test_vectors/hash/verifiermutationmanifest_v1.vector.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "artifact_type": "VerifierMutationManifest.v1", - "input_file": "examples/verifier_assurance/valid/mutation_timeout/mutation.json", - "expected_digest": "sha256:2ea6399e73595607de81e3f39f03c9c556bc671ac48813a9a1ab6791cf56e9d2", - "canonical_json": "{\"artifact_type\":\"VerifierMutationManifest.v1\",\"base_profile_ref\":{\"artifact_type\":\"VerifierProfile.v1\",\"profile_digest\":\"sha256:aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa\",\"verifier_profile_id\":\"vp-opa-demo-001\"},\"canonicalization_version\":\"v1\",\"created_at\":\"2026-07-24T16:03:00Z\",\"expected_effect\":\"Changes execution timeout.\",\"integrity\":{\"artifact_digest\":\"sha256:35d8c217a200611e57fdc6039018429aa27e1169717678bed7c205d1dd95f025\",\"canonicalization_version\":\"v1\"},\"mutated_profile_ref\":{\"artifact_type\":\"VerifierProfile.v1\",\"profile_digest\":\"sha256:bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb\",\"verifier_profile_id\":\"vp-opa-demo-001-mut-alter_timeout\"},\"mutation_class\":\"alter_timeout\",\"mutation_id\":\"mut-alter_timeout-001\",\"parameters\":{\"timeout_ms\":1000},\"producer\":\"OVK\",\"producer_version\":\"0.4.0\",\"production_prohibition\":true,\"schema_version\":\"v1\",\"source_commit\":\"e068794683959c52a19594a6d271dd5e69f3c999\",\"source_repo\":\"https://github.com/SentinelOps-CI/pcs-core\",\"supported_by_adapter\":true}" -} diff --git a/test_vectors/hash/verifierreplayreport_v1.vector.json b/test_vectors/hash/verifierreplayreport_v1.vector.json deleted file mode 100644 index 558e269..0000000 --- a/test_vectors/hash/verifierreplayreport_v1.vector.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "artifact_type": "VerifierReplayReport.v1", - "input_file": "examples/verifier_assurance/valid/replay_matched/replay.json", - "expected_digest": "sha256:17d0d748480fb3155408cd46f6d32841232e603aed0a605823a371f702c721b5", - "canonical_json": "{\"artifact_type\":\"VerifierReplayReport.v1\",\"canonicalization_version\":\"v1\",\"created_at\":\"2026-07-24T16:02:00Z\",\"determinism\":\"deterministic\",\"drift\":{\"claim_match\":true,\"normalized_digest_match\":true,\"raw_digest_match\":true},\"integrity\":{\"artifact_digest\":\"sha256:f2af1afd1ee217db70273ebce5d695af47bfbb66e975b4411b5860b3b79f85af\",\"canonicalization_version\":\"v1\"},\"original_invocation_ref\":{\"artifact_type\":\"VerifierInvocationRecord.v1\",\"invocation_digest\":\"sha256:a8761bfcdda71d47ac64d26513d378d258404f9042d4ad1a8816dcfc935a6ac1\",\"invocation_id\":\"vi-ovk-pin-001\"},\"original_normalized_digest\":\"sha256:bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb\",\"original_raw_digest\":\"sha256:aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa\",\"producer\":\"OVK\",\"producer_version\":\"0.4.0\",\"profile_ref\":{\"artifact_type\":\"VerifierProfile.v1\",\"profile_digest\":\"sha256:aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa\",\"verifier_profile_id\":\"vp-opa-demo-001\"},\"replay_id\":\"rr-ovk-pin-001\",\"replay_normalized_digest\":\"sha256:bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb\",\"replay_raw_digest\":\"sha256:aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa\",\"replay_status\":\"matched\",\"schema_version\":\"v1\",\"source_commit\":\"e068794683959c52a19594a6d271dd5e69f3c999\",\"source_repo\":\"https://github.com/SentinelOps-CI/pcs-core\"}" -} diff --git a/typescript/packages/core/src/schema.ts b/typescript/packages/core/src/schema.ts index a719ef1..8041405 100644 --- a/typescript/packages/core/src/schema.ts +++ b/typescript/packages/core/src/schema.ts @@ -87,9 +87,6 @@ const ARTIFACT_SCHEMAS: Record = { "ArtifactIntegrity.v1": "ArtifactIntegrity.v1.schema.json", "VerifierProfile.v1": "VerifierProfile.v1.schema.json", "VerificationResult.v1": "VerificationResult.v1.schema.json", - "VerifierInvocationRecord.v1": "VerifierInvocationRecord.v1.schema.json", - "VerifierReplayReport.v1": "VerifierReplayReport.v1.schema.json", - "VerifierMutationManifest.v1": "VerifierMutationManifest.v1.schema.json", "RewardEvidenceEnvelope.v1": "RewardEvidenceEnvelope.v1.schema.json", "OptimizationCampaignManifest.v1": "OptimizationCampaignManifest.v1.schema.json", "AdjudicationRecord.v1": "AdjudicationRecord.v1.schema.json",