feat(governance): 新增 P2-143 owner response 預檢
This commit is contained in:
@@ -0,0 +1,394 @@
|
||||
{
|
||||
"schema_version": "ai_agent_result_capture_release_decision_owner_response_preflight_v1",
|
||||
"generated_at": "2026-06-14T14:10:00+08:00",
|
||||
"program_status": {
|
||||
"overall_completion_percent": 100,
|
||||
"current_priority": "P2",
|
||||
"current_task_id": "P2-143",
|
||||
"next_task_id": "P2-144",
|
||||
"read_only_mode": true,
|
||||
"runtime_authority": "result_capture_release_decision_owner_response_preflight_only_no_live_write",
|
||||
"status_note": "P2-143 在 P2-142 War Room 基線後,只把 P2-141 決策輸入準備包轉成 owner response 預檢與拒收邊界;不得把預檢視為正式收件、批准、驗證通過、維護窗口核准、Gateway 寫入、Telegram 送出或 production target 寫入。"
|
||||
},
|
||||
"source_refs": [
|
||||
"docs/evaluations/ai_agent_12_agent_war_room_2026-06-14.json",
|
||||
"docs/evaluations/ai_agent_result_capture_release_decision_input_prep_2026-06-14.json",
|
||||
"docs/superpowers/specs/2026-04-15-MASTER-ai-autonomous-flywheel-v2.md#62-建立-release-decision-input-prep",
|
||||
"docs/HARD_RULES.md#iwooos-security-governance"
|
||||
],
|
||||
"prior_decision_input_prep": {
|
||||
"schema_version": "ai_agent_result_capture_release_decision_input_prep_v1",
|
||||
"current_task_id": "P2-141",
|
||||
"next_task_id": "P2-142",
|
||||
"decision_input_packet_count": 5,
|
||||
"missing_input_field_count": 18,
|
||||
"blocked_input_transition_count": 6,
|
||||
"operator_action_count": 5,
|
||||
"approval_required_subtotal": 12,
|
||||
"blocked_and_critical_subtotal": 12,
|
||||
"readiness_note": "P2-141 已固定 owner release、verifier、rollback owner、maintenance window、live apply 五類決策輸入與 18 個缺欄位;P2-143 只能做預檢與拒收邊界,不得接收未遮罩 payload 或釋放 writer。",
|
||||
"owner_release_authorized_count": 0,
|
||||
"owner_release_approved_count": 0,
|
||||
"owner_review_approved_count": 0,
|
||||
"owner_decision_approved_count": 0,
|
||||
"verifier_decision_approved_count": 0,
|
||||
"maintenance_window_approved_count": 0,
|
||||
"rollback_owner_confirmed_count": 0,
|
||||
"post_release_verifier_ready_count": 0,
|
||||
"final_release_candidate_approved_count": 0,
|
||||
"final_release_candidate_pass_count": 0,
|
||||
"release_decision_pass_count": 0,
|
||||
"release_authorization_granted_count": 0,
|
||||
"release_authorization_pass_count": 0,
|
||||
"rollback_release_pass_count": 0,
|
||||
"live_apply_release_pass_count": 0,
|
||||
"writer_apply_count": 0,
|
||||
"execution_apply_count": 0,
|
||||
"receipt_write_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
|
||||
},
|
||||
"owner_response_preflight_truth": {
|
||||
"p2_141_input_prep_loaded": true,
|
||||
"p2_142_war_room_baseline_preserved": true,
|
||||
"required_owner_fields_declared": true,
|
||||
"required_verifier_fields_declared": true,
|
||||
"required_rollback_fields_declared": true,
|
||||
"required_maintenance_window_fields_declared": true,
|
||||
"required_live_apply_fields_declared": true,
|
||||
"redaction_contract_loaded": true,
|
||||
"preflight_only_mode": true,
|
||||
"no_raw_payload_required": true,
|
||||
"rejection_policy_active": true,
|
||||
"truth_note": "P2-143 只建立 owner response 進入前的預檢與拒收條件;P2-142 War Room 基線維持不變,沒有收到、接受、拒絕或保存任何正式回覆,也沒有啟動 reviewer、Gateway、Telegram、Bot API、learning 或 production 寫入。",
|
||||
"owner_response_received": false,
|
||||
"owner_response_accepted": false,
|
||||
"owner_response_rejected": false,
|
||||
"redacted_payload_ingested": false,
|
||||
"owner_release_authorized": false,
|
||||
"owner_release_approved": false,
|
||||
"owner_review_approved": false,
|
||||
"owner_decision_approved": false,
|
||||
"verifier_decision_approved": false,
|
||||
"maintenance_window_approved": false,
|
||||
"rollback_owner_confirmed": false,
|
||||
"post_release_verifier_ready": false,
|
||||
"final_release_candidate_approved": false,
|
||||
"final_release_candidate_passed": false,
|
||||
"release_decision_passed": false,
|
||||
"release_authorization_granted": false,
|
||||
"release_authorization_passed": false,
|
||||
"rollback_release_passed": false,
|
||||
"live_apply_release_passed": false,
|
||||
"writer_apply_enabled": false,
|
||||
"execution_apply_enabled": false,
|
||||
"receipt_write_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_response_received_count": 0,
|
||||
"owner_response_accepted_count": 0,
|
||||
"owner_response_rejected_count": 0,
|
||||
"redacted_payload_ingested_count": 0,
|
||||
"owner_release_authorized_count": 0,
|
||||
"owner_release_approved_count": 0,
|
||||
"owner_review_approved_count": 0,
|
||||
"owner_decision_approved_count": 0,
|
||||
"verifier_decision_approved_count": 0,
|
||||
"maintenance_window_approved_count": 0,
|
||||
"rollback_owner_confirmed_count": 0,
|
||||
"post_release_verifier_ready_count": 0,
|
||||
"final_release_candidate_approved_count": 0,
|
||||
"final_release_candidate_pass_count": 0,
|
||||
"release_decision_pass_count": 0,
|
||||
"release_authorization_granted_count": 0,
|
||||
"release_authorization_pass_count": 0,
|
||||
"rollback_release_pass_count": 0,
|
||||
"live_apply_release_pass_count": 0,
|
||||
"writer_apply_count": 0,
|
||||
"execution_apply_count": 0,
|
||||
"receipt_write_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
|
||||
},
|
||||
"response_intake_lanes": [
|
||||
{
|
||||
"lane_id": "owner_release_response_preflight",
|
||||
"display_name": "Owner release 回覆預檢",
|
||||
"source_packet_id": "decision_input_owner_release",
|
||||
"owner_agent": "openclaw",
|
||||
"current_task_id": "P2-143",
|
||||
"target_next_task_id": "P2-144",
|
||||
"intake_status": "waiting_for_external_owner_response",
|
||||
"required_fields": [
|
||||
"owner_role_team",
|
||||
"owner_decision",
|
||||
"decision_reason",
|
||||
"affected_scope",
|
||||
"redacted_evidence_refs",
|
||||
"followup_owner"
|
||||
],
|
||||
"preflight_summary": "僅允許 owner 角色 / 團隊、明確決策、理由、影響範圍、遮罩 evidence refs 與 follow-up owner 進入下一步;缺任一欄位即維持 blocked。",
|
||||
"accepted": false,
|
||||
"redacted_payload_ingested": false,
|
||||
"runtime_write_allowed": false,
|
||||
"telegram_send_allowed": false,
|
||||
"evidence_hash": "sha256:8b8f35b415489320f977a2e02aa56adaf11a9571a3e4cfe88aa6f257215970c3"
|
||||
},
|
||||
{
|
||||
"lane_id": "verifier_response_preflight",
|
||||
"display_name": "Verifier 回覆預檢",
|
||||
"source_packet_id": "decision_input_verifier",
|
||||
"owner_agent": "openclaw",
|
||||
"current_task_id": "P2-143",
|
||||
"target_next_task_id": "P2-144",
|
||||
"intake_status": "waiting_for_external_owner_response",
|
||||
"required_fields": ["verifier_scope", "verification_criteria", "failure_escalation"],
|
||||
"preflight_summary": "只檢查 verifier scope、驗證準則與失敗升級條件是否齊備;不得啟動 verifier runtime。",
|
||||
"accepted": false,
|
||||
"redacted_payload_ingested": false,
|
||||
"runtime_write_allowed": false,
|
||||
"telegram_send_allowed": false,
|
||||
"evidence_hash": "sha256:cb9f1e92f141d49fc8dbb66db1730a0bd596a9f5c7d4811d8525066410b3a269"
|
||||
},
|
||||
{
|
||||
"lane_id": "rollback_owner_response_preflight",
|
||||
"display_name": "Rollback owner 回覆預檢",
|
||||
"source_packet_id": "decision_input_rollback_owner",
|
||||
"owner_agent": "hermes",
|
||||
"current_task_id": "P2-143",
|
||||
"target_next_task_id": "P2-144",
|
||||
"intake_status": "waiting_for_external_owner_response",
|
||||
"required_fields": ["rollback_owner", "rollback_condition", "rollback_validation_plan"],
|
||||
"preflight_summary": "只檢查 rollback owner、回滾條件與驗證計畫是否齊備;不得確認 rollback owner 或執行回滾。",
|
||||
"accepted": false,
|
||||
"redacted_payload_ingested": false,
|
||||
"runtime_write_allowed": false,
|
||||
"telegram_send_allowed": false,
|
||||
"evidence_hash": "sha256:fdf91190ca41e61e3ca94f36f21d71e7f66aa5820927c0279eb61a51100bcbdd"
|
||||
},
|
||||
{
|
||||
"lane_id": "maintenance_window_response_preflight",
|
||||
"display_name": "維護窗口回覆預檢",
|
||||
"source_packet_id": "decision_input_maintenance_window",
|
||||
"owner_agent": "openclaw",
|
||||
"current_task_id": "P2-143",
|
||||
"target_next_task_id": "P2-144",
|
||||
"intake_status": "waiting_for_external_owner_response",
|
||||
"required_fields": ["maintenance_window", "impact_scope", "notification_plan"],
|
||||
"preflight_summary": "只檢查維護時間、影響範圍與通知計畫是否齊備;不得批准維護窗口或送出通知。",
|
||||
"accepted": false,
|
||||
"redacted_payload_ingested": false,
|
||||
"runtime_write_allowed": false,
|
||||
"telegram_send_allowed": false,
|
||||
"evidence_hash": "sha256:293c2e57ac83fd6404ddc2cb6756307370096296ac9eb421772017456df9aa92"
|
||||
},
|
||||
{
|
||||
"lane_id": "live_apply_response_preflight",
|
||||
"display_name": "正式套用回覆預檢",
|
||||
"source_packet_id": "decision_input_live_apply",
|
||||
"owner_agent": "openclaw",
|
||||
"current_task_id": "P2-143",
|
||||
"target_next_task_id": "P2-144",
|
||||
"intake_status": "waiting_for_external_owner_response",
|
||||
"required_fields": ["live_apply_strategy", "stop_condition", "acceptance_evidence"],
|
||||
"preflight_summary": "只檢查正式套用策略、停止條件與驗收證據是否齊備;不得釋放 writer 或 execution apply。",
|
||||
"accepted": false,
|
||||
"redacted_payload_ingested": false,
|
||||
"runtime_write_allowed": false,
|
||||
"telegram_send_allowed": false,
|
||||
"evidence_hash": "sha256:5e24d2fa48f38c73e3cbf25e7752df1666f1cd8cd6eb225432dd4ae9933f9332"
|
||||
}
|
||||
],
|
||||
"intake_validation_checks": [
|
||||
{
|
||||
"check_id": "owner_identity_and_decision_fields_required",
|
||||
"status": "waiting_for_owner_response",
|
||||
"requirement": "owner role / team、decision、decision reason、affected scope、redacted evidence refs、followup owner 必須同時存在。",
|
||||
"runtime_write_allowed": false
|
||||
},
|
||||
{
|
||||
"check_id": "redacted_evidence_refs_only",
|
||||
"status": "not_satisfied",
|
||||
"requirement": "只接受遮罩 evidence refs,不接受敏感值、token、private key、cookie、驗證標頭或未遮罩 runtime 資料。",
|
||||
"runtime_write_allowed": false
|
||||
},
|
||||
{
|
||||
"check_id": "verifier_and_failure_escalation_required",
|
||||
"status": "not_satisfied",
|
||||
"requirement": "verifier scope、verification criteria 與 failure escalation 必須齊備,才能進入下一個只讀 readback。",
|
||||
"runtime_write_allowed": false
|
||||
},
|
||||
{
|
||||
"check_id": "rollback_owner_and_maintenance_window_required",
|
||||
"status": "not_satisfied",
|
||||
"requirement": "rollback owner、rollback condition、maintenance window、impact scope 與 notification plan 必須齊備;本關卡不批准維護窗口。",
|
||||
"runtime_write_allowed": false
|
||||
},
|
||||
{
|
||||
"check_id": "live_apply_requires_stop_and_acceptance",
|
||||
"status": "not_satisfied",
|
||||
"requirement": "live apply strategy、stop condition 與 acceptance evidence 必須齊備;本關卡不釋放 writer。",
|
||||
"runtime_write_allowed": false
|
||||
},
|
||||
{
|
||||
"check_id": "awooop_approval_not_security_approval",
|
||||
"status": "blocked_by_policy",
|
||||
"requirement": "AwoooP approval、UI 可見、CD success 或 smoke pass 不得被視為 IwoooS 資安批准或 runtime 授權。",
|
||||
"runtime_write_allowed": false
|
||||
}
|
||||
],
|
||||
"rejection_guards": [
|
||||
{
|
||||
"guard_id": "reject_raw_secret_material",
|
||||
"status": "active",
|
||||
"reason": "含敏感值、token、private key、cookie、驗證標頭、runner token、webhook secret 或未遮罩 runtime 資料時必須拒收。",
|
||||
"runtime_write_allowed": false
|
||||
},
|
||||
{
|
||||
"guard_id": "reject_missing_owner_identity",
|
||||
"status": "active",
|
||||
"reason": "缺 owner role / team 或 follow-up owner 時必須拒收,不得以口頭批准補位。",
|
||||
"runtime_write_allowed": false
|
||||
},
|
||||
{
|
||||
"guard_id": "reject_missing_decision_reason_scope",
|
||||
"status": "active",
|
||||
"reason": "缺 decision、decision reason 或 affected scope 時必須拒收。",
|
||||
"runtime_write_allowed": false
|
||||
},
|
||||
{
|
||||
"guard_id": "reject_unredacted_evidence_refs",
|
||||
"status": "active",
|
||||
"reason": "缺遮罩 evidence refs 或 evidence refs 可回推出敏感值時必須拒收。",
|
||||
"runtime_write_allowed": false
|
||||
},
|
||||
{
|
||||
"guard_id": "reject_execution_request",
|
||||
"status": "active",
|
||||
"reason": "owner response 若要求直接執行、寫入、發送、reload、restart、active scan 或 production apply,本關卡必須拒收並維持 runtime gate 0。",
|
||||
"runtime_write_allowed": false
|
||||
},
|
||||
{
|
||||
"guard_id": "reject_approval_source_confusion",
|
||||
"status": "active",
|
||||
"reason": "AwoooP approval、治理頁卡片、候選可見或部署成功不得替代 IwoooS 資安批准。",
|
||||
"runtime_write_allowed": false
|
||||
}
|
||||
],
|
||||
"operator_actions": [
|
||||
{
|
||||
"action_id": "prepare_owner_response_preflight_checklist",
|
||||
"owner_agent": "openclaw",
|
||||
"status": "ready_for_operator_review",
|
||||
"operator_instruction": "準備 owner response 預檢 checklist;不得記錄 secret、不得把預檢當成正式收件。",
|
||||
"runtime_write_allowed": false
|
||||
},
|
||||
{
|
||||
"action_id": "prepare_redacted_evidence_ref_review",
|
||||
"owner_agent": "openclaw",
|
||||
"status": "ready_for_operator_review",
|
||||
"operator_instruction": "準備遮罩 evidence refs 審查欄位;只允許 refs 與證據摘要,不保存敏感值。",
|
||||
"runtime_write_allowed": false
|
||||
},
|
||||
{
|
||||
"action_id": "prepare_verifier_acceptance_boundary",
|
||||
"owner_agent": "openclaw",
|
||||
"status": "approval_required",
|
||||
"operator_instruction": "整理 verifier scope、criteria 與 failure escalation 邊界;不得啟動 verifier runtime。",
|
||||
"runtime_write_allowed": false
|
||||
},
|
||||
{
|
||||
"action_id": "prepare_rollback_maintenance_crosscheck",
|
||||
"owner_agent": "hermes",
|
||||
"status": "approval_required",
|
||||
"operator_instruction": "整理 rollback owner、maintenance window 與 notification plan 的交叉檢查;不得批准維護窗口。",
|
||||
"runtime_write_allowed": false
|
||||
},
|
||||
{
|
||||
"action_id": "prepare_p2_144_owner_response_readback",
|
||||
"owner_agent": "openclaw",
|
||||
"status": "ready_for_operator_review",
|
||||
"operator_instruction": "下一關只能建立 owner response readback;不得寫 reviewer queue、Gateway queue、Telegram、Bot API、learning 或 production target。",
|
||||
"runtime_write_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": "前端只能顯示預檢摘要、必填欄位、拒收規則、只讀狀態與遮罩 evidence hash;不得顯示非公開溝通、未脫敏指令、推理草稿、敏感值、驗證標頭或未遮罩 runtime 資料。"
|
||||
},
|
||||
"rollups": {
|
||||
"response_intake_lane_count": 5,
|
||||
"required_owner_field_count": 18,
|
||||
"intake_validation_check_count": 6,
|
||||
"rejection_guard_count": 6,
|
||||
"operator_action_count": 5,
|
||||
"waiting_external_response_count": 5,
|
||||
"approval_required_subtotal": 12,
|
||||
"blocked_and_critical_subtotal": 12,
|
||||
"owner_response_received_count": 0,
|
||||
"owner_response_accepted_count": 0,
|
||||
"owner_response_rejected_count": 0,
|
||||
"redacted_payload_ingested_count": 0,
|
||||
"owner_release_authorized_count": 0,
|
||||
"owner_release_approved_count": 0,
|
||||
"owner_review_approved_count": 0,
|
||||
"owner_decision_approved_count": 0,
|
||||
"verifier_decision_approved_count": 0,
|
||||
"maintenance_window_approved_count": 0,
|
||||
"rollback_owner_confirmed_count": 0,
|
||||
"post_release_verifier_ready_count": 0,
|
||||
"final_release_candidate_approved_count": 0,
|
||||
"final_release_candidate_pass_count": 0,
|
||||
"release_decision_pass_count": 0,
|
||||
"release_authorization_granted_count": 0,
|
||||
"release_authorization_pass_count": 0,
|
||||
"rollback_release_pass_count": 0,
|
||||
"live_apply_release_pass_count": 0,
|
||||
"writer_apply_count": 0,
|
||||
"execution_apply_count": 0,
|
||||
"receipt_write_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
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user