{"$schema":"https://json-schema.org/draft/2020-12/schema","$id":"urn:scopeai:geo-agent-profile:0.1-draft:messages","title":"GEO Agent Service Profile 0.1-draft messages","description":"Draft domain contract. Structural validity is not proof of authorization, service availability or real evidence.","oneOf":[{"type":"object","properties":{"profile":{"const":"geo-agent-service"},"profile_version":{"const":"0.1-draft"},"message_type":{"const":"service_manifest"},"synthetic":{"type":"boolean"},"payload":{"$ref":"#/$defs/Manifest"}},"required":["profile","profile_version","message_type","payload"],"additionalProperties":false},{"type":"object","properties":{"profile":{"const":"geo-agent-service"},"profile_version":{"const":"0.1-draft"},"message_type":{"const":"match_request"},"synthetic":{"type":"boolean"},"payload":{"$ref":"#/$defs/MatchRequest"}},"required":["profile","profile_version","message_type","payload"],"additionalProperties":false},{"type":"object","properties":{"profile":{"const":"geo-agent-service"},"profile_version":{"const":"0.1-draft"},"message_type":{"const":"match_result"},"synthetic":{"type":"boolean"},"payload":{"$ref":"#/$defs/MatchResult"}},"required":["profile","profile_version","message_type","payload"],"additionalProperties":false},{"type":"object","properties":{"profile":{"const":"geo-agent-service"},"profile_version":{"const":"0.1-draft"},"message_type":{"const":"assessment_request"},"synthetic":{"type":"boolean"},"payload":{"$ref":"#/$defs/AssessmentRequest"}},"required":["profile","profile_version","message_type","payload"],"additionalProperties":false},{"type":"object","properties":{"profile":{"const":"geo-agent-service"},"profile_version":{"const":"0.1-draft"},"message_type":{"const":"quote"},"synthetic":{"type":"boolean"},"payload":{"$ref":"#/$defs/Quote"}},"required":["profile","profile_version","message_type","payload"],"additionalProperties":false},{"type":"object","properties":{"profile":{"const":"geo-agent-service"},"profile_version":{"const":"0.1-draft"},"message_type":{"const":"accept_quote"},"synthetic":{"type":"boolean"},"payload":{"$ref":"#/$defs/AcceptQuote"}},"required":["profile","profile_version","message_type","payload"],"additionalProperties":false},{"type":"object","properties":{"profile":{"const":"geo-agent-service"},"profile_version":{"const":"0.1-draft"},"message_type":{"const":"task"},"synthetic":{"type":"boolean"},"payload":{"$ref":"#/$defs/Task"}},"required":["profile","profile_version","message_type","payload"],"additionalProperties":false},{"type":"object","properties":{"profile":{"const":"geo-agent-service"},"profile_version":{"const":"0.1-draft"},"message_type":{"const":"assessment_result"},"synthetic":{"type":"boolean"},"payload":{"$ref":"#/$defs/AssessmentResult"}},"required":["profile","profile_version","message_type","payload"],"additionalProperties":false},{"type":"object","properties":{"profile":{"const":"geo-agent-service"},"profile_version":{"const":"0.1-draft"},"message_type":{"const":"change_package"},"synthetic":{"type":"boolean"},"payload":{"$ref":"#/$defs/ChangePackage"}},"required":["profile","profile_version","message_type","payload"],"additionalProperties":false},{"type":"object","properties":{"profile":{"const":"geo-agent-service"},"profile_version":{"const":"0.1-draft"},"message_type":{"const":"execution_receipt"},"synthetic":{"type":"boolean"},"payload":{"$ref":"#/$defs/ExecutionReceipt"}},"required":["profile","profile_version","message_type","payload"],"additionalProperties":false},{"type":"object","properties":{"profile":{"const":"geo-agent-service"},"profile_version":{"const":"0.1-draft"},"message_type":{"const":"comparison"},"synthetic":{"type":"boolean"},"payload":{"$ref":"#/$defs/Comparison"}},"required":["profile","profile_version","message_type","payload"],"additionalProperties":false},{"type":"object","properties":{"profile":{"const":"geo-agent-service"},"profile_version":{"const":"0.1-draft"},"message_type":{"const":"error"},"synthetic":{"type":"boolean"},"payload":{"$ref":"#/$defs/Error"}},"required":["profile","profile_version","message_type","payload"],"additionalProperties":false}],"$defs":{"Extensions":{"type":"object","propertyNames":{"pattern":"^[a-z0-9][a-z0-9.-]+/[A-Za-z0-9._-]+$"},"additionalProperties":true},"Money":{"type":"object","properties":{"currency":{"type":"string","pattern":"^[A-Z]{3}$"},"minor_unit_exponent":{"type":"integer","minimum":0,"maximum":6},"amount_minor":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["currency","minor_unit_exponent","amount_minor"],"additionalProperties":false},"Budget":{"type":"object","properties":{"currency":{"type":"string","pattern":"^[A-Z]{3}$"},"minor_unit_exponent":{"type":"integer","minimum":0,"maximum":6},"max_amount_minor":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["currency","minor_unit_exponent","max_amount_minor"],"additionalProperties":false},"Provider":{"type":"object","properties":{"id":{"type":"string","format":"uri","pattern":"^https://[^/?#@\\s]+(?:[/?#][^\\s]*)?$","maxLength":2048},"name":{"type":"string","minLength":1,"maxLength":120},"official_url":{"type":"string","format":"uri","pattern":"^https://[^/?#@\\s]+(?:[/?#][^\\s]*)?$","maxLength":2048},"disambiguating_description":{"type":"string","minLength":1,"maxLength":4000}},"required":["id","name","official_url","disambiguating_description"],"additionalProperties":false},"Auth":{"type":"object","properties":{"modes":{"type":"array","items":{"type":"string","enum":["api_key","oauth2"]},"minItems":1,"maxItems":2},"documentation_url":{"type":"string","format":"uri","pattern":"^https://[^/?#@\\s]+(?:[/?#][^\\s]*)?$","maxLength":2048}},"required":["modes","documentation_url"],"additionalProperties":false},"Interface":{"type":"object","properties":{"transport":{"type":"string","enum":["rest","mcp"]},"endpoint":{"type":"string","format":"uri","pattern":"^https://[^/?#@\\s]+(?:[/?#][^\\s]*)?$","maxLength":2048},"contract_url":{"type":"string","format":"uri","pattern":"^https://[^/?#@\\s]+(?:[/?#][^\\s]*)?$","maxLength":2048},"supported_versions":{"type":"array","items":{"type":"string","minLength":1,"maxLength":4000},"minItems":1,"maxItems":10}},"required":["transport","endpoint","contract_url","supported_versions"],"additionalProperties":false},"Capability":{"type":"object","properties":{"id":{"type":"string","minLength":3,"maxLength":160,"pattern":"^[A-Za-z0-9._:/#-]+$"},"description":{"type":"string","minLength":1,"maxLength":4000},"intents":{"type":"array","items":{"type":"string","enum":["brand_visibility.observe","answer_citations.inspect","brand_facts.audit","content_changes.prepare","content_changes.execute","visibility_changes.compare"]},"minItems":1,"maxItems":6},"target_ids":{"type":"array","items":{"type":"string","minLength":3,"maxLength":160,"pattern":"^[A-Za-z0-9._:/#-]+$"},"uniqueItems":true,"maxItems":100},"languages":{"type":"array","items":{"type":"string","minLength":1,"maxLength":4000},"minItems":1,"maxItems":30},"markets":{"type":"array","items":{"type":"string","minLength":1,"maxLength":4000},"minItems":1,"maxItems":50},"surfaces":{"type":"array","items":{"type":"string","enum":["consumer_web","consumer_app","model_api","public_sources"]},"minItems":0,"maxItems":4},"provenance":{"type":"array","items":{"type":"string","enum":["consumer_product_observation","model_api_observation","public_source_research","generated_example","estimated_projection"]},"minItems":0,"maxItems":5},"status":{"type":"string","enum":["available","preview","planned","unavailable"]},"verified_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}]},"cost_model":{"type":"string","enum":["free","per_unit","per_deliverable","contract"]},"requires_authorization":{"type":"boolean"},"external_write":{"type":"boolean"}},"required":["id","description","intents","target_ids","languages","markets","surfaces","provenance","status","verified_at","cost_model","requires_authorization","external_write"],"additionalProperties":false,"allOf":[{"if":{"properties":{"status":{"const":"available"}},"required":["status"]},"then":{"properties":{"verified_at":{"type":"string","format":"date-time"}}}}]},"Manifest":{"type":"object","properties":{"provider":{"$ref":"#/$defs/Provider"},"manifest_version":{"type":"string","minLength":1,"maxLength":4000},"published_at":{"type":"string","format":"date-time"},"expires_at":{"type":"string","format":"date-time"},"conformance":{"type":"array","items":{"type":"string","enum":["D","O","X"]},"minItems":1,"maxItems":3},"documentation_url":{"type":"string","format":"uri","pattern":"^https://[^/?#@\\s]+(?:[/?#][^\\s]*)?$","maxLength":2048},"privacy_url":{"type":"string","format":"uri","pattern":"^https://[^/?#@\\s]+(?:[/?#][^\\s]*)?$","maxLength":2048},"support_url":{"type":"string","format":"uri","pattern":"^https://[^/?#@\\s]+(?:[/?#][^\\s]*)?$","maxLength":2048},"authentication":{"$ref":"#/$defs/Auth"},"interfaces":{"type":"array","items":{"$ref":"#/$defs/Interface"},"minItems":1,"maxItems":10},"capabilities":{"type":"array","items":{"$ref":"#/$defs/Capability"},"minItems":1,"maxItems":100},"targets":{"type":"array","items":{"$ref":"#/$defs/Target"},"maxItems":100},"limitations":{"type":"array","items":{"type":"string","minLength":1,"maxLength":4000},"minItems":1,"maxItems":30},"extensions":{"$ref":"#/$defs/Extensions"}},"required":["provider","manifest_version","published_at","expires_at","conformance","documentation_url","privacy_url","support_url","authentication","interfaces","capabilities","targets","limitations"],"additionalProperties":false},"MatchRequest":{"type":"object","properties":{"request_ref":{"type":"string","minLength":3,"maxLength":160,"pattern":"^[A-Za-z0-9._:/#-]+$"},"intent":{"type":"string","enum":["brand_visibility.observe","answer_citations.inspect","brand_facts.audit","content_changes.prepare","content_changes.execute","visibility_changes.compare"]},"desired_surface":{"type":"string","enum":["consumer_web","consumer_app","model_api","public_sources"]},"target_id":{"anyOf":[{"type":"string","minLength":1,"maxLength":4000},{"type":"null"}]},"language":{"type":"string","minLength":1,"maxLength":4000},"market":{"type":"string","minLength":1,"maxLength":4000},"desired_deliverables":{"type":"array","items":{"type":"string","minLength":1,"maxLength":4000},"minItems":1,"maxItems":20}},"required":["request_ref","intent","desired_surface","target_id","language","market","desired_deliverables"],"additionalProperties":false},"MatchResult":{"type":"object","properties":{"request_ref":{"type":"string","minLength":3,"maxLength":160,"pattern":"^[A-Za-z0-9._:/#-]+$"},"provider_id":{"type":"string","format":"uri","pattern":"^https://[^/?#@\\s]+(?:[/?#][^\\s]*)?$","maxLength":2048},"status":{"type":"string","enum":["supported","partial","unsupported","unknown"]},"capability_ids":{"type":"array","items":{"type":"string","minLength":3,"maxLength":160,"pattern":"^[A-Za-z0-9._:/#-]+$"},"minItems":0,"maxItems":20},"scope":{"type":"string","minLength":1,"maxLength":4000},"unmet_requirements":{"type":"array","items":{"type":"string","minLength":1,"maxLength":4000},"minItems":0,"maxItems":30},"next_action":{"type":"string","enum":["authenticate","adjust_scope","provide_input","refresh_manifest","stop"]}},"required":["request_ref","provider_id","status","capability_ids","scope","unmet_requirements","next_action"],"additionalProperties":false},"Target":{"type":"object","properties":{"id":{"type":"string","minLength":3,"maxLength":160,"pattern":"^[A-Za-z0-9._:/#-]+$"},"surface":{"type":"string","enum":["consumer_web","consumer_app","model_api","public_sources"]},"provider":{"type":"string","minLength":1,"maxLength":4000},"model":{"anyOf":[{"type":"string","minLength":1,"maxLength":4000},{"type":"null"}]},"search_mode":{"type":"string","enum":["on","off","unknown"]},"language":{"type":"string","minLength":1,"maxLength":4000},"market":{"type":"string","minLength":1,"maxLength":4000},"configuration_version":{"type":"string","minLength":1,"maxLength":4000}},"required":["id","surface","provider","model","search_mode","language","market","configuration_version"],"additionalProperties":false},"Question":{"type":"object","properties":{"id":{"type":"string","minLength":3,"maxLength":160,"pattern":"^[A-Za-z0-9._:/#-]+$"},"text":{"type":"string","minLength":4,"maxLength":2000},"kind":{"type":"string","enum":["natural","branded"]}},"required":["id","text","kind"],"additionalProperties":false},"AssessmentRequest":{"type":"object","properties":{"request_ref":{"type":"string","minLength":3,"maxLength":160,"pattern":"^[A-Za-z0-9._:/#-]+$"},"project_ref":{"type":"string","minLength":3,"maxLength":160,"pattern":"^[A-Za-z0-9._:/#-]+$"},"project_revision":{"type":"integer","minimum":1},"idempotency_key":{"type":"string","minLength":8,"maxLength":128,"pattern":"^[A-Za-z0-9._:-]+$"},"intent":{"type":"string","enum":["brand_visibility.observe","answer_citations.inspect","brand_facts.audit"]},"target":{"$ref":"#/$defs/Target"},"question_set_ref":{"type":"string","minLength":3,"maxLength":160,"pattern":"^[A-Za-z0-9._:/#-]+$"},"question_set_version":{"type":"string","minLength":1,"maxLength":4000},"questions":{"type":"array","items":{"$ref":"#/$defs/Question"},"minItems":1,"maxItems":100},"repeats":{"type":"integer","minimum":1,"maximum":20},"budget":{"$ref":"#/$defs/Budget"},"deliverables":{"type":"array","items":{"type":"string","enum":["raw_answers","citations","diagnosis"]},"minItems":1,"maxItems":3},"baseline_ref":{"type":"string","minLength":3,"maxLength":160,"pattern":"^[A-Za-z0-9._:/#-]+$"}},"required":["request_ref","project_ref","project_revision","idempotency_key","intent","target","question_set_ref","question_set_version","questions","repeats","budget","deliverables"],"additionalProperties":false},"Quote":{"type":"object","properties":{"quote_id":{"type":"string","minLength":3,"maxLength":160,"pattern":"^[A-Za-z0-9._:/#-]+$"},"request_ref":{"type":"string","minLength":3,"maxLength":160,"pattern":"^[A-Za-z0-9._:/#-]+$"},"provider_id":{"type":"string","format":"uri","pattern":"^https://[^/?#@\\s]+(?:[/?#][^\\s]*)?$","maxLength":2048},"capability_id":{"type":"string","minLength":3,"maxLength":160,"pattern":"^[A-Za-z0-9._:/#-]+$"},"frozen_configuration_ref":{"type":"string","minLength":3,"maxLength":160,"pattern":"^[A-Za-z0-9._:/#-]+$"},"price_version":{"type":"string","minLength":1,"maxLength":4000},"total":{"$ref":"#/$defs/Money"},"unit_price":{"$ref":"#/$defs/Money"},"unit_count":{"type":"integer","minimum":1,"maximum":10000},"expires_at":{"type":"string","format":"date-time"},"required_permissions":{"type":"array","items":{"type":"string","minLength":1,"maxLength":4000},"minItems":1,"maxItems":20},"delivery_scope":{"type":"string","minLength":1,"maxLength":4000}},"required":["quote_id","request_ref","provider_id","capability_id","frozen_configuration_ref","price_version","total","unit_price","unit_count","expires_at","required_permissions","delivery_scope"],"additionalProperties":false},"AcceptQuote":{"type":"object","properties":{"quote_id":{"type":"string","minLength":3,"maxLength":160,"pattern":"^[A-Za-z0-9._:/#-]+$"},"request_ref":{"type":"string","minLength":3,"maxLength":160,"pattern":"^[A-Za-z0-9._:/#-]+$"},"idempotency_key":{"type":"string","minLength":8,"maxLength":128,"pattern":"^[A-Za-z0-9._:-]+$"},"authorization_ref":{"type":"string","minLength":3,"maxLength":160,"pattern":"^[A-Za-z0-9._:/#-]+$"},"budget":{"$ref":"#/$defs/Budget"}},"required":["quote_id","request_ref","idempotency_key","authorization_ref","budget"],"additionalProperties":false},"Billing":{"type":"object","properties":{"currency":{"type":"string","pattern":"^[A-Z]{3}$"},"minor_unit_exponent":{"type":"integer","minimum":0,"maximum":6},"reserved_minor":{"type":"integer","minimum":0,"maximum":9007199254740991},"charged_minor":{"type":"integer","minimum":0,"maximum":9007199254740991},"released_minor":{"type":"integer","minimum":0,"maximum":9007199254740991},"state":{"type":"string","enum":["reserved","settled","released","pending"]}},"required":["currency","minor_unit_exponent","reserved_minor","charged_minor","released_minor","state"],"additionalProperties":false},"Progress":{"type":"object","properties":{"planned":{"type":"integer","minimum":0,"maximum":9007199254740991},"succeeded":{"type":"integer","minimum":0,"maximum":9007199254740991},"failed":{"type":"integer","minimum":0,"maximum":9007199254740991},"pending":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["planned","succeeded","failed","pending"],"additionalProperties":false},"Task":{"type":"object","properties":{"task_ref":{"type":"string","minLength":3,"maxLength":160,"pattern":"^[A-Za-z0-9._:/#-]+$"},"request_ref":{"type":"string","minLength":3,"maxLength":160,"pattern":"^[A-Za-z0-9._:/#-]+$"},"baseline_ref":{"type":"string","minLength":3,"maxLength":160,"pattern":"^[A-Za-z0-9._:/#-]+$"},"state":{"type":"string","enum":["queued","running","completed","partial","failed","cancelled","expired"]},"updated_at":{"type":"string","format":"date-time"},"deadline_at":{"type":"string","format":"date-time"},"poll_after_seconds":{"type":"integer","minimum":1,"maximum":3600},"progress":{"$ref":"#/$defs/Progress"},"result_ref":{"anyOf":[{"type":"string","minLength":3,"maxLength":160,"pattern":"^[A-Za-z0-9._:/#-]+$"},{"type":"null"}]},"billing":{"$ref":"#/$defs/Billing"},"error_code":{"anyOf":[{"type":"string","minLength":1,"maxLength":4000},{"type":"null"}]}},"required":["task_ref","request_ref","baseline_ref","state","updated_at","deadline_at","poll_after_seconds","progress","result_ref","billing","error_code"],"additionalProperties":false},"Citation":{"type":"object","properties":{"url":{"type":"string","format":"uri","pattern":"^https://[^/?#@\\s]+(?:[/?#][^\\s]*)?$","maxLength":2048},"quote":{"anyOf":[{"type":"string","minLength":1,"maxLength":4000},{"type":"null"}]},"verification":{"type":"string","enum":["checked","unchecked","unreachable","contradicted"]}},"required":["url","quote","verification"],"additionalProperties":false},"Observation":{"type":"object","properties":{"observation_ref":{"type":"string","minLength":3,"maxLength":160,"pattern":"^[A-Za-z0-9._:/#-]+$"},"question":{"$ref":"#/$defs/Question"},"target":{"$ref":"#/$defs/Target"},"provenance":{"type":"string","enum":["consumer_product_observation","model_api_observation","public_source_research","generated_example","estimated_projection"]},"observed_at":{"type":"string","format":"date-time"},"status":{"type":"string","enum":["answered","failed","not_triggered","unknown"]},"answer":{"anyOf":[{"type":"string","minLength":1,"maxLength":4000},{"type":"null"}]},"reason":{"anyOf":[{"type":"string","minLength":1,"maxLength":4000},{"type":"null"}]},"brand_mentioned":{"type":["boolean","null"]},"brand_recommended":{"type":["boolean","null"]},"recommendation_quote":{"anyOf":[{"type":"string","minLength":1,"maxLength":4000},{"type":"null"}]},"citations":{"type":"array","items":{"$ref":"#/$defs/Citation"},"minItems":0,"maxItems":100}},"required":["observation_ref","question","target","provenance","observed_at","status","answer","reason","brand_mentioned","brand_recommended","recommendation_quote","citations"],"additionalProperties":false,"allOf":[{"if":{"properties":{"status":{"const":"answered"}},"required":["status"]},"then":{"properties":{"answer":{"type":"string","minLength":1,"maxLength":4000},"reason":{"type":"null"}}},"else":{"properties":{"answer":{"type":"null"},"reason":{"type":"string","minLength":1,"maxLength":4000},"brand_mentioned":{"type":"null"},"brand_recommended":{"type":"null"},"recommendation_quote":{"type":"null"},"citations":{"type":"array","maxItems":0}}}},{"if":{"properties":{"brand_recommended":{"const":true}},"required":["brand_recommended"]},"then":{"properties":{"brand_mentioned":{"const":true},"recommendation_quote":{"type":"string","minLength":1,"maxLength":4000}}}},{"if":{"properties":{"provenance":{"const":"model_api_observation"}},"required":["provenance"]},"then":{"properties":{"target":{"type":"object","properties":{"surface":{"const":"model_api"}}}}}},{"if":{"properties":{"provenance":{"const":"consumer_product_observation"}},"required":["provenance"]},"then":{"properties":{"target":{"type":"object","properties":{"surface":{"enum":["consumer_web","consumer_app"]}}}}}},{"if":{"properties":{"provenance":{"const":"public_source_research"}},"required":["provenance"]},"then":{"properties":{"target":{"type":"object","properties":{"surface":{"const":"public_sources"}}}}}}]},"Diagnosis":{"type":"object","properties":{"issue_ref":{"type":"string","minLength":3,"maxLength":160,"pattern":"^[A-Za-z0-9._:/#-]+$"},"evidence_refs":{"type":"array","items":{"type":"string","minLength":3,"maxLength":160,"pattern":"^[A-Za-z0-9._:/#-]+$"},"minItems":1,"maxItems":100},"observed_fact":{"type":"string","minLength":1,"maxLength":4000},"hypothesis":{"anyOf":[{"type":"string","minLength":1,"maxLength":4000},{"type":"null"}]},"proposed_change":{"type":"string","minLength":1,"maxLength":4000},"acceptance_conditions":{"type":"array","items":{"type":"string","minLength":1,"maxLength":4000},"minItems":1,"maxItems":20}},"required":["issue_ref","evidence_refs","observed_fact","hypothesis","proposed_change","acceptance_conditions"],"additionalProperties":false},"AssessmentResult":{"type":"object","properties":{"assessment_ref":{"type":"string","minLength":3,"maxLength":160,"pattern":"^[A-Za-z0-9._:/#-]+$"},"task_ref":{"type":"string","minLength":3,"maxLength":160,"pattern":"^[A-Za-z0-9._:/#-]+$"},"baseline_ref":{"type":"string","minLength":3,"maxLength":160,"pattern":"^[A-Za-z0-9._:/#-]+$"},"observations":{"type":"array","items":{"$ref":"#/$defs/Observation"},"minItems":0,"maxItems":10000},"diagnoses":{"type":"array","items":{"$ref":"#/$defs/Diagnosis"},"minItems":0,"maxItems":100},"limitations":{"type":"array","items":{"type":"string","minLength":1,"maxLength":4000},"minItems":1,"maxItems":30},"extensions":{"$ref":"#/$defs/Extensions"}},"required":["assessment_ref","task_ref","baseline_ref","observations","diagnoses","limitations"],"additionalProperties":false},"ChangePackage":{"type":"object","properties":{"package_ref":{"type":"string","minLength":3,"maxLength":160,"pattern":"^[A-Za-z0-9._:/#-]+$"},"version":{"type":"string","minLength":1,"maxLength":4000},"project_ref":{"type":"string","minLength":3,"maxLength":160,"pattern":"^[A-Za-z0-9._:/#-]+$"},"source_assessment_ref":{"type":"string","minLength":3,"maxLength":160,"pattern":"^[A-Za-z0-9._:/#-]+$"},"target_url":{"type":"string","format":"uri","pattern":"^https://[^/?#@\\s]+(?:[/?#][^\\s]*)?$","maxLength":2048},"before_content_hash":{"type":"string","pattern":"^sha256:[a-f0-9]{64}$"},"change_type":{"type":"string","enum":["content_patch","technical_patch"]},"proposed_content":{"type":"string","minLength":1,"maxLength":4000},"evidence_refs":{"type":"array","items":{"type":"string","minLength":3,"maxLength":160,"pattern":"^[A-Za-z0-9._:/#-]+$"},"minItems":1,"maxItems":100},"acceptance_conditions":{"type":"array","items":{"type":"string","minLength":1,"maxLength":4000},"minItems":1,"maxItems":20},"state":{"type":"string","enum":["draft","approved"]},"approval_ref":{"anyOf":[{"type":"string","minLength":3,"maxLength":160,"pattern":"^[A-Za-z0-9._:/#-]+$"},{"type":"null"}]}},"required":["package_ref","version","project_ref","source_assessment_ref","target_url","before_content_hash","change_type","proposed_content","evidence_refs","acceptance_conditions","state","approval_ref"],"additionalProperties":false,"allOf":[{"if":{"properties":{"state":{"const":"approved"}},"required":["state"]},"then":{"properties":{"approval_ref":{"type":"string","minLength":3,"maxLength":160,"pattern":"^[A-Za-z0-9._:/#-]+$"}}},"else":{"properties":{"approval_ref":{"type":"null"}}}}]},"Verification":{"type":"object","properties":{"state":{"type":"string","enum":["customer_reported","submitted","verified","failed"]},"checked_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}]},"content_hash":{"anyOf":[{"type":"string","pattern":"^sha256:[a-f0-9]{64}$"},{"type":"null"}]},"reason":{"anyOf":[{"type":"string","minLength":1,"maxLength":4000},{"type":"null"}]}},"required":["state","checked_at","content_hash","reason"],"additionalProperties":false,"allOf":[{"if":{"properties":{"state":{"const":"verified"}},"required":["state"]},"then":{"properties":{"checked_at":{"type":"string","format":"date-time"},"content_hash":{"type":"string","pattern":"^sha256:[a-f0-9]{64}$"}}}}]},"ExecutionReceipt":{"type":"object","properties":{"receipt_ref":{"type":"string","minLength":3,"maxLength":160,"pattern":"^[A-Za-z0-9._:/#-]+$"},"package_ref":{"type":"string","minLength":3,"maxLength":160,"pattern":"^[A-Za-z0-9._:/#-]+$"},"package_version":{"type":"string","minLength":1,"maxLength":4000},"action_ref":{"type":"string","minLength":3,"maxLength":160,"pattern":"^[A-Za-z0-9._:/#-]+$"},"target_url":{"type":"string","format":"uri","pattern":"^https://[^/?#@\\s]+(?:[/?#][^\\s]*)?$","maxLength":2048},"channel":{"type":"string","minLength":1,"maxLength":4000},"state":{"type":"string","enum":["published","failed"]},"executed_at":{"type":"string","format":"date-time"},"execution_reference":{"type":"string","minLength":1,"maxLength":4000},"verification":{"$ref":"#/$defs/Verification"},"rollback_reference":{"anyOf":[{"type":"string","minLength":1,"maxLength":4000},{"type":"null"}]}},"required":["receipt_ref","package_ref","package_version","action_ref","target_url","channel","state","executed_at","execution_reference","verification","rollback_reference"],"additionalProperties":false},"Comparison":{"type":"object","properties":{"comparison_ref":{"type":"string","minLength":3,"maxLength":160,"pattern":"^[A-Za-z0-9._:/#-]+$"},"baseline_ref":{"type":"string","minLength":3,"maxLength":160,"pattern":"^[A-Za-z0-9._:/#-]+$"},"before_assessment_ref":{"type":"string","minLength":3,"maxLength":160,"pattern":"^[A-Za-z0-9._:/#-]+$"},"after_assessment_ref":{"type":"string","minLength":3,"maxLength":160,"pattern":"^[A-Za-z0-9._:/#-]+$"},"comparable":{"type":"boolean"},"reasons":{"type":"array","items":{"type":"string","minLength":1,"maxLength":4000},"minItems":0,"maxItems":30},"conclusion":{"type":"string","enum":["observed_change","no_clear_change","inconclusive","not_comparable"]},"summary":{"type":"string","minLength":1,"maxLength":4000},"evidence_refs":{"type":"array","items":{"type":"string","minLength":3,"maxLength":160,"pattern":"^[A-Za-z0-9._:/#-]+$"},"minItems":0,"maxItems":100}},"required":["comparison_ref","baseline_ref","before_assessment_ref","after_assessment_ref","comparable","reasons","conclusion","summary","evidence_refs"],"additionalProperties":false,"allOf":[{"if":{"properties":{"comparable":{"const":false}},"required":["comparable"]},"then":{"properties":{"conclusion":{"const":"not_comparable"},"reasons":{"type":"array","minItems":1}}},"else":{"properties":{"conclusion":{"enum":["observed_change","no_clear_change","inconclusive"]}}}}]},"Error":{"type":"object","properties":{"code":{"type":"string","enum":["unsupported_profile_version","invalid_request","unsupported_target","authentication_required","scope_denied","budget_exceeded","quote_expired","price_changed","revision_conflict","idempotency_conflict","target_unavailable","evidence_insufficient","not_comparable","rate_limited","service_unavailable"]},"message":{"type":"string","minLength":1,"maxLength":4000},"retryable":{"type":"boolean"},"request_ref":{"type":"string","minLength":3,"maxLength":160,"pattern":"^[A-Za-z0-9._:/#-]+$"},"next_action":{"type":"string","enum":["fix_input","authenticate","request_approval","requote","query_existing_task","wait","stop"]}},"required":["code","message","retryable","request_ref","next_action"],"additionalProperties":false}}}