162 lines
3.7 KiB
JSON
162 lines
3.7 KiB
JSON
{
|
||
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
||
"$id": "urn:awoooi:ai-provider-route-matrix-v1",
|
||
"title": "AWOOOI AI Provider 路由只讀矩陣 v1",
|
||
"description": "以 repo 內 committed AI Router / Ollama / OpenClaw / Nemotron / Gemini evidence 建立只讀 provider route matrix;不切 provider、不呼叫付費 API、不進 shadow / canary、不改 runtime route、不讀 secret payload。",
|
||
"type": "object",
|
||
"required": [
|
||
"schema_version",
|
||
"generated_at",
|
||
"program_status",
|
||
"source_refs",
|
||
"rollups",
|
||
"provider_routes",
|
||
"candidate_gates",
|
||
"source_gaps",
|
||
"latest_observations",
|
||
"operator_contract",
|
||
"operation_boundaries",
|
||
"approval_boundaries"
|
||
],
|
||
"properties": {
|
||
"schema_version": {
|
||
"type": "string",
|
||
"const": "ai_provider_route_matrix_v1"
|
||
},
|
||
"generated_at": {
|
||
"type": "string",
|
||
"minLength": 1
|
||
},
|
||
"program_status": {
|
||
"type": "object",
|
||
"required": [
|
||
"overall_completion_percent",
|
||
"current_priority",
|
||
"current_task_id",
|
||
"next_task_id",
|
||
"read_only_mode"
|
||
],
|
||
"properties": {
|
||
"overall_completion_percent": {
|
||
"type": "integer",
|
||
"minimum": 0,
|
||
"maximum": 100
|
||
},
|
||
"current_priority": {
|
||
"type": "string",
|
||
"enum": [
|
||
"P0",
|
||
"P1",
|
||
"P2",
|
||
"P3"
|
||
]
|
||
},
|
||
"current_task_id": {
|
||
"type": "string",
|
||
"minLength": 1
|
||
},
|
||
"next_task_id": {
|
||
"type": "string",
|
||
"minLength": 1
|
||
},
|
||
"read_only_mode": {
|
||
"type": "boolean",
|
||
"const": true
|
||
}
|
||
},
|
||
"additionalProperties": false
|
||
},
|
||
"source_refs": {
|
||
"type": "array",
|
||
"minItems": 1,
|
||
"items": {
|
||
"type": "string",
|
||
"minLength": 1
|
||
}
|
||
},
|
||
"rollups": {
|
||
"type": "object",
|
||
"additionalProperties": true
|
||
},
|
||
"provider_routes": {
|
||
"type": "array",
|
||
"minItems": 1,
|
||
"items": {
|
||
"type": "object",
|
||
"required": [
|
||
"route_id",
|
||
"display_name",
|
||
"kind",
|
||
"status",
|
||
"risk_level",
|
||
"route_gate",
|
||
"evidence_status",
|
||
"current_policy",
|
||
"provider_order",
|
||
"fallback_policy",
|
||
"evidence_refs",
|
||
"next_action"
|
||
],
|
||
"additionalProperties": true
|
||
}
|
||
},
|
||
"candidate_gates": {
|
||
"type": "array",
|
||
"items": {
|
||
"type": "object",
|
||
"required": [
|
||
"gate_id",
|
||
"display_name",
|
||
"status",
|
||
"approval_required",
|
||
"summary",
|
||
"evidence_refs",
|
||
"next_action"
|
||
],
|
||
"additionalProperties": true
|
||
}
|
||
},
|
||
"source_gaps": {
|
||
"type": "array",
|
||
"items": {
|
||
"type": "object",
|
||
"required": [
|
||
"gap_id",
|
||
"display_name",
|
||
"status",
|
||
"severity",
|
||
"summary",
|
||
"evidence_refs",
|
||
"next_action"
|
||
],
|
||
"additionalProperties": true
|
||
}
|
||
},
|
||
"latest_observations": {
|
||
"type": "array",
|
||
"items": {
|
||
"type": "object",
|
||
"additionalProperties": true
|
||
}
|
||
},
|
||
"operator_contract": {
|
||
"type": "object",
|
||
"additionalProperties": true
|
||
},
|
||
"operation_boundaries": {
|
||
"type": "object",
|
||
"additionalProperties": {
|
||
"type": "boolean"
|
||
}
|
||
},
|
||
"approval_boundaries": {
|
||
"type": "object",
|
||
"additionalProperties": {
|
||
"type": "boolean",
|
||
"const": false
|
||
}
|
||
}
|
||
},
|
||
"additionalProperties": false
|
||
}
|