{ "$schema": "http://json-schema.org/draft-07/schema#", "$id": "https://veritasacta.com/schemas/receipt-v2.json", "title": "Veritas Acta Decision Receipt (v2 envelope)", "description": "Expected shape of a protect-mcp@0.7.4 receipt. Mirrors draft-farley-acta-signed-receipts; the decision facts live in payload, signed as a unit.", "type": "object", "required": [ "v", "type", "algorithm", "kid", "issuer", "issued_at", "payload", "signature" ], "properties": { "v": { "type": "integer", "const": 2 }, "type": { "type": "string", "enum": [ "decision_receipt", "gateway_restraint" ] }, "algorithm": { "type": "string", "const": "ed25519" }, "kid": { "type": "string" }, "issuer": { "type": "string" }, "issued_at": { "type": "string", "format": "date-time" }, "payload": { "type": "object", "required": [ "tool", "decision" ], "properties": { "tool": { "type": "string" }, "decision": { "type": "string", "enum": [ "allow", "deny" ] }, "reason_code": { "type": "string" }, "policy_digest": { "type": "string" }, "request_id": { "type": "string" }, "spec": { "type": "string" } }, "additionalProperties": true }, "signature": { "type": "string", "minLength": 32 } }, "additionalProperties": true }