Files
awoooi/docs/schemas/ai_agent_deployment_layout_v1.schema.json
Your Name e427af3cb2
All checks were successful
CD Pipeline / tests (push) Successful in 1m24s
Code Review / ai-code-review (push) Successful in 15s
CD Pipeline / build-and-deploy (push) Successful in 6m5s
CD Pipeline / post-deploy-checks (push) Successful in 1m37s
feat(governance): 接入三 Agent 佈建布局
2026-06-11 11:27:50 +08:00

344 lines
10 KiB
JSON

{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "urn:awoooi:ai-agent-deployment-layout-v1",
"title": "AWOOOI AI Agent 佈建布局快照 v1",
"description": "OpenClaw、Hermes、NemoTron 在主機、套件、工具、服務、專案與網站前後台的只讀佈建布局合約。此 schema 不授權任何生產寫入、Telegram 發送、SDK 安裝、付費 API、shadow/canary 或生產路由切換。",
"type": "object",
"required": [
"schema_version",
"generated_at",
"program_status",
"agent_contracts",
"domains",
"deployment_targets",
"collaboration_contract",
"learning_contract",
"telegram_contract",
"rollups",
"approval_boundaries"
],
"properties": {
"schema_version": {
"type": "string",
"const": "ai_agent_deployment_layout_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",
"deployment_authority"
],
"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
},
"deployment_authority": {
"type": "string",
"const": "layout_only_no_runtime_deploy"
}
},
"additionalProperties": false
},
"agent_contracts": {
"type": "array",
"minItems": 3,
"items": {
"type": "object",
"required": [
"agent_id",
"display_name",
"primary_specialty",
"deployment_lane",
"allowed_autonomy",
"must_delegate_to",
"blocked_actions",
"learning_scope"
],
"properties": {
"agent_id": {"type": "string", "minLength": 1},
"display_name": {"type": "string", "minLength": 1},
"primary_specialty": {"type": "string", "minLength": 1},
"deployment_lane": {"type": "string", "minLength": 1},
"allowed_autonomy": {
"type": "array",
"items": {"type": "string", "minLength": 1}
},
"must_delegate_to": {
"type": "array",
"items": {"type": "string", "minLength": 1}
},
"blocked_actions": {
"type": "array",
"minItems": 1,
"items": {"type": "string", "minLength": 1}
},
"learning_scope": {
"type": "array",
"items": {"type": "string", "minLength": 1}
}
},
"additionalProperties": false
}
},
"domains": {
"type": "array",
"minItems": 1,
"items": {
"type": "object",
"required": ["domain_id", "display_name", "description"],
"properties": {
"domain_id": {"type": "string", "minLength": 1},
"display_name": {"type": "string", "minLength": 1},
"description": {"type": "string", "minLength": 1}
},
"additionalProperties": false
}
},
"deployment_targets": {
"type": "array",
"minItems": 1,
"items": {
"type": "object",
"required": [
"target_id",
"domain_id",
"display_name",
"target_type",
"primary_agent",
"supporting_agents",
"deployment_state",
"automation_level",
"capabilities",
"telegram_policy",
"learning_inputs",
"communication_channels",
"approval_gate",
"evidence_refs",
"next_action"
],
"properties": {
"target_id": {"type": "string", "minLength": 1},
"domain_id": {"type": "string", "minLength": 1},
"display_name": {"type": "string", "minLength": 1},
"target_type": {"type": "string", "minLength": 1},
"primary_agent": {"type": "string", "minLength": 1},
"supporting_agents": {
"type": "array",
"items": {"type": "string", "minLength": 1}
},
"deployment_state": {
"type": "string",
"enum": [
"active_governed",
"read_only_layout",
"blocked_by_gate",
"planned",
"candidate_only"
]
},
"automation_level": {
"type": "string",
"enum": [
"observe_only",
"prepare_only",
"dry_run_only",
"hitl_execute_after_approval",
"blocked"
]
},
"capabilities": {
"type": "array",
"items": {"type": "string", "minLength": 1}
},
"telegram_policy": {
"type": "string",
"enum": [
"failure_only",
"action_required",
"approval_required",
"daily_summary_only",
"no_direct_notify"
]
},
"learning_inputs": {
"type": "array",
"items": {"type": "string", "minLength": 1}
},
"communication_channels": {
"type": "array",
"items": {"type": "string", "minLength": 1}
},
"approval_gate": {"type": "string", "minLength": 1},
"evidence_refs": {
"type": "array",
"items": {"type": "string", "minLength": 1}
},
"next_action": {"type": "string", "minLength": 1}
},
"additionalProperties": false
}
},
"collaboration_contract": {
"type": "object",
"required": [
"message_bus",
"audit_trail",
"handoff_rules",
"frontend_redaction"
],
"properties": {
"message_bus": {"type": "string", "minLength": 1},
"audit_trail": {"type": "string", "minLength": 1},
"handoff_rules": {
"type": "array",
"minItems": 1,
"items": {"type": "string", "minLength": 1}
},
"frontend_redaction": {
"type": "object",
"required": [
"operator_conversation_display_allowed",
"agent_private_reasoning_display_allowed",
"display_policy"
],
"properties": {
"operator_conversation_display_allowed": {"type": "boolean", "const": false},
"agent_private_reasoning_display_allowed": {"type": "boolean", "const": false},
"display_policy": {"type": "string", "minLength": 1}
},
"additionalProperties": false
}
},
"additionalProperties": false
},
"learning_contract": {
"type": "object",
"required": [
"event_sources",
"feedback_loops",
"growth_metrics",
"retention_policy"
],
"properties": {
"event_sources": {
"type": "array",
"items": {"type": "string", "minLength": 1}
},
"feedback_loops": {
"type": "array",
"items": {"type": "string", "minLength": 1}
},
"growth_metrics": {
"type": "array",
"items": {"type": "string", "minLength": 1}
},
"retention_policy": {"type": "string", "minLength": 1}
},
"additionalProperties": false
},
"telegram_contract": {
"type": "object",
"required": [
"primary_gateway",
"bot_roles",
"notification_classes",
"redaction_policy",
"e2e_validation"
],
"properties": {
"primary_gateway": {"type": "string", "minLength": 1},
"bot_roles": {
"type": "array",
"items": {"type": "string", "minLength": 1}
},
"notification_classes": {
"type": "array",
"items": {"type": "string", "minLength": 1}
},
"redaction_policy": {"type": "string", "minLength": 1},
"e2e_validation": {"type": "string", "minLength": 1}
},
"additionalProperties": false
},
"rollups": {
"type": "object",
"required": [
"total_targets",
"by_domain",
"by_primary_agent",
"by_deployment_state",
"by_telegram_policy",
"blocked_target_ids",
"approval_required_target_ids"
],
"properties": {
"total_targets": {"type": "integer", "minimum": 1},
"by_domain": {"type": "object", "additionalProperties": {"type": "integer"}},
"by_primary_agent": {"type": "object", "additionalProperties": {"type": "integer"}},
"by_deployment_state": {"type": "object", "additionalProperties": {"type": "integer"}},
"by_telegram_policy": {"type": "object", "additionalProperties": {"type": "integer"}},
"blocked_target_ids": {
"type": "array",
"items": {"type": "string", "minLength": 1}
},
"approval_required_target_ids": {
"type": "array",
"items": {"type": "string", "minLength": 1}
}
},
"additionalProperties": false
},
"approval_boundaries": {
"type": "object",
"required": [
"sdk_installation_allowed",
"paid_api_call_allowed",
"shadow_or_canary_allowed",
"production_routing_allowed",
"destructive_operation_allowed",
"secret_plaintext_allowed",
"autonomous_host_mutation_allowed",
"telegram_direct_send_allowed"
],
"properties": {
"sdk_installation_allowed": {"type": "boolean", "const": false},
"paid_api_call_allowed": {"type": "boolean", "const": false},
"shadow_or_canary_allowed": {"type": "boolean", "const": false},
"production_routing_allowed": {"type": "boolean", "const": false},
"destructive_operation_allowed": {"type": "boolean", "const": false},
"secret_plaintext_allowed": {"type": "boolean", "const": false},
"autonomous_host_mutation_allowed": {"type": "boolean", "const": false},
"telegram_direct_send_allowed": {"type": "boolean", "const": false}
},
"additionalProperties": false
}
},
"additionalProperties": false
}