Files
awoooi/docs/schemas/ai_provider_route_matrix_v1.schema.json
Your Name 45556f8fd1
All checks were successful
CD Pipeline / tests (push) Successful in 1m29s
Code Review / ai-code-review (push) Successful in 15s
CD Pipeline / build-and-deploy (push) Successful in 3m51s
CD Pipeline / post-deploy-checks (push) Successful in 1m30s
feat(governance): 新增 AI Provider 路由矩陣
2026-06-05 13:28:38 +08:00

162 lines
3.7 KiB
JSON
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
{
"$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
}