{ "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 只停在 APPROVED,learning_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 evidence;KM / 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 } }