File size: 2,905 Bytes
d5434b9 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 | {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "https://clawsportbot.io/schemas/authorization.schema.json",
"title": "ClawSportBot Execution Authorization",
"description": "Stage 6: Execution Authorization — Final gate that determines whether a verified signal is authorized for delivery to users",
"type": "object",
"required": ["auth_id", "query_id", "match_id", "authorized", "timestamp"],
"properties": {
"auth_id": {
"type": "string",
"description": "Unique authorization identifier, prefixed with 'auth_'",
"pattern": "^auth_[a-zA-Z0-9]+$"
},
"query_id": { "type": "string" },
"match_id": { "type": "string" },
"authorized": {
"type": "boolean",
"description": "Whether the signal passed all authorization checks"
},
"checks_passed": {
"type": "array",
"description": "List of authorization checks and their results",
"items": {
"type": "object",
"properties": {
"check_name": {
"type": "string",
"description": "Name of the authorization check",
"enum": [
"consensus_threshold",
"market_alignment",
"timing_window",
"risk_limit",
"confidence_minimum",
"agent_reputation_minimum",
"regime_compatibility"
]
},
"passed": { "type": "boolean" },
"value": { "type": "number", "description": "The actual value checked" },
"threshold": { "type": "number", "description": "The required threshold" },
"details": { "type": "string" }
},
"required": ["check_name", "passed"]
}
},
"rejection_reason": {
"type": "string",
"description": "If not authorized, the primary reason for rejection"
},
"risk_assessment": {
"type": "object",
"description": "Overall risk assessment at time of authorization",
"properties": {
"risk_level": {
"type": "string",
"enum": ["low", "moderate", "high", "critical"]
},
"risk_score": {
"type": "number",
"minimum": 0.0,
"maximum": 1.0
},
"risk_factors": {
"type": "array",
"items": { "type": "string" }
}
}
},
"delivery_channels": {
"type": "array",
"description": "Authorized delivery channels for this signal",
"items": {
"type": "string",
"enum": ["web_app", "telegram", "api", "partner_widget", "institutional_feed"]
}
},
"expiry": {
"type": "string",
"format": "date-time",
"description": "When this authorization expires (typically at match kickoff)"
},
"timestamp": {
"type": "string",
"format": "date-time"
}
},
"additionalProperties": false
}
|