{ "schema_version": "ai_agent_runtime_readback_promotion_gate_v1", "generated_at": "2026-06-13T18:20:00+08:00", "program_status": { "overall_completion_percent": 100, "current_priority": "P2", "current_task_id": "P2-113", "next_task_id": "P2-114", "read_only_mode": true, "runtime_authority": "runtime_readback_promotion_gate_only_no_live_queue_or_result_write", "status_note": "P2-113 只建立 failure receipt、reviewer queue、result capture 的 無寫入 promotion gate;未批准前不得 live query、不得寫 Gateway / Telegram / reviewer queue / result capture / production。" }, "source_refs": [ "docs/evaluations/ai_agent_runtime_readback_fixture_approval_2026-06-13.json", "docs/evaluations/ai_agent_owner_approved_result_capture_readback_2026-06-13.json", "docs/evaluations/ai_agent_report_live_delivery_approval_package_2026-06-13.json", "docs/superpowers/specs/2026-04-15-MASTER-ai-autonomous-flywheel-v2.md#33-建立-runtime-readback-fixture-approval" ], "prior_fixture_approval": { "fixture_approval_schema_version": "ai_agent_runtime_readback_fixture_approval_v1", "fixture_approval_card_count": 5, "adapter_contract_count": 4, "verifier_fixture_check_count": 5, "blocker_mapping_count": 5, "operator_action_count": 5, "owner_approval_received_count": 0, "fixture_readback_execution_count": 0, "live_query_count": 0, "production_write_count": 0, "readiness_note": "P2-112 已正式驗證 fixture-only approval package;P2-113 只把它轉成 無寫入 promotion gate,不讀 live target、不寫任何 queue 或 result。" }, "promotion_truth": { "p2_112_fixture_approval_loaded": true, "promotion_gate_ready": true, "failure_receipt_fixture_ready": true, "reviewer_queue_preview_ready": true, "result_capture_preview_ready": true, "owner_acceptance_required_before_promotion": true, "canonical_runtime_target_read_enabled": false, "live_query_enabled": false, "failure_receipt_send_enabled": false, "reviewer_queue_write_enabled": false, "gateway_queue_write_enabled": false, "telegram_send_enabled": false, "bot_api_call_enabled": false, "report_receipt_write_enabled": false, "result_capture_write_enabled": false, "learning_write_enabled": false, "playbook_trust_write_enabled": false, "production_write_enabled": false, "secret_read_enabled": false, "destructive_operation_enabled": false, "owner_approval_received_count": 0, "promotion_execution_count": 0, "canonical_runtime_target_read_count": 0, "live_query_count": 0, "failure_receipt_send_count": 0, "reviewer_queue_write_count": 0, "gateway_queue_write_count": 0, "telegram_send_count": 0, "bot_api_call_count": 0, "report_receipt_write_count": 0, "result_capture_write_count": 0, "learning_write_count": 0, "playbook_trust_write_count": 0, "production_write_count": 0, "truth_note": "promotion gate 已可審查;真正 failure receipt、reviewer queue、result capture 與 live readback 仍全部為 0。" }, "promotion_lanes": [ { "lane_id": "telegram_failure_receipt_promotion", "display_name": "Telegram failure receipt 無發送 promotion", "owner_agent": "hermes", "source_task_id": "P2-112", "status": "ready_for_owner_review", "risk_tier": "high", "allowed_artifact": "no_send_failure_receipt_fixture", "blocked_runtime_actions": [ "telegram_send", "bot_api_call", "report_receipt_write" ], "operator_guidance": "只允許檢查 無發送 failure receipt fixture;真正送出 Telegram 或寫 receipt 必須等 P2-114 之後另行批准。", "owner_approval_required": true, "promotion_only": true, "evidence_hash": "sha256:1010101010101010101010101010101010101010101010101010101010101010" }, { "lane_id": "reviewer_queue_preview_promotion", "display_name": "Reviewer queue preview 無寫入 promotion", "owner_agent": "openclaw", "source_task_id": "P2-112", "status": "ready_for_owner_review", "risk_tier": "medium", "allowed_artifact": "reviewer_queue_preview_digest", "blocked_runtime_actions": [ "reviewer_queue_write", "timeline_write", "audit_db_write" ], "operator_guidance": "把 reviewer 要看的欄位、決策模板與阻擋原因做成 preview;不得建立實際 queue item。", "owner_approval_required": true, "promotion_only": true, "evidence_hash": "sha256:2020202020202020202020202020202020202020202020202020202020202020" }, { "lane_id": "result_capture_no_write_promotion", "display_name": "Result capture 無寫入 promotion", "owner_agent": "nemotron", "source_task_id": "P2-112", "status": "approval_required", "risk_tier": "critical", "allowed_artifact": "result_capture_preview_digest", "blocked_runtime_actions": [ "score_write", "result_capture_write", "playbook_trust_write" ], "operator_guidance": "只比對 critic / reviewer score fixture 與 無寫入 result digest;不得寫 score、result capture 或 PlayBook trust。", "owner_approval_required": true, "promotion_only": true, "evidence_hash": "sha256:3030303030303030303030303030303030303030303030303030303030303030" }, { "lane_id": "report_delivery_receipt_link", "display_name": "Report delivery receipt fixture link", "owner_agent": "hermes", "source_task_id": "P2-111", "status": "approval_required", "risk_tier": "high", "allowed_artifact": "report_delivery_receipt_preview", "blocked_runtime_actions": [ "gateway_queue_write", "report_receipt_write", "ai_analysis_run" ], "operator_guidance": "僅把報表 無發送 receipt 與 P2-112 fixture 做關聯;不得觸發報表實發或 AI 讀報分析。", "owner_approval_required": true, "promotion_only": true, "evidence_hash": "sha256:4040404040404040404040404040404040404040404040404040404040404040" }, { "lane_id": "p2_114_handoff_scope", "display_name": "P2-114 handoff scope hold", "owner_agent": "openclaw", "source_task_id": "P2-113", "status": "blocked_by_policy", "risk_tier": "critical", "allowed_artifact": "operator_handoff_scope", "blocked_runtime_actions": [ "canonical_runtime_target_read", "live_query", "production_write" ], "operator_guidance": "P2-114 前只能整理 handoff scope;owner acceptance record、rollback owner 與 verifier plan 未齊前不得 live readback。", "owner_approval_required": true, "promotion_only": true, "evidence_hash": "sha256:5050505050505050505050505050505050505050505050505050505050505050" } ], "receipt_contracts": [ { "contract_id": "no_send_failure_receipt_contract", "display_name": "無發送 failure receipt contract", "status": "ready", "source_schema": "ai_agent_runtime_readback_fixture_approval_v1.fixture_approval_cards", "output_artifact": "failure_receipt_preview", "required_evidence": [ "failure_reason", "route_lock_id", "redaction_contract_id" ], "live_send_enabled": false, "receipt_write_enabled": false, "evidence_hash": "sha256:6060606060606060606060606060606060606060606060606060606060606060" }, { "contract_id": "sre_war_room_route_lock_contract", "display_name": "SRE 戰情室 route lock contract", "status": "ready", "source_schema": "ai_agent_report_live_delivery_approval_package_v1.route_lock_gates", "output_artifact": "sre_route_lock_preview", "required_evidence": [ "sre_group_route", "legacy_route_suppression", "dedupe_fingerprint" ], "live_send_enabled": false, "receipt_write_enabled": false, "evidence_hash": "sha256:7070707070707070707070707070707070707070707070707070707070707070" }, { "contract_id": "redacted_receipt_payload_contract", "display_name": "redacted receipt payload contract", "status": "ready", "source_schema": "ai_agent_report_live_delivery_approval_package_v1.payload_redaction_checks", "output_artifact": "redacted_receipt_payload_digest", "required_evidence": [ "payload_digest", "redaction_check_id", "no_secret_marker" ], "live_send_enabled": false, "receipt_write_enabled": false, "evidence_hash": "sha256:8080808080808080808080808080808080808080808080808080808080808080" }, { "contract_id": "no_bot_api_call_contract", "display_name": "Bot API call hold contract", "status": "blocked_by_policy", "source_schema": "ai_agent_runtime_readback_fixture_approval_v1.blocker_mappings", "output_artifact": "bot_api_hold_record", "required_evidence": [ "owner_acceptance_record", "telegram_token_injection_e2e", "rollback_owner" ], "live_send_enabled": false, "receipt_write_enabled": false, "evidence_hash": "sha256:9090909090909090909090909090909090909090909090909090909090909090" } ], "reviewer_queue_previews": [ { "preview_id": "owner_review_task_preview", "display_name": "Owner review task preview", "status": "ready", "required_fields": [ "owner_role", "decision", "decision_reason" ], "queue_write_enabled": false, "audit_write_enabled": false, "evidence_hash": "sha256:aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa" }, { "preview_id": "reviewer_decision_template_preview", "display_name": "Reviewer decision template preview", "status": "ready", "required_fields": [ "risk_tier", "allowed_artifact", "blocked_action" ], "queue_write_enabled": false, "audit_write_enabled": false, "evidence_hash": "sha256:bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb" }, { "preview_id": "escalation_reason_preview", "display_name": "Escalation reason preview", "status": "approval_required", "required_fields": [ "blocked_until", "missing_evidence", "next_owner" ], "queue_write_enabled": false, "audit_write_enabled": false, "evidence_hash": "sha256:cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc" }, { "preview_id": "no_write_queue_digest_preview", "display_name": "無寫入 queue digest preview", "status": "ready", "required_fields": [ "preview_digest", "source_snapshot", "redaction_status" ], "queue_write_enabled": false, "audit_write_enabled": false, "evidence_hash": "sha256:dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd" } ], "result_capture_previews": [ { "preview_id": "critic_score_preview", "display_name": "Critic score 無寫入 preview", "status": "ready", "required_fields": [ "score_fixture", "reason_digest", "confidence_bucket" ], "result_capture_write_enabled": false, "learning_write_enabled": false, "evidence_hash": "sha256:eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee" }, { "preview_id": "reviewer_score_preview", "display_name": "Reviewer score 無寫入 preview", "status": "approval_required", "required_fields": [ "reviewer_fixture", "safety_decision", "disagreement_hold" ], "result_capture_write_enabled": false, "learning_write_enabled": false, "evidence_hash": "sha256:ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff" }, { "preview_id": "playbook_trust_preview", "display_name": "PlayBook trust 無寫入 preview", "status": "blocked_by_policy", "required_fields": [ "matched_playbook_id", "trust_delta_fixture", "owner_acceptance" ], "result_capture_write_enabled": false, "learning_write_enabled": false, "evidence_hash": "sha256:1212121212121212121212121212121212121212121212121212121212121212" }, { "preview_id": "km_learning_preview", "display_name": "KM learning 無寫入 preview", "status": "approval_required", "required_fields": [ "km_draft_id", "source_incident", "owner_review" ], "result_capture_write_enabled": false, "learning_write_enabled": false, "evidence_hash": "sha256:1313131313131313131313131313131313131313131313131313131313131313" } ], "no_write_verifier_checks": [ { "check_id": "no_live_query_promotion_check", "display_name": "no live query promotion check", "status": "ready", "required_fixture": "promotion lane must not read canonical runtime target", "failure_if_missing": "缺 no-live-query 證據時不得推進 P2-114。", "live_verifier_enabled": false, "evidence_hash": "sha256:1414141414141414141414141414141414141414141414141414141414141414" }, { "check_id": "no_gateway_queue_write_check", "display_name": "no Gateway queue write check", "status": "ready", "required_fixture": "Gateway queue write count remains 0", "failure_if_missing": "queue write 不是 fixture,任何非 0 都要退回。", "live_verifier_enabled": false, "evidence_hash": "sha256:1515151515151515151515151515151515151515151515151515151515151515" }, { "check_id": "no_telegram_bot_send_check", "display_name": "no Telegram / Bot API send check", "status": "ready", "required_fixture": "Telegram send and Bot API call counts remain 0", "failure_if_missing": "發送或 Bot API call 非 0 時不得宣稱 無發送 promotion。", "live_verifier_enabled": false, "evidence_hash": "sha256:1616161616161616161616161616161616161616161616161616161616161616" }, { "check_id": "no_reviewer_queue_write_check", "display_name": "no reviewer queue write check", "status": "approval_required", "required_fixture": "reviewer queue preview only; write count remains 0", "failure_if_missing": "缺 queue preview 或 write count 非 0 時不得建立 reviewer item。", "live_verifier_enabled": false, "evidence_hash": "sha256:1717171717171717171717171717171717171717171717171717171717171717" }, { "check_id": "no_result_capture_write_check", "display_name": "no result capture write check", "status": "blocked_by_policy", "required_fixture": "result capture preview only; score/write count remains 0", "failure_if_missing": "缺 無寫入 preview 時不得進入 result capture promotion。", "live_verifier_enabled": false, "evidence_hash": "sha256:1818181818181818181818181818181818181818181818181818181818181818" } ], "blocker_mappings": [ { "blocker_id": "owner_acceptance_missing", "display_name": "負責人驗收 record missing", "severity": "critical", "status": "blocked_by_policy", "source_blocker": "缺 owner acceptance record;不得 promotion 到 live readback。", "blocked_action": "promote_to_live_readback", "blocked_until": "owner_acceptance_record_accepted", "evidence_hash": "sha256:1919191919191919191919191919191919191919191919191919191919191919" }, { "blocker_id": "canonical_readback_not_approved", "display_name": "Canonical readback not approved", "severity": "critical", "status": "blocked_by_policy", "source_blocker": "P2-113 不授權 canonical runtime target read。", "blocked_action": "canonical_runtime_target_read", "blocked_until": "p2_114_owner_approval", "evidence_hash": "sha256:2020202020202020202020202020202020202020202020202020202020202020" }, { "blocker_id": "telegram_send_not_approved", "display_name": "Telegram send not approved", "severity": "high", "status": "approval_required", "source_blocker": "SRE 戰情室 route 可預覽,但不得 send。", "blocked_action": "telegram_send_or_bot_api_call", "blocked_until": "telegram_e2e_delivery_gate", "evidence_hash": "sha256:2121212121212121212121212121212121212121212121212121212121212121" }, { "blocker_id": "reviewer_queue_write_not_approved", "display_name": "Reviewer queue write not approved", "severity": "high", "status": "approval_required", "source_blocker": "只能顯示 reviewer queue preview;不得寫 queue / audit / timeline。", "blocked_action": "reviewer_queue_write", "blocked_until": "queue_write_gate_accepted", "evidence_hash": "sha256:2222222222222222222222222222222222222222222222222222222222222222" }, { "blocker_id": "result_capture_write_not_approved", "display_name": "Result capture write not approved", "severity": "critical", "status": "blocked_by_policy", "source_blocker": "score、result capture、learning、PlayBook trust 全部不得寫入。", "blocked_action": "result_capture_write", "blocked_until": "result_capture_write_gate_accepted", "evidence_hash": "sha256:2323232323232323232323232323232323232323232323232323232323232323" } ], "operator_actions": [ { "action_id": "review_promotion_lanes", "display_name": "審查 promotion lanes", "owner_agent": "openclaw", "action_type": "review_promotion_lane", "operator_instruction": "逐 lane 確認 allowed artifact 與 blocked runtime action 是否成對,任何 live write 疑慮都退回。", "runtime_promotion_allowed": false }, { "action_id": "verify_failure_receipt_fixture", "display_name": "驗證 failure receipt fixture", "owner_agent": "hermes", "action_type": "verify_failure_receipt_fixture", "operator_instruction": "只看 無發送 receipt digest、route lock 與 redaction 結果,不送 Telegram、不呼叫 Bot API。", "runtime_promotion_allowed": false }, { "action_id": "confirm_queue_no_write", "display_name": "確認 reviewer queue 無寫入", "owner_agent": "openclaw", "action_type": "confirm_reviewer_queue_no_write", "operator_instruction": "確認 reviewer queue preview 足夠人工判讀,但 queue 寫入、audit 寫入、timeline 寫入必須維持 0。", "runtime_promotion_allowed": false }, { "action_id": "compare_result_capture_preview", "display_name": "比對 result capture preview", "owner_agent": "nemotron", "action_type": "compare_result_capture_preview", "operator_instruction": "比對 critic/reviewer score fixture 與 無寫入 digest;不得寫 score、learning 或 PlayBook trust。", "runtime_promotion_allowed": false }, { "action_id": "promote_to_p2_114", "display_name": "推進 P2-114", "owner_agent": "openclaw", "action_type": "promote_to_p2_114", "operator_instruction": "只有在 無發送、無寫入、no-live-query 與 owner acceptance 缺口都明確後,才能進 P2-114;不是 live approval。", "runtime_promotion_allowed": false } ], "display_redaction_contract": { "redaction_required": true, "raw_prompt_display_allowed": false, "private_reasoning_display_allowed": false, "secret_value_display_allowed": false, "raw_runtime_payload_display_allowed": false, "internal_collaboration_content_display_allowed": false, "frontend_display_policy": "只顯示 promotion lane、preview digest、blocked action 與 owner handoff;不顯示內部協作逐字稿、提示詞、私密推理內容、secret 或原始 runtime payload。" }, "rollups": { "promotion_lane_count": 5, "receipt_contract_count": 4, "reviewer_queue_preview_count": 4, "result_capture_preview_count": 4, "no_write_verifier_check_count": 5, "blocker_mapping_count": 5, "operator_action_count": 5, "approval_required_lane_count": 2, "blocked_lane_count": 1, "blocked_receipt_contract_count": 1, "approval_required_reviewer_preview_count": 1, "blocked_result_preview_count": 1, "owner_approval_received_count": 0, "promotion_execution_count": 0, "canonical_runtime_target_read_count": 0, "live_query_count": 0, "failure_receipt_send_count": 0, "reviewer_queue_write_count": 0, "gateway_queue_write_count": 0, "telegram_send_count": 0, "bot_api_call_count": 0, "report_receipt_write_count": 0, "result_capture_write_count": 0, "learning_write_count": 0, "playbook_trust_write_count": 0, "production_write_count": 0, "secret_read_count": 0, "destructive_operation_count": 0 } }