Files
awoooi/docs/schemas/ai_agent_tool_adoption_approval_package_v1.schema.json
Your Name 42622a5bad
All checks were successful
CD Pipeline / tests (push) Successful in 1m27s
Code Review / ai-code-review (push) Successful in 14s
CD Pipeline / build-and-deploy (push) Successful in 4m29s
CD Pipeline / post-deploy-checks (push) Successful in 1m32s
feat(governance): 新增 Agent 工具採用批准包
2026-06-11 13:26:59 +08:00

475 lines
11 KiB
JSON

{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "https://awoooi.wooo.work/schemas/ai_agent_tool_adoption_approval_package_v1.schema.json",
"title": "AI Agent Tool Adoption Approval Package v1",
"type": "object",
"additionalProperties": false,
"required": [
"schema_version",
"generated_at",
"program_status",
"source_evidence",
"agent_review_matrix",
"adoption_lanes",
"tool_candidates",
"approval_packet_fields",
"approval_boundaries",
"rollups"
],
"properties": {
"schema_version": {
"const": "ai_agent_tool_adoption_approval_package_v1"
},
"generated_at": {
"type": "string"
},
"program_status": {
"type": "object",
"additionalProperties": false,
"required": [
"overall_completion_percent",
"current_priority",
"current_task_id",
"next_task_id",
"read_only_mode",
"runtime_authority",
"status_note"
],
"properties": {
"overall_completion_percent": {
"type": "integer",
"minimum": 0,
"maximum": 100
},
"current_priority": {
"type": "string"
},
"current_task_id": {
"type": "string"
},
"next_task_id": {
"type": "string"
},
"read_only_mode": {
"const": true
},
"runtime_authority": {
"const": "approval_package_only_no_tool_install_or_ci_change"
},
"status_note": {
"type": "string"
}
}
},
"source_evidence": {
"type": "array",
"minItems": 1,
"items": {
"type": "object",
"additionalProperties": false,
"required": [
"source_id",
"tool_id",
"name",
"url",
"retrieved_at",
"evidence_type",
"usage_boundary"
],
"properties": {
"source_id": {
"type": "string"
},
"tool_id": {
"type": "string"
},
"name": {
"type": "string"
},
"url": {
"type": "string"
},
"retrieved_at": {
"type": "string"
},
"evidence_type": {
"type": "string"
},
"usage_boundary": {
"type": "string"
}
}
}
},
"agent_review_matrix": {
"type": "array",
"minItems": 1,
"items": {
"type": "object",
"additionalProperties": false,
"required": [
"agent_id",
"role",
"allowed_now",
"blocked_until_approval",
"output"
],
"properties": {
"agent_id": {
"type": "string"
},
"role": {
"type": "string"
},
"allowed_now": {
"type": "array",
"items": {
"type": "string"
}
},
"blocked_until_approval": {
"type": "array",
"items": {
"type": "string"
}
},
"output": {
"type": "string"
}
}
}
},
"adoption_lanes": {
"type": "array",
"minItems": 1,
"items": {
"type": "object",
"additionalProperties": false,
"required": [
"lane_id",
"display_name",
"owner_agent",
"tool_ids",
"approval_gate",
"planned_output",
"blocked_now"
],
"properties": {
"lane_id": {
"type": "string"
},
"display_name": {
"type": "string"
},
"owner_agent": {
"type": "string"
},
"tool_ids": {
"type": "array",
"items": {
"type": "string"
}
},
"approval_gate": {
"type": "string"
},
"planned_output": {
"type": "string"
},
"blocked_now": {
"type": "array",
"items": {
"type": "string"
}
}
}
}
},
"tool_candidates": {
"type": "array",
"minItems": 1,
"items": {
"type": "object",
"additionalProperties": false,
"required": [
"tool_id",
"display_name",
"category",
"owner_agent",
"adoption_status",
"risk_tier",
"cost_profile",
"secret_requirement",
"external_data_requirement",
"ci_change_required",
"official_source_refs",
"intended_scope",
"approval_requirements",
"blocked_until_approval",
"recommendation",
"rollback_plan"
],
"properties": {
"tool_id": {
"type": "string"
},
"display_name": {
"type": "string"
},
"category": {
"type": "string"
},
"owner_agent": {
"type": "string"
},
"adoption_status": {
"enum": [
"approval_required",
"defer_until_gate",
"rejected"
]
},
"risk_tier": {
"enum": [
"low",
"medium",
"high"
]
},
"cost_profile": {
"type": "string"
},
"secret_requirement": {
"type": "string"
},
"external_data_requirement": {
"type": "string"
},
"ci_change_required": {
"type": "boolean"
},
"official_source_refs": {
"type": "array",
"minItems": 1,
"items": {
"type": "string"
}
},
"intended_scope": {
"type": "array",
"items": {
"type": "string"
}
},
"approval_requirements": {
"type": "array",
"minItems": 1,
"items": {
"type": "string"
}
},
"blocked_until_approval": {
"type": "array",
"items": {
"type": "string"
}
},
"recommendation": {
"type": "string"
},
"rollback_plan": {
"type": "string"
}
}
}
},
"approval_packet_fields": {
"type": "array",
"minItems": 1,
"items": {
"type": "object",
"additionalProperties": false,
"required": [
"field_id",
"required",
"owner_agent",
"description"
],
"properties": {
"field_id": {
"type": "string"
},
"required": {
"type": "boolean"
},
"owner_agent": {
"type": "string"
},
"description": {
"type": "string"
}
}
}
},
"approval_boundaries": {
"type": "object",
"additionalProperties": false,
"required": [
"tool_install_allowed",
"ci_workflow_change_allowed",
"external_registry_lookup_allowed",
"vulnerability_database_download_allowed",
"package_upgrade_allowed",
"lockfile_write_allowed",
"docker_build_allowed",
"image_pull_allowed",
"gitea_pr_creation_allowed",
"auto_merge_allowed",
"telegram_direct_send_allowed",
"paid_service_enabled",
"production_route_change_allowed",
"secret_plaintext_allowed"
],
"properties": {
"tool_install_allowed": {
"const": false
},
"ci_workflow_change_allowed": {
"const": false
},
"external_registry_lookup_allowed": {
"const": false
},
"vulnerability_database_download_allowed": {
"const": false
},
"package_upgrade_allowed": {
"const": false
},
"lockfile_write_allowed": {
"const": false
},
"docker_build_allowed": {
"const": false
},
"image_pull_allowed": {
"const": false
},
"gitea_pr_creation_allowed": {
"const": false
},
"auto_merge_allowed": {
"const": false
},
"telegram_direct_send_allowed": {
"const": false
},
"paid_service_enabled": {
"const": false
},
"production_route_change_allowed": {
"const": false
},
"secret_plaintext_allowed": {
"const": false
}
}
},
"rollups": {
"type": "object",
"additionalProperties": false,
"required": [
"tool_count",
"source_evidence_count",
"adoption_lane_count",
"approval_required_tool_ids",
"ci_change_required_tool_ids",
"secret_required_tool_ids",
"external_data_required_tool_ids",
"sbom_tool_ids",
"vulnerability_scan_tool_ids",
"update_pr_tool_ids",
"tool_install_allowed_count",
"ci_change_allowed_count",
"auto_merge_allowed_count",
"telegram_direct_send_count",
"next_approval_task_ids"
],
"properties": {
"tool_count": {
"type": "integer",
"minimum": 0
},
"source_evidence_count": {
"type": "integer",
"minimum": 0
},
"adoption_lane_count": {
"type": "integer",
"minimum": 0
},
"approval_required_tool_ids": {
"type": "array",
"items": {
"type": "string"
}
},
"ci_change_required_tool_ids": {
"type": "array",
"items": {
"type": "string"
}
},
"secret_required_tool_ids": {
"type": "array",
"items": {
"type": "string"
}
},
"external_data_required_tool_ids": {
"type": "array",
"items": {
"type": "string"
}
},
"sbom_tool_ids": {
"type": "array",
"items": {
"type": "string"
}
},
"vulnerability_scan_tool_ids": {
"type": "array",
"items": {
"type": "string"
}
},
"update_pr_tool_ids": {
"type": "array",
"items": {
"type": "string"
}
},
"tool_install_allowed_count": {
"const": 0
},
"ci_change_allowed_count": {
"const": 0
},
"auto_merge_allowed_count": {
"const": 0
},
"telegram_direct_send_count": {
"const": 0
},
"next_approval_task_ids": {
"type": "array",
"items": {
"type": "string"
}
}
}
}
}
}