{ "$schema": "https://json-schema.org/draft/2020-12/schema", "title": "StellaOps Task Pack Approval Ledger", "description": "DSSE payload recording approval decisions for Task Pack gates.", "type": "object", "additionalProperties": false, "required": [ "schemaVersion", "runId", "gateId", "planHash", "decision", "decidedAt", "tenantId", "approver" ], "properties": { "schemaVersion": { "type": "string", "const": "stellaops.pack.approval-ledger.v1" }, "runId": { "type": "string", "minLength": 1 }, "gateId": { "type": "string", "minLength": 1 }, "planHash": { "type": "string", "pattern": "^sha256:[0-9a-f]{64}$" }, "decision": { "type": "string", "enum": ["approved", "rejected", "expired"] }, "decidedAt": { "type": "string", "format": "date-time" }, "tenantId": { "type": "string", "minLength": 1 }, "environment": { "type": "string" }, "approver": { "type": "object", "additionalProperties": false, "required": ["id"], "properties": { "id": { "type": "string", "minLength": 1 }, "summary": { "type": "string" } } }, "reason": { "type": "string" }, "evidence": { "type": "object", "additionalProperties": false, "properties": { "requestDigest": { "type": "string", "pattern": "^sha256:[0-9a-f]{64}$" }, "responseDigest": { "type": "string", "pattern": "^sha256:[0-9a-f]{64}$" } } } } }