Files
awoooi/docs/evaluations/ai_agent_task_result_audit_trail_2026-06-13.json
Your Name f2b7e8d66e
Some checks failed
Code Review / ai-code-review (push) Successful in 13s
CD Pipeline / tests (push) Successful in 1m39s
Ansible / Reboot Recovery Contract / validate (push) Has been cancelled
CD Pipeline / post-deploy-checks (push) Has been cancelled
CD Pipeline / build-and-deploy (push) Has been cancelled
fix(web): 收斂治理頁繁中文案
2026-06-19 02:59:46 +08:00

435 lines
21 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_task_result_audit_trail_v1",
"generated_at": "2026-06-13T10:20:00+08:00",
"program_status": {
"overall_completion_percent": 99,
"current_priority": "P2",
"current_task_id": "P2-103",
"next_task_id": "P2-104",
"read_only_mode": true,
"runtime_authority": "task_result_audit_trail_contract_only_no_live_writeback",
"status_note": "P2-103 承接 P2-102 候選操作 dry-run 證據,把任務結果固定成 KM 草稿、LOGBOOK 證據、稽核軌跡、timeline 與人工交接的結果路由契約;目前仍不寫 KM、不 runtime append LOGBOOK、不寫 audit DB、不寫 timeline、不更新 PlayBook trust、不寫 Gateway queue、不送 Telegram。"
},
"source_refs": [
"docs/evaluations/ai_agent_candidate_operation_dry_run_evidence_2026-06-12.json",
"docs/evaluations/ai_agent_operation_permission_model_2026-06-12.json",
"docs/evaluations/ai_agent_report_runtime_fixture_readback_2026-06-12.json",
"docs/ai/AI_AGENT_AUTOMATION_WORKLIST_2026-06-04.md",
"docs/superpowers/specs/2026-04-15-MASTER-ai-autonomous-flywheel-v2.md"
],
"result_audit_truth": {
"p2_102_candidate_dry_run_loaded": true,
"task_result_route_matrix_ready": true,
"km_draft_contract_ready": true,
"logbook_append_contract_ready": true,
"audit_trail_contract_ready": true,
"timeline_handoff_contract_ready": true,
"operator_next_action_ready": true,
"all_results_have_owner_and_next_step": true,
"runtime_execution_enabled": false,
"km_write_enabled": false,
"logbook_runtime_write_enabled": false,
"audit_db_write_enabled": false,
"timeline_write_enabled": false,
"playbook_trust_write_enabled": false,
"gateway_queue_write_enabled": false,
"telegram_send_enabled": false,
"delivery_receipt_write_enabled": false,
"production_write_enabled": false,
"secret_value_read_enabled": false,
"host_or_cluster_command_enabled": false,
"destructive_operation_enabled": false,
"work_window_transcript_display_allowed": false,
"runtime_execution_count_24h": 0,
"km_write_count_24h": 0,
"logbook_runtime_write_count_24h": 0,
"audit_db_write_count_24h": 0,
"timeline_write_count_24h": 0,
"playbook_trust_write_count_24h": 0,
"gateway_queue_write_count_24h": 0,
"telegram_send_count_24h": 0,
"delivery_receipt_write_count_24h": 0,
"production_write_count_24h": 0,
"secret_value_read_count_24h": 0,
"host_or_cluster_command_count_24h": 0,
"destructive_operation_count_24h": 0,
"truth_note": "本段只把任務結果的去向與卡點固定成 committed evidence contract所有 KM / LOGBOOK / audit / timeline / PlayBook trust / Gateway / Telegram / production write 仍是 0 / false。"
},
"result_routes": [
{
"route_id": "result_diagnostic_no_action",
"display_name": "診斷完成但無修復動作",
"source_signal": "diagnostic_only_manual_review",
"result_state": "diagnostic_only",
"owner_agent": "openclaw",
"primary_owner": "SRE operator",
"km_target": "KM 草稿:記錄診斷條件、無修復原因與下次補證欄位",
"logbook_target": "LOGBOOK 證據:只記錄 committed snapshot 與 decision reason",
"audit_target": "audit trailresult=diagnostic_only_no_action",
"timeline_target": "timeline handoffmanual_review_no_action",
"operator_next_action": "人工確認是否接受無修復結論;若不接受,改走補證或修復候選 review。",
"blocked_reason": "未產生 verified repair result不能標記自動修復成功。",
"writes_live_state": false,
"requires_owner_review": true,
"ready_for_km_draft": true,
"evidence_hash": "sha256:aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"
},
{
"route_id": "result_repair_candidate_needs_owner",
"display_name": "修復候選等待 owner 審查",
"source_signal": "repair_candidate_draft",
"result_state": "owner_review_required",
"owner_agent": "openclaw",
"primary_owner": "service owner",
"km_target": "KM 草稿:保留 MCP evidence、PlayBook trust 與 rollback/no-op plan",
"logbook_target": "LOGBOOK 證據記錄候選、風險、owner gate 與 verifier plan",
"audit_target": "audit trailresult=repair_candidate_waiting_owner",
"timeline_target": "timeline handoffowner_review_playbook_trust_gate",
"operator_next_action": "owner 檢查 evidence hash、PlayBook trust、rollback owner 與 maintenance window缺一項就退回補證。",
"blocked_reason": "owner response、rollback owner 或 verifier plan 尚未接受。",
"writes_live_state": false,
"requires_owner_review": true,
"ready_for_km_draft": true,
"evidence_hash": "sha256:bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb"
},
{
"route_id": "result_execution_failed_manual",
"display_name": "執行失敗需人工修復或回滾",
"source_signal": "execution_failed_manual_required",
"result_state": "execution_failed",
"owner_agent": "openclaw",
"primary_owner": "SRE incident commander",
"km_target": "KM 草稿:保留失敗類型、失敗命令遮蔽摘要、人工修復缺口與 verifier mismatch",
"logbook_target": "LOGBOOK 證據:只記錄結果分類、失敗 lane、下一步與 production smoke 狀態",
"audit_target": "audit trailresult=execution_failed_manual_fix_or_rollback",
"timeline_target": "timeline handoffmanual_fix_or_rollback",
"operator_next_action": "SRE 決定人工修復、回滾或補證AI 只能提供 無寫入 SOP不自動再執行。",
"blocked_reason": "verifier degraded 或 execution failed不能自動宣告 resolved。",
"writes_live_state": false,
"requires_owner_review": true,
"ready_for_km_draft": true,
"evidence_hash": "sha256:cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc"
},
{
"route_id": "result_verified_no_change",
"display_name": "只讀驗證通過但未變更",
"source_signal": "verified_no_write",
"result_state": "verified_no_change",
"owner_agent": "hermes",
"primary_owner": "governance reviewer",
"km_target": "KM 草稿:標記只讀驗證方法與適用限制",
"logbook_target": "LOGBOOK 證據:記錄 API / UI / smoke readback 與 無寫入 邊界",
"audit_target": "audit trailresult=verified_no_change",
"timeline_target": "timeline handoffread_only_verified",
"operator_next_action": "治理 reviewer 決定是否把 read-only 方法納入 Runbook不需 runtime 修復。",
"blocked_reason": "沒有 live write不能當成修復已執行。",
"writes_live_state": false,
"requires_owner_review": false,
"ready_for_km_draft": true,
"evidence_hash": "sha256:dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd"
},
{
"route_id": "result_evidence_missing",
"display_name": "證據缺口等待補齊",
"source_signal": "repair_candidate_missing_evidence",
"result_state": "blocked_until_evidence",
"owner_agent": "hermes",
"primary_owner": "evidence owner",
"km_target": "KM 草稿:只列缺口欄位,不固化未驗證結論",
"logbook_target": "LOGBOOK 證據:記錄缺口清單與補證 deadline",
"audit_target": "audit trailresult=blocked_until_evidence",
"timeline_target": "timeline handoffcollect_repair_evidence",
"operator_next_action": "補 MCP / Sentry / SigNoz / host log / PlayBook trust evidence補完後重新跑 dry-run review。",
"blocked_reason": "MCP / provider / verifier evidence 不足。",
"writes_live_state": false,
"requires_owner_review": true,
"ready_for_km_draft": false,
"evidence_hash": "sha256:eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee"
},
{
"route_id": "result_policy_blocked",
"display_name": "政策阻擋或明確禁止",
"source_signal": "blocked_by_policy",
"result_state": "blocked_by_policy",
"owner_agent": "nemotron",
"primary_owner": "security reviewer",
"km_target": "KM 草稿:只記錄 policy reason 與替代 no-op 方案",
"logbook_target": "LOGBOOK 證據:記錄阻擋規則、紅線與禁止操作",
"audit_target": "audit trailresult=blocked_by_policy",
"timeline_target": "timeline handoffsecurity_policy_block",
"operator_next_action": "安全 reviewer 決定是否建立新批准包;未批准前保持 blocked。",
"blocked_reason": "觸及 secret / paid provider / destructive / production write 紅線。",
"writes_live_state": false,
"requires_owner_review": true,
"ready_for_km_draft": false,
"evidence_hash": "sha256:ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff"
},
{
"route_id": "result_provider_unmatched",
"display_name": "供應者新鮮但未匹配 Incident",
"source_signal": "provider_fresh_but_unmatched",
"result_state": "correlation_gap",
"owner_agent": "openclaw",
"primary_owner": "observability owner",
"km_target": "KM 草稿:記錄 source correlation 規則缺口,避免寫成服務已修復",
"logbook_target": "LOGBOOK 證據:記錄 provider refs、candidate count 與未匹配原因",
"audit_target": "audit trailresult=provider_correlation_gap",
"timeline_target": "timeline handoffreview_provider_source_match",
"operator_next_action": "檢查 Sentry / SigNoz / Alertmanager / K8s source id 對應;需要時建立 source correlation review。",
"blocked_reason": "provider 有心跳但事件尚未關聯到 Incident。",
"writes_live_state": false,
"requires_owner_review": true,
"ready_for_km_draft": false,
"evidence_hash": "sha256:1111111111111111111111111111111111111111111111111111111111111111"
},
{
"route_id": "result_report_zero_signal",
"display_name": "日週月報全 0 或低可信",
"source_signal": "report_zero_signal_low_confidence",
"result_state": "report_quality_gap",
"owner_agent": "hermes",
"primary_owner": "report owner",
"km_target": "KM 草稿:記錄報表資料鏈路缺口與可信度判定",
"logbook_target": "LOGBOOK 證據:記錄日報 / 週報 / 月報資料來源、缺口與 actionability",
"audit_target": "audit trailresult=report_quality_gap",
"timeline_target": "timeline handoffreport_source_quality_review",
"operator_next_action": "檢查告警、AI 提案、部署、成本、token、K3s 指標資料源;全 0 不可當健康。",
"blocked_reason": "報表缺少有效資料來源或 ingestion readback。",
"writes_live_state": false,
"requires_owner_review": true,
"ready_for_km_draft": true,
"evidence_hash": "sha256:2222222222222222222222222222222222222222222222222222222222222222"
}
],
"writeback_contracts": [
{
"contract_id": "contract_km_review_draft",
"display_name": "KM owner-review 草稿",
"owner_agent": "hermes",
"target_system": "knowledge_base",
"purpose": "把已驗證或需補證的結果轉成 owner review 草稿,避免 AI 直接固化錯知識。",
"allowed_mode": "gated_owner_review",
"write_enabled": false,
"runtime_writer_enabled": false,
"required_fields": ["result_route_id", "evidence_hash", "owner", "source_refs", "next_action"],
"blocker_summary": "owner review gate 尚未啟用;不可自動寫入高影響 KM。",
"evidence_hash": "sha256:3333333333333333333333333333333333333333333333333333333333333333"
},
{
"contract_id": "contract_logbook_evidence_append",
"display_name": "LOGBOOK 證據補記契約",
"owner_agent": "hermes",
"target_system": "docs_logbook",
"purpose": "把已部署、已 smoke 或只讀驗證結果整理成可人工提交的 LOGBOOK entry。",
"allowed_mode": "manual_append_plan",
"write_enabled": false,
"runtime_writer_enabled": false,
"required_fields": ["commit", "deploy_marker", "api_readback", "browser_smoke", "runtime_boundary"],
"blocker_summary": "runtime 不得自動改 repoLOGBOOK 只能經一般 git review / commit 流程。",
"evidence_hash": "sha256:4444444444444444444444444444444444444444444444444444444444444444"
},
{
"contract_id": "contract_audit_trail_entry",
"display_name": "稽核軌跡 entry contract",
"owner_agent": "openclaw",
"target_system": "governance_audit",
"purpose": "固定 result_state、decision reason、blocked reason、operator next action 與 redacted evidence refs。",
"allowed_mode": "committed_snapshot_only",
"write_enabled": false,
"runtime_writer_enabled": false,
"required_fields": ["result_state", "decision_reason", "blocked_reason", "operator_next_action", "redacted_evidence_refs"],
"blocker_summary": "audit DB writer 尚未批准;目前只回傳契約與 committed snapshot。",
"evidence_hash": "sha256:5555555555555555555555555555555555555555555555555555555555555555"
},
{
"contract_id": "contract_incident_timeline_handoff",
"display_name": "Incident timeline handoff",
"owner_agent": "openclaw",
"target_system": "incident_timeline",
"purpose": "讓 Operator 可看見目前階段、誰處理、AI 做了什麼、是否需要人工。",
"allowed_mode": "gated_owner_review",
"write_enabled": false,
"runtime_writer_enabled": false,
"required_fields": ["stage", "owner_agent", "operator_next_action", "manual_required", "blocked_reason"],
"blocker_summary": "timeline writer 尚未批准;不可把 UI 顯示當成 timeline 已寫入。",
"evidence_hash": "sha256:6666666666666666666666666666666666666666666666666666666666666666"
},
{
"contract_id": "contract_playbook_trust_candidate",
"display_name": "PlayBook trust 候選更新",
"owner_agent": "nemotron",
"target_system": "playbook_trust",
"purpose": "把修復成功 / 失敗 / no-op / policy block 結果轉成 trust score 候選,不直接套用。",
"allowed_mode": "gated_owner_review",
"write_enabled": false,
"runtime_writer_enabled": false,
"required_fields": ["playbook_id", "result_state", "verifier_result", "owner_review", "rollback_context"],
"blocker_summary": "P2-104 才修復 matched_playbook_id 學習缺口;目前只保留候選 contract。",
"evidence_hash": "sha256:7777777777777777777777777777777777777777777777777777777777777777"
},
{
"contract_id": "contract_operator_handoff_packet",
"display_name": "人工交接封包",
"owner_agent": "hermes",
"target_system": "awooop_operator_console",
"purpose": "把 TG / AwoooP approval 後卡住的項目轉成可理解的人工下一步與補證清單。",
"allowed_mode": "committed_snapshot_only",
"write_enabled": false,
"runtime_writer_enabled": false,
"required_fields": ["incident_id", "route_id", "current_stage", "next_action", "missing_evidence", "owner"],
"blocker_summary": "operator console writeback 尚未批准;目前只展示下一步 contract。",
"evidence_hash": "sha256:8888888888888888888888888888888888888888888888888888888888888888"
}
],
"audit_checkpoints": [
{
"checkpoint_id": "checkpoint_result_classification",
"display_name": "結果分類一致性",
"required_for": "所有 result route",
"status": "ready",
"failure_if_missing": "TG / AwoooP 只會顯示已批准或執行中,無法知道最後是 no-action、失敗或補證。",
"creates_runtime_action": false
},
{
"checkpoint_id": "checkpoint_evidence_hash",
"display_name": "redacted evidence hash",
"required_for": "KM / LOGBOOK / audit",
"status": "ready",
"failure_if_missing": "結果無法被追溯,後續 KM 可能固化錯誤。",
"creates_runtime_action": false
},
{
"checkpoint_id": "checkpoint_owner_next_action",
"display_name": "owner 與下一步",
"required_for": "operator handoff",
"status": "ready",
"failure_if_missing": "人工看不懂該修、該補證、該 rollback 或該關閉。",
"creates_runtime_action": false
},
{
"checkpoint_id": "checkpoint_km_draft_review",
"display_name": "KM owner review",
"required_for": "knowledge base",
"status": "needs_owner_review",
"failure_if_missing": "AI 可能直接寫入未驗證或過時知識。",
"creates_runtime_action": false
},
{
"checkpoint_id": "checkpoint_logbook_evidence",
"display_name": "LOGBOOK evidence anchor",
"required_for": "release evidence",
"status": "ready",
"failure_if_missing": "無法連回 commit、deploy marker、API readback 與正式站 smoke。",
"creates_runtime_action": false
},
{
"checkpoint_id": "checkpoint_timeline_handoff",
"display_name": "timeline handoff",
"required_for": "incident timeline",
"status": "needs_owner_review",
"failure_if_missing": "Incident 頁看不到目前停在哪個階段。",
"creates_runtime_action": false
},
{
"checkpoint_id": "checkpoint_redaction_boundary",
"display_name": "redaction boundary",
"required_for": "所有前端顯示",
"status": "ready",
"failure_if_missing": "可能外露 secret、prompt、私有推理、raw TG payload 或內部協作內容。",
"creates_runtime_action": false
}
],
"operator_handoffs": [
{
"handoff_id": "handoff_manual_fix_or_rollback",
"display_name": "人工修復或回滾",
"owner_agent": "openclaw",
"human_instruction": "若 result_state=execution_failedSRE 只可依 無寫入 SOP 決定人工修復 / rollbackAI 不會再次自動執行。",
"creates_runtime_action": false,
"requires_human_review": true
},
{
"handoff_id": "handoff_collect_missing_repair_evidence",
"display_name": "補齊修復證據",
"owner_agent": "hermes",
"human_instruction": "補 MCP、provider、host log、PlayBook trust 或 verifier evidence補完後重新回到 dry-run review。",
"creates_runtime_action": false,
"requires_human_review": true
},
{
"handoff_id": "handoff_provider_correlation_review",
"display_name": "供應者關聯審查",
"owner_agent": "openclaw",
"human_instruction": "檢查 provider refs 與 Incident 的 source id / fingerprint / recurrence 對應,不可把 provider heartbeat 當已關聯。",
"creates_runtime_action": false,
"requires_human_review": true
},
{
"handoff_id": "handoff_km_owner_review",
"display_name": "KM owner 審查",
"owner_agent": "hermes",
"human_instruction": "owner 確認草稿引用、來源與 stale 風險後才可寫入高影響 KM。",
"creates_runtime_action": false,
"requires_human_review": true
},
{
"handoff_id": "handoff_report_quality_review",
"display_name": "報表品質審查",
"owner_agent": "hermes",
"human_instruction": "日報 / 週報 / 月報全 0 時先視為資料鏈路異常,需查 ingestion 與 actionability不得當成健康。",
"creates_runtime_action": false,
"requires_human_review": true
}
],
"display_redaction_contract": {
"redaction_required": true,
"raw_prompt_display_allowed": false,
"private_reasoning_display_allowed": false,
"secret_value_display_allowed": false,
"raw_telegram_payload_display_allowed": false,
"work_window_transcript_display_allowed": false,
"allowed_display_fields": [
"route_id",
"display_name",
"result_state",
"owner_agent",
"primary_owner",
"operator_next_action",
"blocked_reason",
"evidence_hash",
"write_enabled",
"runtime_writer_enabled"
],
"blocked_display_fields": [
"secret_value",
"token",
"authorization_header",
"raw_prompt",
"private_reasoning",
"raw_telegram_payload",
"internal_collaboration_transcript"
]
},
"rollups": {
"result_route_count": 8,
"owner_next_action_ready_count": 8,
"requires_owner_review_count": 7,
"ready_for_km_draft_count": 5,
"blocked_result_count": 3,
"writeback_contract_count": 6,
"audit_checkpoint_count": 7,
"operator_handoff_count": 5,
"runtime_execution_count": 0,
"km_write_count": 0,
"logbook_runtime_write_count": 0,
"audit_db_write_count": 0,
"timeline_write_count": 0,
"playbook_trust_write_count": 0,
"gateway_queue_write_count": 0,
"telegram_send_count": 0,
"production_write_count": 0,
"secret_value_read_count": 0,
"destructive_operation_count": 0
}
}