Files
awoooi/docs/evaluations/ai_agent_matched_playbook_learning_gap_2026-06-13.json
Your Name 414413a592
All checks were successful
Code Review / ai-code-review (push) Successful in 12s
CD Pipeline / tests (push) Successful in 1m26s
CD Pipeline / build-and-deploy (push) Successful in 4m58s
CD Pipeline / post-deploy-checks (push) Successful in 19s
feat(governance): 新增 matched PlayBook 學習缺口證據
2026-06-13 01:18:24 +08:00

324 lines
14 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_matched_playbook_learning_gap_v1",
"generated_at": "2026-06-13T00:51:50+08:00",
"program_status": {
"overall_completion_percent": 100,
"current_priority": "P2",
"current_task_id": "P2-104",
"next_task_id": "P2-105",
"read_only_mode": true,
"runtime_authority": "matched_playbook_learning_gap_contract_only_no_live_trust_write",
"status_note": "P2-104 以正式 DB 只讀回查確認:近 24h approval 的 matched_playbook_id 已 66/66真正缺口已移到 approved 之後未進 execution learning、PlayBook trust updated_24h=0。本快照只呈現證據與 gate不寫 learning、不更新 PlayBook trust、不送 Telegram。"
},
"source_refs": [
"docs/evaluations/ai_agent_task_result_audit_trail_2026-06-13.json",
"apps/api/src/services/learning_service.py",
"apps/api/src/services/approval_execution.py",
"apps/api/src/services/decision_manager.py",
"apps/api/src/services/proposal_service.py",
"apps/api/src/services/repair_candidate_service.py",
"docs/ai/AI_AGENT_AUTOMATION_WORKLIST_2026-06-04.md",
"docs/superpowers/specs/2026-04-15-MASTER-ai-autonomous-flywheel-v2.md"
],
"production_readback": {
"readback_at": "2026-06-13T00:48:00+08:00",
"readback_mode": "read_only_db_readback",
"project_id_scope": "awoooi",
"rls_fail_closed_verified": true,
"approval_total": 1945,
"approval_matched_total": 1104,
"approval_24h_total": 66,
"approval_24h_matched": 66,
"matched_rate_24h_percent": 100,
"playbook_total": 247,
"playbook_with_execution_stats": 9,
"playbook_updated_24h": 0,
"readback_note": "未帶 project_id 時 RLS fail-closed帶 project_id=awoooi 後只讀回查顯示 24h matched_playbook_id 覆蓋率 100%,但 PlayBook trust 近 24h 無更新。"
},
"recent_status_breakdown": [
{
"status": "APPROVED",
"total": 63,
"matched": 63,
"execution_kind_present": 0,
"repair_attempted_true": 0,
"repair_executed_true": 0,
"learning_candidate_count": 63,
"readback_note": "已批准且已匹配,但 execution_kind / repair metadata 為空,代表尚未形成可餵給 learning_service 的 execution result。"
},
{
"status": "PENDING",
"total": 2,
"matched": 2,
"execution_kind_present": 0,
"repair_attempted_true": 0,
"repair_executed_true": 0,
"learning_candidate_count": 0,
"readback_note": "仍在人工 gate不能寫入 learning 或 PlayBook trust。"
},
{
"status": "EXECUTION_FAILED",
"total": 1,
"matched": 1,
"execution_kind_present": 1,
"repair_attempted_true": 1,
"repair_executed_true": 0,
"learning_candidate_count": 1,
"readback_note": "已有失敗 execution metadata可成為 learning 候選,但仍需 owner gate 與 post-write verifier。"
}
],
"learning_gap_truth": {
"p2_103_task_result_audit_loaded": true,
"production_db_readback_completed": true,
"rls_fail_closed_verified": true,
"matched_playbook_id_present_24h": true,
"matched_playbook_id_gap_resolved": true,
"execution_learning_gap_detected": true,
"approved_without_execution_meta_detected": true,
"playbook_trust_update_gap_detected": true,
"runtime_learning_write_enabled": false,
"playbook_trust_write_enabled": false,
"approval_auto_execute_enabled": false,
"km_write_enabled": false,
"logbook_runtime_write_enabled": false,
"audit_db_write_enabled": false,
"timeline_write_enabled": false,
"gateway_queue_write_enabled": false,
"telegram_send_enabled": false,
"production_write_enabled": false,
"secret_value_read_enabled": false,
"destructive_operation_enabled": false,
"work_window_transcript_display_allowed": false,
"approval_24h_total": 66,
"approval_24h_matched": 66,
"approved_without_execution_meta_24h": 63,
"pending_with_matched_24h": 2,
"execution_failed_with_matched_24h": 1,
"playbook_updated_24h": 0,
"live_learning_write_count_24h": 0,
"playbook_trust_write_count_24h": 0,
"gateway_queue_write_count_24h": 0,
"telegram_send_count_24h": 0,
"production_write_count_24h": 0,
"secret_value_read_count_24h": 0,
"destructive_operation_count_24h": 0,
"truth_note": "P2-104 不再把問題描述為 matched_playbook_id 遺失;正式資料顯示 matched id 已存在。下一個工程 gate 是把 approved / failed result 安全轉成 execution learning 候選,通過 owner review 與 verifier 後才可寫入 PlayBook trust。"
},
"gap_lanes": [
{
"lane_id": "lane_matched_id_present",
"display_name": "matched_playbook_id 已存在",
"owner_agent": "openclaw",
"status": "passed",
"risk_tier": "low",
"count_24h": 66,
"matched_count_24h": 66,
"live_write_enabled": false,
"evidence": "24h approval readback: 66 / 66 matched",
"next_gate": "保留 matched id 作為 execution learning payload 的必要欄位,不再重做匹配修復。",
"evidence_hash": "sha256:1212121212121212121212121212121212121212121212121212121212121212"
},
{
"lane_id": "lane_approved_without_execution_meta",
"display_name": "approved 未形成 execution learning",
"owner_agent": "openclaw",
"status": "blocked",
"risk_tier": "high",
"count_24h": 63,
"matched_count_24h": 63,
"live_write_enabled": false,
"evidence": "APPROVED total=63, matched=63, execution_kind_present=0",
"next_gate": "P2-105 需建立 critic / reviewer score 與 approved result capture才能進入 owner-approved learning writeback。",
"evidence_hash": "sha256:2323232323232323232323232323232323232323232323232323232323232323"
},
{
"lane_id": "lane_pending_human_gate",
"display_name": "pending 仍在人工 gate",
"owner_agent": "hermes",
"status": "owner_review_required",
"risk_tier": "medium",
"count_24h": 2,
"matched_count_24h": 2,
"live_write_enabled": false,
"evidence": "PENDING total=2, matched=2",
"next_gate": "保持人工審核;未批准前不得寫入 learning 或 PlayBook trust。",
"evidence_hash": "sha256:3434343434343434343434343434343434343434343434343434343434343434"
},
{
"lane_id": "lane_execution_failed_learning_candidate",
"display_name": "execution failed 可成為學習候選",
"owner_agent": "nemotron",
"status": "owner_review_required",
"risk_tier": "high",
"count_24h": 1,
"matched_count_24h": 1,
"live_write_enabled": false,
"evidence": "EXECUTION_FAILED total=1, matched=1, repair_attempted=true, repair_executed=false",
"next_gate": "只允許產生 failure learning 候選;需 owner review、redacted payload 與 post-write verifier 後才能更新 trust。",
"evidence_hash": "sha256:4545454545454545454545454545454545454545454545454545454545454545"
},
{
"lane_id": "lane_playbook_trust_not_updated",
"display_name": "PlayBook trust 近 24h 未更新",
"owner_agent": "hermes",
"status": "blocked",
"risk_tier": "high",
"count_24h": 0,
"matched_count_24h": 0,
"live_write_enabled": false,
"evidence": "playbook_updated_24h=0, playbook_with_execution_stats=9",
"next_gate": "先完成 writeback approval package 與 verifier再開 PlayBook trust 候選更新。",
"evidence_hash": "sha256:5656565656565656565656565656565656565656565656565656565656565656"
}
],
"learning_gates": [
{
"gate_id": "gate_result_capture_contract",
"display_name": "approved result capture contract",
"owner_agent": "openclaw",
"status": "needs_owner_review",
"required_before": "execution learning payload",
"failure_if_missing": "approval 只停在 APPROVEDlearning_service 無法判斷成功、失敗、no-op 或需補證。",
"creates_runtime_write": false
},
{
"gate_id": "gate_critic_reviewer_score",
"display_name": "critic / reviewer score",
"owner_agent": "openclaw",
"status": "needs_owner_review",
"required_before": "中低風險自動處理",
"failure_if_missing": "AI Agent 會缺少互相判斷與接手依據,不能自動把 approved 結果升級成信任更新。",
"creates_runtime_write": false
},
{
"gate_id": "gate_learning_writeback_approval",
"display_name": "learning writeback approval",
"owner_agent": "hermes",
"status": "blocked_by_policy",
"required_before": "learning_service.process_execution_result",
"failure_if_missing": "未批准前不可寫 KM、timeline、PlayBook trust 或任何 production 狀態。",
"creates_runtime_write": false
},
{
"gate_id": "gate_post_write_verifier",
"display_name": "post-write verifier",
"owner_agent": "nemotron",
"status": "needs_owner_review",
"required_before": "PlayBook trust score change",
"failure_if_missing": "trust score 可能被失敗、no-op 或低可信資料污染。",
"creates_runtime_write": false
},
{
"gate_id": "gate_telegram_operator_receipt",
"display_name": "Telegram operator receipt",
"owner_agent": "hermes",
"status": "blocked_by_policy",
"required_before": "通知與回執 E2E",
"failure_if_missing": "統帥看不到 learning 候選、被阻擋原因與人工批准點。",
"creates_runtime_write": false
}
],
"writeback_candidates": [
{
"candidate_id": "candidate_approval_execution_bridge",
"display_name": "approval → execution result bridge",
"owner_agent": "openclaw",
"target_system": "approval_execution",
"allowed_mode": "gated_owner_review",
"write_enabled": false,
"runtime_writer_enabled": false,
"required_fields": ["approval_id", "matched_playbook_id", "execution_kind", "result_state", "verifier_result"],
"blocker_summary": "近 24h 63 筆 APPROVED 缺 execution metadata需 P2-105 先定義 reviewer score 與 result capture。",
"evidence_hash": "sha256:6767676767676767676767676767676767676767676767676767676767676767"
},
{
"candidate_id": "candidate_learning_service_payload",
"display_name": "learning service payload",
"owner_agent": "hermes",
"target_system": "learning_service.process_execution_result",
"allowed_mode": "committed_snapshot_only",
"write_enabled": false,
"runtime_writer_enabled": false,
"required_fields": ["incident_id", "approval_id", "matched_playbook_id", "success", "failure_reason"],
"blocker_summary": "只能先固定 payload contract未批准前不呼叫 learning write path。",
"evidence_hash": "sha256:7878787878787878787878787878787878787878787878787878787878787878"
},
{
"candidate_id": "candidate_playbook_trust_update",
"display_name": "PlayBook trust 候選更新",
"owner_agent": "nemotron",
"target_system": "playbook_service.record_execution",
"allowed_mode": "gated_owner_review",
"write_enabled": false,
"runtime_writer_enabled": false,
"required_fields": ["playbook_id", "success", "verifier_result", "owner_review", "rollback_context"],
"blocker_summary": "playbook_updated_24h=0需 post-write verifier 與人工批准才可開始 trust update。",
"evidence_hash": "sha256:8989898989898989898989898989898989898989898989898989898989898989"
},
{
"candidate_id": "candidate_operator_learning_report",
"display_name": "operator learning report",
"owner_agent": "hermes",
"target_system": "KM / LOGBOOK / Telegram digest",
"allowed_mode": "manual_append_plan",
"write_enabled": false,
"runtime_writer_enabled": false,
"required_fields": ["readback_at", "gap_lane", "next_gate", "risk_tier", "redacted_evidence_hash"],
"blocker_summary": "報告可顯示 committed evidenceKM / LOGBOOK runtime append 與 Telegram 實發仍未開 gate。",
"evidence_hash": "sha256:9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a"
}
],
"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": [
"schema_version",
"generated_at",
"program_status",
"production_readback",
"recent_status_breakdown",
"learning_gap_truth",
"gap_lanes",
"learning_gates",
"writeback_candidates",
"rollups"
],
"blocked_display_fields": [
"raw DB URL",
"raw approval payload",
"raw Telegram payload",
"prompt",
"private reasoning",
"secret value",
"internal collaboration transcript"
]
},
"rollups": {
"gap_lane_count": 5,
"passed_lane_count": 1,
"blocked_lane_count": 2,
"owner_review_lane_count": 2,
"approval_24h_total": 66,
"approval_24h_matched": 66,
"matched_rate_24h_percent": 100,
"approved_without_execution_meta_24h": 63,
"pending_with_matched_24h": 2,
"execution_failed_with_matched_24h": 1,
"playbook_with_execution_stats_count": 9,
"playbook_updated_24h_count": 0,
"learning_gate_count": 5,
"writeback_candidate_count": 4,
"live_learning_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
}
}