{"action":{"$schema":"https://json-schema.org/draft/2020-12/schema","$id":"https://astranl.com/protocol/core/verified-action.schema.json","title":"AstraNL verified ACTION","version":"0.5.0","decisions":[300,304,305,307],"canonical_primitive":"ACTION","principle":"One bounded action relative to a stated real-world moment. A protocol path is an ordered append-only composition of independently evaluated action receipts, not a workflow engine.","verdicts":["CONFIRMED_OCCURRED","CONFIRMED_NOT_OCCURRED","UNKNOWN"],"type":"object","required":["action_id","subject","verb","object","authority","event_time","scope","proof_rule","evidence"],"properties":{"action_id":{"type":"string","pattern":"^[A-Za-z0-9._:-]{1,40}$"},"subject":{"type":"string","minLength":1,"maxLength":500},"verb":{"type":"string","minLength":1,"maxLength":500},"object":{"type":"string","minLength":1,"maxLength":500},"data_quality":{"enum":["real","synthetic","test"],"default":"real"},"coordination_binding":{"type":"object","required":["coordination_id","proof_criterion_sha256"],"properties":{"coordination_id":{"type":"string","minLength":1,"maxLength":500},"proof_criterion_sha256":{"type":"string","pattern":"^[a-f0-9]{64}$"}},"additionalProperties":false},"authority":{"type":"object","required":["authority_ref","granted_by","scope"],"properties":{"authority_ref":{"type":"string","minLength":1,"maxLength":500},"granted_by":{"type":"string","minLength":1,"maxLength":500},"scope":{"type":"string","minLength":1,"maxLength":500}},"additionalProperties":false},"event_time":{"type":"string","format":"date-time"},"scope":{"type":"object","required":["geography","claim_valid_from","claim_valid_until"],"properties":{"geography":{"type":"string","minLength":1,"maxLength":500},"claim_valid_from":{"type":"string","format":"date-time"},"claim_valid_until":{"type":"string","format":"date-time"}},"additionalProperties":false},"proof_rule":{"type":"object","required":["occurrence_evidence_types","non_occurrence_evidence_types","max_observation_lag_seconds"],"properties":{"occurrence_evidence_types":{"type":"array","minItems":1,"uniqueItems":true,"items":{"type":"string","minLength":1,"maxLength":500}},"non_occurrence_evidence_types":{"type":"array","uniqueItems":true,"items":{"type":"string","minLength":1,"maxLength":500}},"max_observation_lag_seconds":{"type":"integer","minimum":0}},"additionalProperties":false},"evidence":{"type":"array","maxItems":64,"items":{"type":"object","required":["evidence_id","action_id","evidence_type","assertion","source_authority","source_ref","observed_at","content_sha256"],"properties":{"evidence_id":{"type":"string","minLength":1,"maxLength":500},"action_id":{"type":"string","minLength":1,"maxLength":500},"evidence_type":{"type":"string","minLength":1,"maxLength":500},"assertion":{"enum":["POSITIVE","NEGATIVE","UNKNOWN"]},"source_authority":{"type":"string","minLength":1,"maxLength":500},"source_ref":{"type":"string","minLength":1,"maxLength":500},"observed_at":{"type":"string","format":"date-time"},"content_sha256":{"type":"string","pattern":"^[a-f0-9]{64}$"},"contradicts":{"type":"array","uniqueItems":true,"items":{"type":"string","minLength":1,"maxLength":500}},"details":{"type":"object"}},"additionalProperties":false}}},"additionalProperties":false,"limits":{"max_evidence":64,"max_text":500,"max_action_bytes":65536}},"receipt":{"$schema":"https://json-schema.org/draft/2020-12/schema","$id":"https://astranl.com/protocol/core/action-receipt.schema.json","title":"AstraNL action receipt","version":"0.5.0","store":"Reality Protocol proof_receipts (policy_id verified_action) + AstraLock Ed25519/Merkle event","verify":"https://astranl.com/api/reality/receipt/{receipt_id}/verify","consume":"POST https://astranl.com/api/reality/receipt/{receipt_id}/consume (X-Agent-Key)","required":["receipt_version","kind","action_id","action_sha256","subject","verb","object","authority_ref","event_time","claim_valid_from","claim_valid_until","evidence","verdict","reason","missing","evaluator_version","data_quality","countable_as_real"],"properties":{"coordination_binding":{"type":["object","null"],"required":["coordination_id","proof_criterion_sha256"],"properties":{"coordination_id":{"type":"string","minLength":1,"maxLength":500},"proof_criterion_sha256":{"type":"string","pattern":"^[a-f0-9]{64}$"}},"additionalProperties":false,"description":"optional for standalone actions; required when a receipt advances a coordination"}},"rule":"a receipt proves that the evidence it binds met the proof rule it binds, at evaluation time; never absolute truth"},"evaluator_version":"verified-action/0.6.0","issuing_enabled":true}