Files
awoooi/docs/evaluations/ai_agent_report_runtime_readiness_2026-06-12.json
Your Name b17a28c293
Some checks failed
CD Pipeline / tests (push) Successful in 1m35s
Code Review / ai-code-review (push) Has been cancelled
CD Pipeline / build-and-deploy (push) Successful in 6m19s
CD Pipeline / post-deploy-checks (push) Successful in 1m30s
feat(governance): 新增報表 runtime 啟動前閘門
2026-06-12 11:34:21 +08:00

456 lines
16 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_version": "ai_agent_report_runtime_readiness_v1",
"generated_at": "2026-06-12T04:35:00+08:00",
"program_status": {
"overall_completion_percent": 86,
"current_priority": "P2",
"current_task_id": "P2-403L",
"next_task_id": "P2-403M",
"read_only_mode": true,
"runtime_authority": "report_runtime_readiness_only_no_live_delivery_or_optimization",
"status_note": "P2-403L 已建立日週月報派送、Telegram Gateway queue、讀報回執、AI 讀報後分析、中低風險自動處理、高風險審核與 post-action verifier 的啟動前閘門;目前仍未啟動 live 派送、queue write、AI runtime worker 或生產優化。"
},
"source_refs": [
"docs/evaluations/ai_agent_report_automation_review_2026-06-12.json",
"docs/evaluations/ai_agent_report_truth_actionability_review_2026-06-12.json",
"docs/evaluations/ai_agent_telegram_receipt_approval_package_2026-06-11.json",
"docs/evaluations/ai_agent_runtime_write_gate_review_2026-06-12.json",
"docs/evaluations/ai_agent_runtime_verifier_evidence_review_2026-06-12.json",
"docs/superpowers/specs/2026-04-15-MASTER-ai-autonomous-flywheel-v2.md"
],
"activation_truth": {
"report_scheduler_contract_ready": true,
"telegram_gateway_queue_contract_ready": true,
"telegram_delivery_receipt_contract_ready": true,
"ai_readback_analysis_contract_ready": true,
"medium_low_auto_guard_contract_ready": true,
"high_risk_approval_gate_contract_ready": true,
"live_report_delivery_enabled": false,
"live_report_delivery_count_24h": 0,
"telegram_gateway_queue_write_enabled": false,
"telegram_gateway_queue_write_count_24h": 0,
"report_read_receipt_write_enabled": false,
"report_read_receipt_count_24h": 0,
"ai_analysis_runtime_enabled": false,
"ai_analysis_runtime_count_24h": 0,
"medium_low_auto_worker_enabled": false,
"medium_low_auto_execution_count_24h": 0,
"production_optimization_enabled": false,
"production_optimization_count_24h": 0,
"high_risk_auto_execution_enabled": false,
"high_risk_auto_execution_count_24h": 0,
"truth_note": "報表制度、風險政策與可視化已完成P2-403L 補齊啟動前 runtime 閘門。下一步只能先做 dry-run / queue draft / readback verifier不得直接發 Telegram 或改正式環境。"
},
"runtime_lanes": [
{
"lane_id": "report_scheduler",
"display_name": "日週月報排程器",
"owner_agent": "hermes",
"risk_tier": "low",
"target_runtime": "report_run snapshot generator",
"contract_status": "ready_for_owner_review",
"current_live_count_24h": 0,
"enablement_required": [
"idempotent report_run_id",
"dry-run output hash",
"no external delivery in first run",
"daily / weekly / monthly cadence collision check"
],
"blocked_actions": [
"CronJob apply",
"Telegram send",
"AwoooP work item write"
]
},
{
"lane_id": "telegram_gateway_queue",
"display_name": "Telegram Gateway queue 草案",
"owner_agent": "hermes",
"risk_tier": "medium",
"target_runtime": "Telegram Gateway queue draft",
"contract_status": "ready_for_owner_review",
"current_live_count_24h": 0,
"enablement_required": [
"SRE_GROUP_CHAT_ID injection verified",
"Gateway path only",
"failure-only immediate policy",
"daily digest noise budget"
],
"blocked_actions": [
"direct Telegram Bot API",
"bot logOut",
"secret payload read"
]
},
{
"lane_id": "telegram_delivery_receipt",
"display_name": "報表送達與讀報回執",
"owner_agent": "hermes",
"risk_tier": "medium",
"target_runtime": "delivery receipt read model",
"contract_status": "ready_for_owner_review",
"current_live_count_24h": 0,
"enablement_required": [
"message_id redaction",
"ack timeout rule",
"retry ceiling",
"governance receipt readback"
],
"blocked_actions": [
"DB migration",
"live callback write",
"Telegram retry loop"
]
},
{
"lane_id": "ai_post_report_analysis",
"display_name": "AI 讀報後分析",
"owner_agent": "openclaw",
"risk_tier": "medium",
"target_runtime": "post-report analysis worker",
"contract_status": "ready_for_owner_review",
"current_live_count_24h": 0,
"enablement_required": [
"sanitized report packet",
"OpenClaw risk arbitration",
"Hermes evidence dossier",
"NemoTron replay lane for non-live evaluation"
],
"blocked_actions": [
"production optimization",
"provider switch",
"private reasoning display"
]
},
{
"lane_id": "medium_low_auto_guard",
"display_name": "中低風險自動處理 guard",
"owner_agent": "openclaw",
"risk_tier": "high",
"target_runtime": "guarded medium / low auto worker",
"contract_status": "ready_for_owner_review",
"current_live_count_24h": 0,
"enablement_required": [
"allow-list generated from risk policy",
"dry-run first",
"post-action verifier",
"rollback / no-op evidence",
"failure-only Telegram report"
],
"blocked_actions": [
"production write",
"service restart",
"workflow change",
"package upgrade"
]
},
{
"lane_id": "high_risk_approval",
"display_name": "高風險統帥審核",
"owner_agent": "openclaw",
"risk_tier": "high",
"target_runtime": "HITL approval packet",
"contract_status": "ready_for_owner_review",
"current_live_count_24h": 0,
"enablement_required": [
"owner response",
"maintenance window when needed",
"rollback owner",
"post-deploy verification plan"
],
"blocked_actions": [
"auto approval",
"auto merge",
"production route change"
]
},
{
"lane_id": "post_action_verifier",
"display_name": "處理後 verifier 與回滾 lane",
"owner_agent": "nemotron",
"risk_tier": "high",
"target_runtime": "post-action verifier readback",
"contract_status": "blocked_by_runtime_gate",
"current_live_count_24h": 0,
"enablement_required": [
"canonical readback target",
"NemoTron replay regression",
"rollback work item template",
"verifier failure Telegram draft"
],
"blocked_actions": [
"live verifier execution",
"rollback work item write",
"cluster readback"
]
}
],
"automation_policies": [
{
"risk_id": "low",
"display_name": "低風險",
"approval_required": false,
"auto_allowed_after_guard": true,
"current_execution_enabled": false,
"required_guards": [
"idempotency key",
"no production write",
"dry-run hash",
"daily digest report"
],
"reporting_rule": "成功可進日報摘要;失敗或異常才即時告警。"
},
{
"risk_id": "medium",
"display_name": "中風險",
"approval_required": false,
"auto_allowed_after_guard": true,
"current_execution_enabled": false,
"required_guards": [
"OpenClaw risk arbitration",
"post-action verifier",
"rollback / no-op evidence",
"failure-only Telegram"
],
"reporting_rule": "成功進日報 / 週報verifier 失敗、重試耗盡或資料不一致才升級。"
},
{
"risk_id": "high",
"display_name": "高風險",
"approval_required": true,
"auto_allowed_after_guard": false,
"current_execution_enabled": false,
"required_guards": [
"統帥審核",
"owner response",
"回滾計畫",
"正式驗證"
],
"reporting_rule": "AI 只能提出方案與風險,不得自動執行。"
},
{
"risk_id": "critical",
"display_name": "關鍵阻擋",
"approval_required": true,
"auto_allowed_after_guard": false,
"current_execution_enabled": false,
"required_guards": [
"break-glass 明確批准",
"secret redaction",
"audit trail",
"人工值班窗口"
],
"reporting_rule": "預設禁止自動執行,僅能產生批准包。"
}
],
"report_delivery_cadence_gates": [
{
"cadence_id": "daily",
"display_name": "AI Agent 日報",
"scheduler_source": "daily_report_scheduler_contract",
"telegram_digest_policy": "action-required + failure-only immediate",
"recipient_room": "AwoooI SRE 戰情室",
"dry_run_required": true,
"current_delivery_enabled": false,
"live_delivery_count_24h": 0
},
{
"cadence_id": "weekly",
"display_name": "AI Agent 週報",
"scheduler_source": "weekly_report_scheduler_contract",
"telegram_digest_policy": "weekly owner packet",
"recipient_room": "AwoooI SRE 戰情室",
"dry_run_required": true,
"current_delivery_enabled": false,
"live_delivery_count_24h": 0
},
{
"cadence_id": "monthly",
"display_name": "AI Agent 月報",
"scheduler_source": "monthly_report_scheduler_contract",
"telegram_digest_policy": "monthly strategy packet",
"recipient_room": "AwoooI SRE 戰情室",
"dry_run_required": true,
"current_delivery_enabled": false,
"live_delivery_count_24h": 0
}
],
"telegram_route_readiness": {
"canonical_room": "AwoooI SRE 戰情室",
"secret_ref": "SRE_GROUP_CHAT_ID",
"gateway_required": true,
"direct_bot_api_allowed": false,
"bot_log_out_allowed": false,
"legacy_routes_must_converge": true,
"telegram_gateway_queue_write_enabled": false,
"e2e_delivery_verified": false,
"delivery_receipt_write_enabled": false,
"blocked_route_count": 3
},
"agent_post_report_actions": [
{
"agent_id": "openclaw",
"display_name": "OpenClaw",
"after_report_responsibility": "讀取報表後進行風險仲裁、判斷哪些方案只能提批准包、哪些中低風險可在 guard 通過後自動處理。",
"allowed_without_approval": [
"產出風險評分",
"整理高風險批准包",
"拒收不符合 guard 的自動化提案"
],
"blocked_until_approval": [
"production write",
"provider route change",
"high risk execution"
],
"live_action_count_24h": 0
},
{
"agent_id": "hermes",
"display_name": "Hermes",
"after_report_responsibility": "整理日週月報、生成 Telegram 摘要草案、彙整工作量與處置回執。",
"allowed_without_approval": [
"產出報表草案",
"更新只讀治理 snapshot",
"彙整告警摘要"
],
"blocked_until_approval": [
"Telegram queue write",
"KM canonical write",
"workflow change"
],
"live_action_count_24h": 0
},
{
"agent_id": "nemotron",
"display_name": "NemoTron",
"after_report_responsibility": "對報表建議做離線 replay、回歸測試與失敗模式標籤作為是否升級到 runtime 的證據。",
"allowed_without_approval": [
"sanitized replay 評估",
"fixture regression 標籤",
"候選模型比較摘要"
],
"blocked_until_approval": [
"live verifier execution",
"production route",
"paid API call"
],
"live_action_count_24h": 0
}
],
"operator_decisions": [
{
"decision_id": "report_scheduler_dry_run",
"display_name": "允許日週月報排程 dry-run",
"risk_tier": "low",
"owner_agent": "hermes",
"approval_required": false,
"status": "ready_for_review",
"why_it_matters": "先讓系統產生可重放的 report_run snapshot統帥才能每天看見 Agent 工作量與風險變化。",
"next_safe_step": "建立 no-delivery dry-run runbook 與 hash readback。"
},
{
"decision_id": "telegram_gateway_queue_dry_run",
"display_name": "批准 Telegram Gateway queue dry-run",
"risk_tier": "medium",
"owner_agent": "hermes",
"approval_required": true,
"status": "approval_required",
"why_it_matters": "Telegram 是告警必到通道,但任何 queue write 都可能造成訊息洗版或錯群。",
"next_safe_step": "只寫 dry-run queue preview不送 Bot API並驗證 SRE_GROUP_CHAT_ID 注入。"
},
{
"decision_id": "delivery_receipt_read_model",
"display_name": "批准讀報回執 read model",
"risk_tier": "medium",
"owner_agent": "hermes",
"approval_required": true,
"status": "approval_required",
"why_it_matters": "統帥要知道 AI Agent 是否真的發出、送達、讀過報告;但回執寫入需避免暴露 chat / message raw payload。",
"next_safe_step": "先建立 redacted receipt schema 與 API readback不接 live callback。"
},
{
"decision_id": "ai_post_report_analysis_worker",
"display_name": "批准 AI 讀報後分析 worker dry-run",
"risk_tier": "medium",
"owner_agent": "openclaw",
"approval_required": true,
"status": "approval_required",
"why_it_matters": "AI Agent 必須在看完報告後提出方案,而不是只顯示圖表;但第一階段只能用 sanitized packet。",
"next_safe_step": "以 committed report snapshot 做 offline worker dry-run不寫 production。"
},
{
"decision_id": "medium_low_auto_worker_no_write",
"display_name": "批准中低風險自動處理 no-write worker",
"risk_tier": "high",
"owner_agent": "openclaw",
"approval_required": true,
"status": "approval_required",
"why_it_matters": "中低風險將來可自動處理,但啟動 worker 本身是 runtime 能力,必須先限制為 no-write / dry-run。",
"next_safe_step": "建立 allow-list、idempotency key、post-action verifier 與 failure-only Telegram 草案。"
},
{
"decision_id": "sre_room_route_convergence",
"display_name": "批准 SRE 戰情室路由收斂",
"risk_tier": "high",
"owner_agent": "openclaw",
"approval_required": true,
"status": "approval_required",
"why_it_matters": "所有正式告警與報表應進 AwoooI SRE 戰情室,旁路 chat / direct send 會讓送達證據失真。",
"next_safe_step": "只建立批准包,不改 Alertmanager / Telegram route。"
},
{
"decision_id": "post_action_verifier_live_readback",
"display_name": "批准 post-action verifier live readback",
"risk_tier": "high",
"owner_agent": "nemotron",
"approval_required": true,
"status": "blocked_by_runtime_gate",
"why_it_matters": "沒有 verifier 就不能讓自動處理真正修改正式環境;但 live readback 會觸碰 canonical runtime target。",
"next_safe_step": "先完成 fixture replay 與 read-only canonical target 清單。"
}
],
"display_redaction_contract": {
"redaction_required": true,
"raw_report_payload_display_allowed": false,
"private_reasoning_display_allowed": false,
"secret_value_display_allowed": false,
"work_window_transcript_display_allowed": false,
"allowed_display_fields": [
"已提交 snapshot 摘要",
"runtime lane 狀態",
"風險分級與批准需求",
"Telegram 路由邊界",
"live count 彙總"
],
"blocked_display_fields": [
"內部對話逐字稿",
"prompt 或思考鏈",
"secret / token / authorization header",
"raw Telegram payload",
"未遮蔽 message_id / chat_id"
]
},
"rollups": {
"runtime_lane_count": 7,
"report_cadence_gate_count": 3,
"operator_decision_count": 7,
"automation_policy_count": 4,
"ready_contract_count": 6,
"blocked_contract_count": 1,
"approval_required_decision_ids": [
"ai_post_report_analysis_worker",
"delivery_receipt_read_model",
"medium_low_auto_worker_no_write",
"post_action_verifier_live_readback",
"sre_room_route_convergence",
"telegram_gateway_queue_dry_run"
],
"current_enabled_count": 0,
"live_report_delivery_count": 0,
"live_ai_analysis_count": 0,
"live_medium_low_auto_execution_count": 0,
"telegram_gateway_queue_write_count": 0,
"high_risk_auto_execution_count": 0
}
}