{ "$defs": { "ArtifactReference": { "additionalProperties": false, "properties": { "artifact_type": { "$ref": "#/$defs/ArtifactType" }, "relative_path": { "minLength": 1, "title": "Relative Path", "type": "string" }, "sha256": { "pattern": "^[0-9a-f]{64}$", "title": "Sha256", "type": "string" }, "byte_count": { "minimum": 0, "title": "Byte Count", "type": "integer" }, "persistence_state": { "$ref": "#/$defs/PersistenceState" }, "schema_name": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Schema Name" }, "upstream_sha256": { "default": [], "items": { "type": "string" }, "title": "Upstream Sha256", "type": "array" } }, "required": [ "artifact_type", "relative_path", "sha256", "byte_count", "persistence_state" ], "title": "ArtifactReference", "type": "object" }, "ArtifactType": { "enum": [ "cmr_response", "collection_snapshot", "sealed_expert", "expert_source_binding", "comparison", "human_review", "readme_pdf", "readme_metadata", "extraction_manifest", "structural_index", "product_resolution", "evidence_selection", "evidence_packet", "blind_result", "run_state", "stage_log" ], "title": "ArtifactType", "type": "string" }, "DatasetIdentity": { "additionalProperties": false, "description": "Authoritative CMR collection identity.", "properties": { "concept_id": { "minLength": 1, "title": "Concept Id", "type": "string" }, "native_id": { "minLength": 1, "title": "Native Id", "type": "string" }, "short_name": { "minLength": 1, "title": "Short Name", "type": "string" }, "version": { "minLength": 1, "title": "Version", "type": "string" }, "cmr_revision_id": { "minimum": 1, "title": "Cmr Revision Id", "type": "integer" }, "legacy_entry_id": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Legacy Entry Id" } }, "required": [ "concept_id", "native_id", "short_name", "version", "cmr_revision_id" ], "title": "DatasetIdentity", "type": "object" }, "PersistenceState": { "enum": [ "not_persisted", "persisted", "hash_verified", "failed" ], "title": "PersistenceState", "type": "string" }, "RunIdentity": { "additionalProperties": false, "properties": { "run_id": { "pattern": "^[A-Za-z0-9][A-Za-z0-9._-]{0,127}$", "title": "Run Id", "type": "string" }, "concept_id": { "pattern": "^[A-Za-z0-9][A-Za-z0-9._-]{0,127}$", "title": "Concept Id", "type": "string" } }, "required": [ "run_id", "concept_id" ], "title": "RunIdentity", "type": "object" } }, "additionalProperties": false, "description": "Expert-free immutable provenance joining CMR and sealed artifacts.", "properties": { "schema_version": { "const": "expert-source-binding-v1", "default": "expert-source-binding-v1", "title": "Schema Version", "type": "string" }, "run": { "$ref": "#/$defs/RunIdentity" }, "identity": { "$ref": "#/$defs/DatasetIdentity" }, "cmr_source_artifact": { "$ref": "#/$defs/ArtifactReference" }, "cmr_source_sha256": { "pattern": "^[0-9a-f]{64}$", "title": "Cmr Source Sha256", "type": "string" }, "sealed_expert_artifact": { "$ref": "#/$defs/ArtifactReference" }, "sealed_expert_artifact_sha256": { "pattern": "^[0-9a-f]{64}$", "title": "Sealed Expert Artifact Sha256", "type": "string" }, "sealed_payload_sha256": { "pattern": "^[0-9a-f]{64}$", "title": "Sealed Payload Sha256", "type": "string" }, "binding_policy_version": { "const": "expert-source-binding-v1", "default": "expert-source-binding-v1", "title": "Binding Policy Version", "type": "string" }, "binding_sha256": { "pattern": "^[0-9a-f]{64}$", "title": "Binding Sha256", "type": "string" } }, "required": [ "run", "identity", "cmr_source_artifact", "cmr_source_sha256", "sealed_expert_artifact", "sealed_expert_artifact_sha256", "sealed_payload_sha256", "binding_sha256" ], "title": "ExpertSourceBinding", "type": "object" }