{ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://aas.example/schemas/v1/abstention-case.schema.json", "title": "AAS v1 pre-declared out-of-distribution abstention case", "type": "object", "additionalProperties": false, "required": ["schemaVersion", "caseId", "intent", "profile", "targets", "policy", "criticalGoals", "nonCriticalGoals", "requiresSkill", "provenance", "taskFamilyFingerprint"], "properties": { "schemaVersion": { "const": 1 }, "caseId": { "type": "string", "pattern": "^abstention\\." }, "intent": { "type": "string", "minLength": 1, "not": { "enum": ["web-application-delivery", "api-backend-delivery", "test-qa-automation", "security-review-hardening", "deployment-devops", "agent-mcp-development"] } }, "profile": { "type": "object", "minProperties": 1 }, "targets": { "type": "array", "minItems": 1, "maxItems": 2, "uniqueItems": true, "items": { "type": "object", "additionalProperties": false, "required": ["host", "scope"], "properties": { "host": { "enum": ["codex", "claude"] }, "scope": { "const": "project" } } } }, "policy": { "type": "object", "additionalProperties": false, "required": ["allowedRisk", "requireKnownSource", "allowManualSetup"], "properties": { "allowedRisk": { "const": ["none", "safe"] }, "requireKnownSource": { "const": false }, "allowManualSetup": { "const": false } } }, "criticalGoals": { "type": "array", "minItems": 1, "uniqueItems": true, "items": { "type": "string", "minLength": 1 } }, "nonCriticalGoals": { "type": "array", "uniqueItems": true, "items": { "type": "string", "minLength": 1 } }, "minimumNonCriticalGoalCoverage": { "type": "number", "minimum": 0.8, "maximum": 1 }, "requiresSkill": { "const": false }, "provenance": { "type": "object", "additionalProperties": false, "required": ["source", "version", "reviewedAt"], "properties": { "source": { "type": "string", "minLength": 1 }, "version": { "type": "string", "minLength": 1 }, "reviewedAt": { "type": "string", "pattern": "^\\d{4}-\\d{2}-\\d{2}$" } } }, "taskFamilyFingerprint": { "type": "string", "pattern": "^sha256:[0-9a-f]{64}$" } } }