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
510 lines
19 KiB
JSON
510 lines
19 KiB
JSON
{
|
||
"schema_version": "ai_agent_runtime_readback_approval_package_v1",
|
||
"generated_at": "2026-06-13T15:12:00+08:00",
|
||
"program_status": {
|
||
"overall_completion_percent": 100,
|
||
"current_priority": "P2",
|
||
"current_task_id": "P2-109",
|
||
"next_task_id": "P2-110",
|
||
"read_only_mode": true,
|
||
"runtime_authority": "runtime_readback_approval_package_only_no_live_write",
|
||
"status_note": "P2-109 承接 P2-107 readback / promotion readiness 與 P2-108 report status board,固定 runtime readback 批准包、canonical readback plan、rollback drill 與 Telegram 失敗收據閘門;本快照只讀,不啟動 live writer。"
|
||
},
|
||
"source_refs": [
|
||
"docs/evaluations/ai_agent_owner_approved_result_capture_readback_2026-06-13.json",
|
||
"docs/schemas/ai_agent_owner_approved_result_capture_readback_v1.schema.json",
|
||
"docs/evaluations/ai_agent_post_write_verifier_package_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"
|
||
],
|
||
"prior_readback_readiness": {
|
||
"source_schema_version": "ai_agent_owner_approved_result_capture_readback_v1",
|
||
"readback_at": "2026-06-13T14:18:00+08:00",
|
||
"readback_digest_count": 5,
|
||
"promotion_review_count": 5,
|
||
"failure_lane_count": 4,
|
||
"reviewer_queue_preview_count": 4,
|
||
"operator_action_count": 5,
|
||
"approval_required_digest_count": 2,
|
||
"blocked_total_count": 7,
|
||
"approved_without_execution_meta_24h": 63,
|
||
"execution_failed_with_matched_24h": 1,
|
||
"owner_approval_received_count": 0,
|
||
"readback_digest_generated_count": 0,
|
||
"promotion_approved_count": 0,
|
||
"reviewer_queue_write_count": 0,
|
||
"result_capture_write_count": 0,
|
||
"score_write_count": 0,
|
||
"learning_write_count": 0,
|
||
"playbook_trust_write_count": 0,
|
||
"gateway_queue_write_count": 0,
|
||
"telegram_send_count": 0,
|
||
"production_write_count": 0,
|
||
"readiness_note": "P2-107 已固定 fixture readback 與 promotion review;P2-108 只產生下一關 owner review 批准包,不讀 canonical runtime target。"
|
||
},
|
||
"approval_package_truth": {
|
||
"p2_107_readback_loaded": true,
|
||
"approval_package_ready": true,
|
||
"canonical_readback_plan_ready": true,
|
||
"rollback_drill_ready": true,
|
||
"telegram_failure_receipt_gate_ready": true,
|
||
"owner_review_required_before_runtime": true,
|
||
"canonical_runtime_readback_enabled": false,
|
||
"runtime_result_capture_write_enabled": false,
|
||
"runtime_score_write_enabled": false,
|
||
"runtime_learning_write_enabled": false,
|
||
"playbook_trust_write_enabled": false,
|
||
"reviewer_queue_write_enabled": false,
|
||
"gateway_queue_write_enabled": false,
|
||
"telegram_failure_receipt_send_enabled": false,
|
||
"bot_api_call_enabled": false,
|
||
"rollback_work_item_write_enabled": false,
|
||
"production_write_enabled": false,
|
||
"secret_read_enabled": false,
|
||
"destructive_operation_enabled": false,
|
||
"owner_approval_received_count": 0,
|
||
"runtime_readback_execution_count": 0,
|
||
"result_capture_write_count_24h": 0,
|
||
"score_write_count_24h": 0,
|
||
"learning_write_count_24h": 0,
|
||
"playbook_trust_write_count_24h": 0,
|
||
"reviewer_queue_write_count_24h": 0,
|
||
"gateway_queue_write_count_24h": 0,
|
||
"telegram_failure_receipt_send_count_24h": 0,
|
||
"bot_api_call_count_24h": 0,
|
||
"rollback_work_item_write_count_24h": 0,
|
||
"production_write_count_24h": 0,
|
||
"secret_read_count_24h": 0,
|
||
"destructive_operation_count_24h": 0,
|
||
"truth_note": "此階段只允許 owner review 批准包與 無寫入 plan 可視化;canonical runtime readback、result/score/learning/trust write、queue write、Telegram 失敗收據與 rollback work item 全部仍為 0。"
|
||
},
|
||
"approval_packet_templates": [
|
||
{
|
||
"packet_id": "approved_result_capture_runtime_readback",
|
||
"display_name": "已批准處置結果 readback 批准包",
|
||
"owner_agent": "openclaw",
|
||
"status": "approval_required",
|
||
"risk_tier": "high",
|
||
"required_approval_fields": [
|
||
"incident_id",
|
||
"approval_id",
|
||
"result_capture_template_id",
|
||
"expected_status_chain",
|
||
"owner_decision",
|
||
"rollback_owner"
|
||
],
|
||
"blocked_runtime_actions": [
|
||
"canonical_runtime_readback",
|
||
"result_capture_write",
|
||
"score_write",
|
||
"reviewer_queue_write"
|
||
],
|
||
"operator_guidance": "確認結果捕捉欄位、狀態鏈與 rollback owner 後,才能進入下一關 runtime readback 實作審查。",
|
||
"approval_required": true,
|
||
"runtime_write_allowed": false,
|
||
"evidence_hash": "sha256:1111111111111111111111111111111111111111111111111111111111111111"
|
||
},
|
||
{
|
||
"packet_id": "execution_failed_negative_learning_review",
|
||
"display_name": "執行失敗負向學習審查包",
|
||
"owner_agent": "hermes",
|
||
"status": "approval_required",
|
||
"risk_tier": "critical",
|
||
"required_approval_fields": [
|
||
"incident_id",
|
||
"failure_lane_id",
|
||
"matched_playbook_id",
|
||
"negative_learning_reason",
|
||
"human_review_owner",
|
||
"rollback_decision"
|
||
],
|
||
"blocked_runtime_actions": [
|
||
"learning_write",
|
||
"playbook_trust_write",
|
||
"gateway_queue_write",
|
||
"telegram_failure_receipt_send"
|
||
],
|
||
"operator_guidance": "失敗案例只能先形成可審查負向學習摘要,未經 owner 接受不得寫入 KM 或降低 PlayBook trust。",
|
||
"approval_required": true,
|
||
"runtime_write_allowed": false,
|
||
"evidence_hash": "sha256:2222222222222222222222222222222222222222222222222222222222222222"
|
||
},
|
||
{
|
||
"packet_id": "pending_human_gate_expiry_review",
|
||
"display_name": "人工閘門逾時審查包",
|
||
"owner_agent": "openclaw",
|
||
"status": "approval_required",
|
||
"risk_tier": "medium",
|
||
"required_approval_fields": [
|
||
"gate_id",
|
||
"pending_duration",
|
||
"owner_role",
|
||
"next_action",
|
||
"blocked_reason"
|
||
],
|
||
"blocked_runtime_actions": [
|
||
"reviewer_queue_write",
|
||
"gateway_queue_write",
|
||
"telegram_failure_receipt_send"
|
||
],
|
||
"operator_guidance": "逾時閘門要先產出明確人工下一步與卡點,不得自動轉成執行或通知轟炸。",
|
||
"approval_required": true,
|
||
"runtime_write_allowed": false,
|
||
"evidence_hash": "sha256:3333333333333333333333333333333333333333333333333333333333333333"
|
||
},
|
||
{
|
||
"packet_id": "manual_or_noop_result_acceptance",
|
||
"display_name": "人工或無操作結果接受包",
|
||
"owner_agent": "nemotron",
|
||
"status": "ready_for_owner_review",
|
||
"risk_tier": "medium",
|
||
"required_approval_fields": [
|
||
"incident_id",
|
||
"manual_reason",
|
||
"no_action_reason",
|
||
"evidence_refs",
|
||
"accepted_by"
|
||
],
|
||
"blocked_runtime_actions": [
|
||
"result_capture_write",
|
||
"score_write",
|
||
"learning_write"
|
||
],
|
||
"operator_guidance": "無操作結果必須說清楚為何沒有修復、要誰接手與下一次判定條件,避免 approved 後流程空轉。",
|
||
"approval_required": true,
|
||
"runtime_write_allowed": false,
|
||
"evidence_hash": "sha256:4444444444444444444444444444444444444444444444444444444444444444"
|
||
},
|
||
{
|
||
"packet_id": "post_write_verifier_receipt_package",
|
||
"display_name": "寫入後 verifier 收據批准包",
|
||
"owner_agent": "hermes",
|
||
"status": "blocked_by_policy",
|
||
"risk_tier": "critical",
|
||
"required_approval_fields": [
|
||
"verifier_id",
|
||
"readback_plan_id",
|
||
"rollback_lane_id",
|
||
"telegram_failure_gate_id",
|
||
"owner_acceptance_record"
|
||
],
|
||
"blocked_runtime_actions": [
|
||
"canonical_runtime_readback",
|
||
"rollback_work_item_write",
|
||
"telegram_failure_receipt_send",
|
||
"production_write"
|
||
],
|
||
"operator_guidance": "post-write verifier 仍停在批准包層;沒有 acceptance record 以前不得建立 runtime 收據或 rollback work item。",
|
||
"approval_required": true,
|
||
"runtime_write_allowed": false,
|
||
"evidence_hash": "sha256:5555555555555555555555555555555555555555555555555555555555555555"
|
||
}
|
||
],
|
||
"canonical_readback_plans": [
|
||
{
|
||
"plan_id": "result_capture_row_readback",
|
||
"display_name": "result capture row readback plan",
|
||
"owner_agent": "openclaw",
|
||
"status": "planned_no_runtime_read",
|
||
"query_scope": "incident_result_capture_rows",
|
||
"required_fields": [
|
||
"incident_id",
|
||
"approval_id",
|
||
"status_chain",
|
||
"repair_outcome",
|
||
"verifier_status"
|
||
],
|
||
"redaction_checks": [
|
||
"public_evidence_refs_only",
|
||
"secret_free_payload",
|
||
"operator_safe_summary"
|
||
],
|
||
"live_query_enabled": false,
|
||
"runtime_write_allowed": false,
|
||
"evidence_hash": "sha256:6666666666666666666666666666666666666666666666666666666666666666"
|
||
},
|
||
{
|
||
"plan_id": "score_fixture_parity_readback",
|
||
"display_name": "score fixture parity readback plan",
|
||
"owner_agent": "nemotron",
|
||
"status": "planned_no_runtime_read",
|
||
"query_scope": "critic_reviewer_score_fixtures",
|
||
"required_fields": [
|
||
"score_fixture_id",
|
||
"expected_score",
|
||
"actual_score",
|
||
"reviewer_delta",
|
||
"promotion_decision"
|
||
],
|
||
"redaction_checks": [
|
||
"no_private_inference_trace",
|
||
"no_secret_value",
|
||
"no_provider_payload"
|
||
],
|
||
"live_query_enabled": false,
|
||
"runtime_write_allowed": false,
|
||
"evidence_hash": "sha256:7777777777777777777777777777777777777777777777777777777777777777"
|
||
},
|
||
{
|
||
"plan_id": "playbook_trust_noop_readback",
|
||
"display_name": "PlayBook trust no-op readback plan",
|
||
"owner_agent": "hermes",
|
||
"status": "blocked_by_policy",
|
||
"query_scope": "playbook_trust_snapshot",
|
||
"required_fields": [
|
||
"playbook_id",
|
||
"trust_before",
|
||
"trust_after",
|
||
"reason",
|
||
"owner_review_id"
|
||
],
|
||
"redaction_checks": [
|
||
"no_unreviewed_learning_write",
|
||
"no_bulk_trust_mutation",
|
||
"no_secret_source"
|
||
],
|
||
"live_query_enabled": false,
|
||
"runtime_write_allowed": false,
|
||
"evidence_hash": "sha256:8888888888888888888888888888888888888888888888888888888888888888"
|
||
},
|
||
{
|
||
"plan_id": "verifier_receipt_readback",
|
||
"display_name": "verifier receipt readback plan",
|
||
"owner_agent": "openclaw",
|
||
"status": "planned_no_runtime_read",
|
||
"query_scope": "post_write_verifier_receipts",
|
||
"required_fields": [
|
||
"verifier_id",
|
||
"receipt_id",
|
||
"failure_receipt_gate",
|
||
"rollback_lane",
|
||
"owner_decision"
|
||
],
|
||
"redaction_checks": [
|
||
"failure_only_summary",
|
||
"sre_war_room_route_only",
|
||
"no_bot_api_payload"
|
||
],
|
||
"live_query_enabled": false,
|
||
"runtime_write_allowed": false,
|
||
"evidence_hash": "sha256:9999999999999999999999999999999999999999999999999999999999999999"
|
||
}
|
||
],
|
||
"rollback_drill_lanes": [
|
||
{
|
||
"lane_id": "result_capture_insert_rollback_drill",
|
||
"display_name": "result capture insert rollback drill",
|
||
"owner_agent": "openclaw",
|
||
"status": "planned_no_write",
|
||
"rollback_owner": "sre_owner",
|
||
"required_steps": [
|
||
"identify_result_capture_row",
|
||
"compare_verifier_receipt",
|
||
"mark_reversal_plan",
|
||
"collect_owner_acceptance"
|
||
],
|
||
"failure_if_missing": "沒有 rollback owner 與 verifier receipt 時,不得推進任何 result capture 寫入。",
|
||
"rollback_write_enabled": false,
|
||
"creates_runtime_write": false
|
||
},
|
||
{
|
||
"lane_id": "score_write_rollback_drill",
|
||
"display_name": "score write rollback drill",
|
||
"owner_agent": "nemotron",
|
||
"status": "planned_no_write",
|
||
"rollback_owner": "ai_quality_owner",
|
||
"required_steps": [
|
||
"snapshot_score_before",
|
||
"verify_score_delta",
|
||
"prepare_reversal_score",
|
||
"owner_acceptance_required"
|
||
],
|
||
"failure_if_missing": "評分回滾沒有 dry-run parity 前,只能停留在 fixture 層。",
|
||
"rollback_write_enabled": false,
|
||
"creates_runtime_write": false
|
||
},
|
||
{
|
||
"lane_id": "learning_write_rollback_drill",
|
||
"display_name": "learning write rollback drill",
|
||
"owner_agent": "hermes",
|
||
"status": "blocked_by_policy",
|
||
"rollback_owner": "knowledge_owner",
|
||
"required_steps": [
|
||
"extract_learning_candidate",
|
||
"review_source_incident",
|
||
"prepare_reversal_note",
|
||
"owner_review_required"
|
||
],
|
||
"failure_if_missing": "學習寫入涉及 KM 固化,沒有 owner review 前不可建立 rollback work item。",
|
||
"rollback_write_enabled": false,
|
||
"creates_runtime_write": false
|
||
},
|
||
{
|
||
"lane_id": "telegram_receipt_rollback_drill",
|
||
"display_name": "Telegram failure receipt rollback drill",
|
||
"owner_agent": "openclaw",
|
||
"status": "blocked_by_policy",
|
||
"rollback_owner": "sre_notification_owner",
|
||
"required_steps": [
|
||
"dedupe_receipt_candidate",
|
||
"verify_route_lock",
|
||
"prepare_suppression_key",
|
||
"owner_acceptance_required"
|
||
],
|
||
"failure_if_missing": "失敗收據未通過 dedupe 與路由鎖定時,不得發送或回寫 queue。",
|
||
"rollback_write_enabled": false,
|
||
"creates_runtime_write": false
|
||
}
|
||
],
|
||
"telegram_failure_receipt_gates": [
|
||
{
|
||
"gate_id": "receipt_payload_redaction",
|
||
"display_name": "Telegram failure receipt redaction gate",
|
||
"owner_agent": "openclaw",
|
||
"status": "ready_for_owner_review",
|
||
"required_evidence": [
|
||
"incident_id",
|
||
"failure_lane_id",
|
||
"next_action",
|
||
"blocked_reason",
|
||
"public_evidence_refs"
|
||
],
|
||
"failure_if_missing": "缺少 redaction digest 時不得建立失敗收據。",
|
||
"queue_write_enabled": false,
|
||
"telegram_send_enabled": false,
|
||
"bot_api_call_enabled": false,
|
||
"evidence_hash": "sha256:aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"
|
||
},
|
||
{
|
||
"gate_id": "sre_war_room_route_lock",
|
||
"display_name": "AwoooI SRE 戰情室路由鎖定",
|
||
"owner_agent": "openclaw",
|
||
"status": "ready_for_owner_review",
|
||
"required_evidence": [
|
||
"route_id",
|
||
"channel_policy",
|
||
"legacy_route_suppression",
|
||
"dedupe_key"
|
||
],
|
||
"failure_if_missing": "沒有路由鎖定與 legacy route suppression,不得送出 failure receipt。",
|
||
"queue_write_enabled": false,
|
||
"telegram_send_enabled": false,
|
||
"bot_api_call_enabled": false,
|
||
"evidence_hash": "sha256:bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb"
|
||
},
|
||
{
|
||
"gate_id": "delivery_correlation",
|
||
"display_name": "失敗收據 delivery correlation gate",
|
||
"owner_agent": "hermes",
|
||
"status": "blocked_by_policy",
|
||
"required_evidence": [
|
||
"message_correlation_id",
|
||
"incident_timeline_id",
|
||
"owner_review_id",
|
||
"readback_plan_id"
|
||
],
|
||
"failure_if_missing": "delivery correlation 未設計完成時,不得宣稱告警鏈路打通。",
|
||
"queue_write_enabled": false,
|
||
"telegram_send_enabled": false,
|
||
"bot_api_call_enabled": false,
|
||
"evidence_hash": "sha256:cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc"
|
||
},
|
||
{
|
||
"gate_id": "duplicate_suppression",
|
||
"display_name": "失敗收據重複抑制 gate",
|
||
"owner_agent": "openclaw",
|
||
"status": "ready_for_owner_review",
|
||
"required_evidence": [
|
||
"fingerprint",
|
||
"recurrence_window",
|
||
"suppression_reason",
|
||
"last_receipt_state"
|
||
],
|
||
"failure_if_missing": "缺少 dedupe / recurrence window 時只能進 reviewer queue preview,不得發 Telegram。",
|
||
"queue_write_enabled": false,
|
||
"telegram_send_enabled": false,
|
||
"bot_api_call_enabled": false,
|
||
"evidence_hash": "sha256:dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd"
|
||
}
|
||
],
|
||
"operator_actions": [
|
||
{
|
||
"action_id": "op_review_runtime_readback_package",
|
||
"action_type": "review_approval_package",
|
||
"display_name": "審查 runtime readback 批准包",
|
||
"owner_agent": "openclaw",
|
||
"operator_instruction": "先確認五個批准包是否都有 owner、欄位、rollback owner 與 blocked actions,再判定是否可進 P2-109。",
|
||
"runtime_write_allowed": false
|
||
},
|
||
{
|
||
"action_id": "op_validate_canonical_readback_plan",
|
||
"action_type": "validate_canonical_plan",
|
||
"display_name": "檢查 canonical readback plan",
|
||
"owner_agent": "nemotron",
|
||
"operator_instruction": "比對 readback 欄位、redaction check 與 evidence hash;未通過時只退回設計,不讀 live target。",
|
||
"runtime_write_allowed": false
|
||
},
|
||
{
|
||
"action_id": "op_review_rollback_drill",
|
||
"action_type": "review_rollback_drill",
|
||
"display_name": "審查 rollback drill",
|
||
"owner_agent": "hermes",
|
||
"operator_instruction": "確認每條 rollback lane 都有 owner、步驟與失敗條件;沒有 acceptance record 不建立 work item。",
|
||
"runtime_write_allowed": false
|
||
},
|
||
{
|
||
"action_id": "op_review_failure_receipt_gate",
|
||
"action_type": "review_failure_receipt_gate",
|
||
"display_name": "審查 Telegram 失敗收據閘門",
|
||
"owner_agent": "openclaw",
|
||
"operator_instruction": "確認只允許 AwoooI SRE 戰情室、具備 dedupe 與 correlation;本階段不得發送。",
|
||
"runtime_write_allowed": false
|
||
},
|
||
{
|
||
"action_id": "op_reject_or_promote_p2_109",
|
||
"action_type": "reject_or_promote",
|
||
"display_name": "退回或推進 P2-109",
|
||
"owner_agent": "openclaw",
|
||
"operator_instruction": "若批准包、readback plan、rollback drill、failure receipt gate 都完整,才可建立下一關 無寫入 implementation review。",
|
||
"runtime_write_allowed": false
|
||
}
|
||
],
|
||
"display_redaction_contract": {
|
||
"redaction_required": true,
|
||
"frontend_display_policy": "只顯示 owner-safe summary、redacted evidence hash、count 與 blocked action;不顯示內部協作原文、機密值、原始 Telegram payload 或 provider 私有推理。",
|
||
"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
|
||
},
|
||
"rollups": {
|
||
"approval_packet_count": 5,
|
||
"canonical_readback_plan_count": 4,
|
||
"rollback_drill_lane_count": 4,
|
||
"telegram_failure_receipt_gate_count": 4,
|
||
"operator_action_count": 5,
|
||
"approval_required_packet_count": 3,
|
||
"blocked_packet_count": 1,
|
||
"blocked_readback_plan_count": 1,
|
||
"blocked_rollback_lane_count": 2,
|
||
"blocked_telegram_gate_count": 1,
|
||
"approved_without_execution_meta_24h": 63,
|
||
"execution_failed_with_matched_24h": 1,
|
||
"owner_approval_received_count": 0,
|
||
"runtime_readback_execution_count": 0,
|
||
"result_capture_write_count": 0,
|
||
"score_write_count": 0,
|
||
"learning_write_count": 0,
|
||
"playbook_trust_write_count": 0,
|
||
"reviewer_queue_write_count": 0,
|
||
"gateway_queue_write_count": 0,
|
||
"telegram_failure_receipt_send_count": 0,
|
||
"bot_api_call_count": 0,
|
||
"rollback_work_item_write_count": 0,
|
||
"production_write_count": 0,
|
||
"secret_read_count": 0,
|
||
"destructive_operation_count": 0
|
||
}
|
||
}
|