feat(iwooos): 新增 AI provider owner response 驗收 gate
All checks were successful
Code Review / ai-code-review (push) Successful in 14s
CD Pipeline / tests (push) Successful in 1m34s
CD Pipeline / build-and-deploy (push) Successful in 4m5s
CD Pipeline / post-deploy-checks (push) Successful in 1m36s

This commit is contained in:
Your Name
2026-06-15 18:57:27 +08:00
parent 403b29df9e
commit 2b8654704a
17 changed files with 3528 additions and 89 deletions

View File

@@ -193,14 +193,16 @@ CONTROL_STATUS_BY_CATEGORY = {
"next_owner_action": "補端口 / 防火牆變更的 change / incident ref、actor role / team、affected scope、before / after state、service dependency、customer impact、service health impact、operator notification、cross-project sync、rollback owner 與 post-check 指標。",
},
"ai_provider_model_routing": {
"coverage_status": "policy_ready_needs_dry_run_pack",
"coverage_percent": 60,
"coverage_status": "owner_response_acceptance_ready_needs_provider_owner_evidence",
"coverage_percent": 64,
"evidence_refs": [
"docs/HARD_RULES.md",
"docs/ai",
"docs/security/AI-PROVIDER-OWNER-RESPONSE-ACCEPTANCE.md",
"docs/security/ai-provider-owner-response-acceptance.snapshot.json",
],
"current_gap": "模型 / provider / Ollama proxy 切換需 dry-run、benchmark、成本privacy review目前不切 production。",
"next_owner_action": "補 provider owner、fallback order、cost review、privacy review、benchmark 與 rollback owner",
"current_gap": "已固定 AI provider / model routing owner response acceptance 帳本provider owner、fallback order、dry-run、benchmark、成本privacy、data classification、prompt redaction、rollback 與 post-check evidence 仍全部為 0目前不切 production。",
"next_owner_action": "補 provider owner、fallback order、dry-run result、benchmark result、cost review、privacy review、data classification、prompt redaction、quota budget、quality gate、rollback owner 與 post-check evidence",
},
"product_surface_runtime_routes": {
"coverage_status": "scope_inventory_ready",
@@ -394,6 +396,7 @@ def build_report(root: Path, generated_at: str | None) -> dict[str, Any]:
"change_evidence_acceptance_ready_needs_host_service_owner_evidence",
"policy_ready_needs_network_matrix",
"policy_ready_needs_dry_run_pack",
"owner_response_acceptance_ready_needs_provider_owner_evidence",
}
]
average_coverage = round(sum(item["coverage_percent"] for item in categories) / len(categories))
@@ -442,8 +445,9 @@ def build_report(root: Path, generated_at: str | None) -> dict[str, Any]:
"public_admin_api_runtime_config",
"agent_bounty_protocol_runtime",
"docker_compose_systemd_host_config",
"monitoring_alerting_observability",
"ssh_firewall_network_access",
"ai_provider_model_routing",
"monitoring_alerting_observability",
"backup_restore_credential",
],
"operator_interpretation": [