2594 lines
92 KiB
JSON
2594 lines
92 KiB
JSON
{
|
||
"blocked_actions": [
|
||
"ssh_read",
|
||
"ssh_write",
|
||
"live_host_read",
|
||
"docker_ps_live_read",
|
||
"docker_compose_up",
|
||
"docker_compose_down",
|
||
"docker_compose_pull",
|
||
"docker_restart",
|
||
"docker_kill",
|
||
"systemctl_restart",
|
||
"systemctl_reload",
|
||
"systemctl_kill",
|
||
"repair_bot_execute",
|
||
"ansible_apply",
|
||
"sudo_action",
|
||
"host_file_write",
|
||
"firewall_change",
|
||
"port_change",
|
||
"route_smoke",
|
||
"public_gateway_reload",
|
||
"nginx_reload",
|
||
"active_scan",
|
||
"secret_value_collection",
|
||
"raw_live_config_storage",
|
||
"raw_docker_log_storage",
|
||
"raw_journal_storage",
|
||
"raw_env_dump_storage",
|
||
"accept_restart_without_actor",
|
||
"accept_restart_without_window",
|
||
"accept_restart_without_rollback",
|
||
"accept_recovery_without_postcheck",
|
||
"accept_service_healthy_as_config_accepted",
|
||
"skip_dependency_map_review",
|
||
"skip_port_binding_review",
|
||
"skip_cold_start_sequence",
|
||
"hide_daemon_runner_contention",
|
||
"mark_change_evidence_accepted_without_reviewer_record",
|
||
"open_runtime_gate",
|
||
"add_action_button"
|
||
],
|
||
"change_evidence_candidates": [
|
||
{
|
||
"action_buttons_allowed": false,
|
||
"active_scan_authorized": false,
|
||
"actor_identified": false,
|
||
"actor_role_or_team": "pending_change_evidence",
|
||
"admin_route_recovery_accepted": false,
|
||
"admin_route_recovery_refs": [],
|
||
"affected_scope": "pending_change_evidence",
|
||
"after_service_state_accepted": false,
|
||
"after_service_state_ref": null,
|
||
"agent_provider_health_accepted": false,
|
||
"agent_provider_health_refs": [],
|
||
"ansible_apply_authorized": false,
|
||
"backup_job_overlap_ref": null,
|
||
"before_service_state_accepted": false,
|
||
"before_service_state_ref": null,
|
||
"blocked_actions": [
|
||
"ssh_read",
|
||
"ssh_write",
|
||
"live_host_read",
|
||
"docker_ps_live_read",
|
||
"docker_compose_up",
|
||
"docker_compose_down",
|
||
"docker_compose_pull",
|
||
"docker_restart",
|
||
"docker_kill",
|
||
"systemctl_restart",
|
||
"systemctl_reload",
|
||
"systemctl_kill",
|
||
"repair_bot_execute",
|
||
"ansible_apply",
|
||
"sudo_action",
|
||
"host_file_write",
|
||
"firewall_change",
|
||
"port_change",
|
||
"route_smoke",
|
||
"public_gateway_reload",
|
||
"nginx_reload",
|
||
"active_scan",
|
||
"secret_value_collection",
|
||
"raw_live_config_storage",
|
||
"raw_docker_log_storage",
|
||
"raw_journal_storage",
|
||
"raw_env_dump_storage",
|
||
"accept_restart_without_actor",
|
||
"accept_restart_without_window",
|
||
"accept_restart_without_rollback",
|
||
"accept_recovery_without_postcheck",
|
||
"accept_service_healthy_as_config_accepted",
|
||
"skip_dependency_map_review",
|
||
"skip_port_binding_review",
|
||
"skip_cold_start_sequence",
|
||
"hide_daemon_runner_contention",
|
||
"mark_change_evidence_accepted_without_reviewer_record",
|
||
"open_runtime_gate",
|
||
"add_action_button"
|
||
],
|
||
"boot_or_restart_window_accepted": false,
|
||
"boot_or_restart_window_ref": null,
|
||
"change_evidence_accepted": false,
|
||
"change_evidence_candidate_id": "host_service_change_evidence:local_dev_compose",
|
||
"change_evidence_fields": [
|
||
"change_evidence_candidate_id",
|
||
"source_acceptance_candidate_id",
|
||
"surface_id",
|
||
"label",
|
||
"expected_host_scope",
|
||
"config_kind",
|
||
"service_scope",
|
||
"control_tier",
|
||
"write_capable_surface",
|
||
"requires_live_evidence",
|
||
"change_or_incident_ref",
|
||
"actor_role_or_team",
|
||
"decision",
|
||
"decision_reason",
|
||
"affected_scope",
|
||
"boot_or_restart_window_ref",
|
||
"before_service_state_ref",
|
||
"after_service_state_ref",
|
||
"docker_daemon_state_ref",
|
||
"compose_stack_state_ref",
|
||
"systemd_unit_state_ref",
|
||
"failed_unit_review_ref",
|
||
"port_binding_state_ref",
|
||
"network_gateway_impact_ref",
|
||
"dependency_impact_ref",
|
||
"cold_start_sequence_ref",
|
||
"runner_or_repair_bot_contention_ref",
|
||
"backup_job_overlap_ref",
|
||
"public_route_recovery_refs",
|
||
"admin_route_recovery_refs",
|
||
"agent_provider_health_refs",
|
||
"monitoring_alert_refs",
|
||
"operator_notification_refs",
|
||
"cross_project_sync_ref",
|
||
"customer_impact_ref",
|
||
"incident_severity",
|
||
"restoration_time_ref",
|
||
"maintenance_window",
|
||
"rollback_owner",
|
||
"rollback_plan_ref",
|
||
"postcheck_evidence_refs",
|
||
"change_freeze_rule",
|
||
"reviewer_outcome",
|
||
"followup_owner",
|
||
"not_approval"
|
||
],
|
||
"change_evidence_quarantined": false,
|
||
"change_evidence_received": false,
|
||
"change_evidence_rejected": false,
|
||
"change_freeze_rule": "pending_change_evidence",
|
||
"change_or_incident_ref": null,
|
||
"cold_start_sequence_accepted": false,
|
||
"cold_start_sequence_ref": null,
|
||
"compose_stack_state_accepted": false,
|
||
"compose_stack_state_ref": null,
|
||
"config_kind": "docker_compose_source",
|
||
"control_tier": "C1",
|
||
"cross_project_sync_accepted": false,
|
||
"cross_project_sync_ref": null,
|
||
"customer_impact_ref": null,
|
||
"decision": "pending_change_evidence",
|
||
"decision_reason": "pending_change_evidence",
|
||
"dependency_impact_accepted": false,
|
||
"dependency_impact_ref": null,
|
||
"docker_compose_action_authorized": false,
|
||
"docker_daemon_state_accepted": false,
|
||
"docker_daemon_state_ref": null,
|
||
"docker_restart_authorized": false,
|
||
"expected_host_scope": "local_dev_only",
|
||
"failed_unit_review_accepted": false,
|
||
"failed_unit_review_ref": null,
|
||
"followup_owner": "pending_change_evidence",
|
||
"host_write_authorized": false,
|
||
"incident_severity": "pending_change_evidence",
|
||
"label": "AWOOOI local development compose",
|
||
"live_host_read_authorized": false,
|
||
"maintenance_window": "pending_change_evidence",
|
||
"monitoring_alert_accepted": false,
|
||
"monitoring_alert_refs": [],
|
||
"network_gateway_impact_ref": null,
|
||
"not_approval": true,
|
||
"operator_notification_accepted": false,
|
||
"operator_notification_refs": [],
|
||
"outcome_lanes": [
|
||
"waiting_change_evidence",
|
||
"quarantine_secret_or_raw_payload",
|
||
"reject_unattributed_restart",
|
||
"request_recovery_supplement",
|
||
"incident_backfill_required",
|
||
"no_false_green_supplement_required",
|
||
"ready_for_host_service_review",
|
||
"owner_review_only_update",
|
||
"waiting_maintenance_window",
|
||
"waiting_runtime_gate"
|
||
],
|
||
"port_binding_state_accepted": false,
|
||
"port_binding_state_ref": null,
|
||
"postcheck_evidence_accepted": false,
|
||
"postcheck_evidence_refs": [],
|
||
"public_route_recovery_accepted": false,
|
||
"public_route_recovery_refs": [],
|
||
"recovery_supplement_requested": false,
|
||
"repair_bot_execution_authorized": false,
|
||
"required_evidence_fields": [
|
||
"change_or_incident_ref",
|
||
"actor_role_or_team",
|
||
"decision",
|
||
"decision_reason",
|
||
"affected_scope",
|
||
"boot_or_restart_window_ref",
|
||
"before_service_state_ref",
|
||
"after_service_state_ref",
|
||
"docker_daemon_state_ref",
|
||
"compose_stack_state_ref",
|
||
"systemd_unit_state_ref",
|
||
"failed_unit_review_ref",
|
||
"port_binding_state_ref",
|
||
"dependency_impact_ref",
|
||
"cold_start_sequence_ref",
|
||
"runner_or_repair_bot_contention_ref",
|
||
"public_route_recovery_refs",
|
||
"admin_route_recovery_refs",
|
||
"agent_provider_health_refs",
|
||
"monitoring_alert_refs",
|
||
"operator_notification_refs",
|
||
"cross_project_sync_ref",
|
||
"restoration_time_ref",
|
||
"rollback_owner",
|
||
"postcheck_evidence_refs"
|
||
],
|
||
"requires_live_evidence": false,
|
||
"restoration_time_accepted": false,
|
||
"restoration_time_ref": null,
|
||
"reviewer_checks": [
|
||
"change_ref_present",
|
||
"actor_role_traceable",
|
||
"decision_reason_present",
|
||
"affected_scope_matches_surface",
|
||
"boot_or_restart_window_present",
|
||
"before_after_service_state_present",
|
||
"docker_daemon_state_present",
|
||
"compose_stack_state_present",
|
||
"systemd_unit_state_present",
|
||
"failed_unit_review_present",
|
||
"port_binding_state_present",
|
||
"dependency_impact_present",
|
||
"cold_start_sequence_present",
|
||
"runner_repair_bot_contention_present",
|
||
"route_recovery_evidence_present",
|
||
"agent_provider_health_present",
|
||
"monitoring_alert_ref_present",
|
||
"operator_notification_present",
|
||
"cross_project_sync_present",
|
||
"restoration_time_present",
|
||
"rollback_owner_present",
|
||
"postcheck_evidence_present",
|
||
"secret_or_raw_payload_absent",
|
||
"no_false_green_service_health",
|
||
"no_runtime_authorization",
|
||
"counts_transition_safe"
|
||
],
|
||
"reviewer_outcome": "waiting_change_evidence",
|
||
"rollback_owner": "pending_change_evidence",
|
||
"rollback_owner_accepted": false,
|
||
"rollback_plan_ref": null,
|
||
"route_smoke_authorized": false,
|
||
"runner_or_repair_bot_contention_accepted": false,
|
||
"runner_or_repair_bot_contention_ref": null,
|
||
"runtime_gate": false,
|
||
"secret_value_collection_allowed": false,
|
||
"service_scope": [
|
||
"web",
|
||
"api",
|
||
"postgres",
|
||
"redis"
|
||
],
|
||
"source_acceptance_candidate_id": "host_service_owner_response_acceptance:local_dev_compose",
|
||
"ssh_read_authorized": false,
|
||
"ssh_write_authorized": false,
|
||
"status": "waiting_change_evidence",
|
||
"sudo_action_authorized": false,
|
||
"surface_id": "local_dev_compose",
|
||
"systemctl_action_authorized": false,
|
||
"systemd_unit_state_accepted": false,
|
||
"systemd_unit_state_ref": null,
|
||
"write_capable_surface": false
|
||
},
|
||
{
|
||
"action_buttons_allowed": false,
|
||
"active_scan_authorized": false,
|
||
"actor_identified": false,
|
||
"actor_role_or_team": "pending_change_evidence",
|
||
"admin_route_recovery_accepted": false,
|
||
"admin_route_recovery_refs": [],
|
||
"affected_scope": "pending_change_evidence",
|
||
"after_service_state_accepted": false,
|
||
"after_service_state_ref": null,
|
||
"agent_provider_health_accepted": false,
|
||
"agent_provider_health_refs": [],
|
||
"ansible_apply_authorized": false,
|
||
"backup_job_overlap_ref": null,
|
||
"before_service_state_accepted": false,
|
||
"before_service_state_ref": null,
|
||
"blocked_actions": [
|
||
"ssh_read",
|
||
"ssh_write",
|
||
"live_host_read",
|
||
"docker_ps_live_read",
|
||
"docker_compose_up",
|
||
"docker_compose_down",
|
||
"docker_compose_pull",
|
||
"docker_restart",
|
||
"docker_kill",
|
||
"systemctl_restart",
|
||
"systemctl_reload",
|
||
"systemctl_kill",
|
||
"repair_bot_execute",
|
||
"ansible_apply",
|
||
"sudo_action",
|
||
"host_file_write",
|
||
"firewall_change",
|
||
"port_change",
|
||
"route_smoke",
|
||
"public_gateway_reload",
|
||
"nginx_reload",
|
||
"active_scan",
|
||
"secret_value_collection",
|
||
"raw_live_config_storage",
|
||
"raw_docker_log_storage",
|
||
"raw_journal_storage",
|
||
"raw_env_dump_storage",
|
||
"accept_restart_without_actor",
|
||
"accept_restart_without_window",
|
||
"accept_restart_without_rollback",
|
||
"accept_recovery_without_postcheck",
|
||
"accept_service_healthy_as_config_accepted",
|
||
"skip_dependency_map_review",
|
||
"skip_port_binding_review",
|
||
"skip_cold_start_sequence",
|
||
"hide_daemon_runner_contention",
|
||
"mark_change_evidence_accepted_without_reviewer_record",
|
||
"open_runtime_gate",
|
||
"add_action_button"
|
||
],
|
||
"boot_or_restart_window_accepted": false,
|
||
"boot_or_restart_window_ref": null,
|
||
"change_evidence_accepted": false,
|
||
"change_evidence_candidate_id": "host_service_change_evidence:monitoring_110_compose",
|
||
"change_evidence_fields": [
|
||
"change_evidence_candidate_id",
|
||
"source_acceptance_candidate_id",
|
||
"surface_id",
|
||
"label",
|
||
"expected_host_scope",
|
||
"config_kind",
|
||
"service_scope",
|
||
"control_tier",
|
||
"write_capable_surface",
|
||
"requires_live_evidence",
|
||
"change_or_incident_ref",
|
||
"actor_role_or_team",
|
||
"decision",
|
||
"decision_reason",
|
||
"affected_scope",
|
||
"boot_or_restart_window_ref",
|
||
"before_service_state_ref",
|
||
"after_service_state_ref",
|
||
"docker_daemon_state_ref",
|
||
"compose_stack_state_ref",
|
||
"systemd_unit_state_ref",
|
||
"failed_unit_review_ref",
|
||
"port_binding_state_ref",
|
||
"network_gateway_impact_ref",
|
||
"dependency_impact_ref",
|
||
"cold_start_sequence_ref",
|
||
"runner_or_repair_bot_contention_ref",
|
||
"backup_job_overlap_ref",
|
||
"public_route_recovery_refs",
|
||
"admin_route_recovery_refs",
|
||
"agent_provider_health_refs",
|
||
"monitoring_alert_refs",
|
||
"operator_notification_refs",
|
||
"cross_project_sync_ref",
|
||
"customer_impact_ref",
|
||
"incident_severity",
|
||
"restoration_time_ref",
|
||
"maintenance_window",
|
||
"rollback_owner",
|
||
"rollback_plan_ref",
|
||
"postcheck_evidence_refs",
|
||
"change_freeze_rule",
|
||
"reviewer_outcome",
|
||
"followup_owner",
|
||
"not_approval"
|
||
],
|
||
"change_evidence_quarantined": false,
|
||
"change_evidence_received": false,
|
||
"change_evidence_rejected": false,
|
||
"change_freeze_rule": "pending_change_evidence",
|
||
"change_or_incident_ref": null,
|
||
"cold_start_sequence_accepted": false,
|
||
"cold_start_sequence_ref": null,
|
||
"compose_stack_state_accepted": false,
|
||
"compose_stack_state_ref": null,
|
||
"config_kind": "docker_compose_source",
|
||
"control_tier": "C1",
|
||
"cross_project_sync_accepted": false,
|
||
"cross_project_sync_ref": null,
|
||
"customer_impact_ref": null,
|
||
"decision": "pending_change_evidence",
|
||
"decision_reason": "pending_change_evidence",
|
||
"dependency_impact_accepted": false,
|
||
"dependency_impact_ref": null,
|
||
"docker_compose_action_authorized": false,
|
||
"docker_daemon_state_accepted": false,
|
||
"docker_daemon_state_ref": null,
|
||
"docker_restart_authorized": false,
|
||
"expected_host_scope": "192.168.0.110",
|
||
"failed_unit_review_accepted": false,
|
||
"failed_unit_review_ref": null,
|
||
"followup_owner": "pending_change_evidence",
|
||
"host_write_authorized": false,
|
||
"incident_severity": "pending_change_evidence",
|
||
"label": "110 monitoring docker compose",
|
||
"live_host_read_authorized": false,
|
||
"maintenance_window": "pending_change_evidence",
|
||
"monitoring_alert_accepted": false,
|
||
"monitoring_alert_refs": [],
|
||
"network_gateway_impact_ref": null,
|
||
"not_approval": true,
|
||
"operator_notification_accepted": false,
|
||
"operator_notification_refs": [],
|
||
"outcome_lanes": [
|
||
"waiting_change_evidence",
|
||
"quarantine_secret_or_raw_payload",
|
||
"reject_unattributed_restart",
|
||
"request_recovery_supplement",
|
||
"incident_backfill_required",
|
||
"no_false_green_supplement_required",
|
||
"ready_for_host_service_review",
|
||
"owner_review_only_update",
|
||
"waiting_maintenance_window",
|
||
"waiting_runtime_gate"
|
||
],
|
||
"port_binding_state_accepted": false,
|
||
"port_binding_state_ref": null,
|
||
"postcheck_evidence_accepted": false,
|
||
"postcheck_evidence_refs": [],
|
||
"public_route_recovery_accepted": false,
|
||
"public_route_recovery_refs": [],
|
||
"recovery_supplement_requested": false,
|
||
"repair_bot_execution_authorized": false,
|
||
"required_evidence_fields": [
|
||
"change_or_incident_ref",
|
||
"actor_role_or_team",
|
||
"decision",
|
||
"decision_reason",
|
||
"affected_scope",
|
||
"boot_or_restart_window_ref",
|
||
"before_service_state_ref",
|
||
"after_service_state_ref",
|
||
"docker_daemon_state_ref",
|
||
"compose_stack_state_ref",
|
||
"systemd_unit_state_ref",
|
||
"failed_unit_review_ref",
|
||
"port_binding_state_ref",
|
||
"dependency_impact_ref",
|
||
"cold_start_sequence_ref",
|
||
"runner_or_repair_bot_contention_ref",
|
||
"public_route_recovery_refs",
|
||
"admin_route_recovery_refs",
|
||
"agent_provider_health_refs",
|
||
"monitoring_alert_refs",
|
||
"operator_notification_refs",
|
||
"cross_project_sync_ref",
|
||
"restoration_time_ref",
|
||
"rollback_owner",
|
||
"postcheck_evidence_refs"
|
||
],
|
||
"requires_live_evidence": true,
|
||
"restoration_time_accepted": false,
|
||
"restoration_time_ref": null,
|
||
"reviewer_checks": [
|
||
"change_ref_present",
|
||
"actor_role_traceable",
|
||
"decision_reason_present",
|
||
"affected_scope_matches_surface",
|
||
"boot_or_restart_window_present",
|
||
"before_after_service_state_present",
|
||
"docker_daemon_state_present",
|
||
"compose_stack_state_present",
|
||
"systemd_unit_state_present",
|
||
"failed_unit_review_present",
|
||
"port_binding_state_present",
|
||
"dependency_impact_present",
|
||
"cold_start_sequence_present",
|
||
"runner_repair_bot_contention_present",
|
||
"route_recovery_evidence_present",
|
||
"agent_provider_health_present",
|
||
"monitoring_alert_ref_present",
|
||
"operator_notification_present",
|
||
"cross_project_sync_present",
|
||
"restoration_time_present",
|
||
"rollback_owner_present",
|
||
"postcheck_evidence_present",
|
||
"secret_or_raw_payload_absent",
|
||
"no_false_green_service_health",
|
||
"no_runtime_authorization",
|
||
"counts_transition_safe"
|
||
],
|
||
"reviewer_outcome": "waiting_change_evidence",
|
||
"rollback_owner": "pending_change_evidence",
|
||
"rollback_owner_accepted": false,
|
||
"rollback_plan_ref": null,
|
||
"route_smoke_authorized": false,
|
||
"runner_or_repair_bot_contention_accepted": false,
|
||
"runner_or_repair_bot_contention_ref": null,
|
||
"runtime_gate": false,
|
||
"secret_value_collection_allowed": false,
|
||
"service_scope": [
|
||
"cadvisor",
|
||
"prometheus",
|
||
"grafana",
|
||
"blackbox-exporter",
|
||
"alertmanager",
|
||
"github-exporter"
|
||
],
|
||
"source_acceptance_candidate_id": "host_service_owner_response_acceptance:monitoring_110_compose",
|
||
"ssh_read_authorized": false,
|
||
"ssh_write_authorized": false,
|
||
"status": "waiting_change_evidence",
|
||
"sudo_action_authorized": false,
|
||
"surface_id": "monitoring_110_compose",
|
||
"systemctl_action_authorized": false,
|
||
"systemd_unit_state_accepted": false,
|
||
"systemd_unit_state_ref": null,
|
||
"write_capable_surface": false
|
||
},
|
||
{
|
||
"action_buttons_allowed": false,
|
||
"active_scan_authorized": false,
|
||
"actor_identified": false,
|
||
"actor_role_or_team": "pending_change_evidence",
|
||
"admin_route_recovery_accepted": false,
|
||
"admin_route_recovery_refs": [],
|
||
"affected_scope": "pending_change_evidence",
|
||
"after_service_state_accepted": false,
|
||
"after_service_state_ref": null,
|
||
"agent_provider_health_accepted": false,
|
||
"agent_provider_health_refs": [],
|
||
"ansible_apply_authorized": false,
|
||
"backup_job_overlap_ref": null,
|
||
"before_service_state_accepted": false,
|
||
"before_service_state_ref": null,
|
||
"blocked_actions": [
|
||
"ssh_read",
|
||
"ssh_write",
|
||
"live_host_read",
|
||
"docker_ps_live_read",
|
||
"docker_compose_up",
|
||
"docker_compose_down",
|
||
"docker_compose_pull",
|
||
"docker_restart",
|
||
"docker_kill",
|
||
"systemctl_restart",
|
||
"systemctl_reload",
|
||
"systemctl_kill",
|
||
"repair_bot_execute",
|
||
"ansible_apply",
|
||
"sudo_action",
|
||
"host_file_write",
|
||
"firewall_change",
|
||
"port_change",
|
||
"route_smoke",
|
||
"public_gateway_reload",
|
||
"nginx_reload",
|
||
"active_scan",
|
||
"secret_value_collection",
|
||
"raw_live_config_storage",
|
||
"raw_docker_log_storage",
|
||
"raw_journal_storage",
|
||
"raw_env_dump_storage",
|
||
"accept_restart_without_actor",
|
||
"accept_restart_without_window",
|
||
"accept_restart_without_rollback",
|
||
"accept_recovery_without_postcheck",
|
||
"accept_service_healthy_as_config_accepted",
|
||
"skip_dependency_map_review",
|
||
"skip_port_binding_review",
|
||
"skip_cold_start_sequence",
|
||
"hide_daemon_runner_contention",
|
||
"mark_change_evidence_accepted_without_reviewer_record",
|
||
"open_runtime_gate",
|
||
"add_action_button"
|
||
],
|
||
"boot_or_restart_window_accepted": false,
|
||
"boot_or_restart_window_ref": null,
|
||
"change_evidence_accepted": false,
|
||
"change_evidence_candidate_id": "host_service_change_evidence:monitoring_exporters_188_compose",
|
||
"change_evidence_fields": [
|
||
"change_evidence_candidate_id",
|
||
"source_acceptance_candidate_id",
|
||
"surface_id",
|
||
"label",
|
||
"expected_host_scope",
|
||
"config_kind",
|
||
"service_scope",
|
||
"control_tier",
|
||
"write_capable_surface",
|
||
"requires_live_evidence",
|
||
"change_or_incident_ref",
|
||
"actor_role_or_team",
|
||
"decision",
|
||
"decision_reason",
|
||
"affected_scope",
|
||
"boot_or_restart_window_ref",
|
||
"before_service_state_ref",
|
||
"after_service_state_ref",
|
||
"docker_daemon_state_ref",
|
||
"compose_stack_state_ref",
|
||
"systemd_unit_state_ref",
|
||
"failed_unit_review_ref",
|
||
"port_binding_state_ref",
|
||
"network_gateway_impact_ref",
|
||
"dependency_impact_ref",
|
||
"cold_start_sequence_ref",
|
||
"runner_or_repair_bot_contention_ref",
|
||
"backup_job_overlap_ref",
|
||
"public_route_recovery_refs",
|
||
"admin_route_recovery_refs",
|
||
"agent_provider_health_refs",
|
||
"monitoring_alert_refs",
|
||
"operator_notification_refs",
|
||
"cross_project_sync_ref",
|
||
"customer_impact_ref",
|
||
"incident_severity",
|
||
"restoration_time_ref",
|
||
"maintenance_window",
|
||
"rollback_owner",
|
||
"rollback_plan_ref",
|
||
"postcheck_evidence_refs",
|
||
"change_freeze_rule",
|
||
"reviewer_outcome",
|
||
"followup_owner",
|
||
"not_approval"
|
||
],
|
||
"change_evidence_quarantined": false,
|
||
"change_evidence_received": false,
|
||
"change_evidence_rejected": false,
|
||
"change_freeze_rule": "pending_change_evidence",
|
||
"change_or_incident_ref": null,
|
||
"cold_start_sequence_accepted": false,
|
||
"cold_start_sequence_ref": null,
|
||
"compose_stack_state_accepted": false,
|
||
"compose_stack_state_ref": null,
|
||
"config_kind": "docker_compose_source",
|
||
"control_tier": "C1",
|
||
"cross_project_sync_accepted": false,
|
||
"cross_project_sync_ref": null,
|
||
"customer_impact_ref": null,
|
||
"decision": "pending_change_evidence",
|
||
"decision_reason": "pending_change_evidence",
|
||
"dependency_impact_accepted": false,
|
||
"dependency_impact_ref": null,
|
||
"docker_compose_action_authorized": false,
|
||
"docker_daemon_state_accepted": false,
|
||
"docker_daemon_state_ref": null,
|
||
"docker_restart_authorized": false,
|
||
"expected_host_scope": "192.168.0.188",
|
||
"failed_unit_review_accepted": false,
|
||
"failed_unit_review_ref": null,
|
||
"followup_owner": "pending_change_evidence",
|
||
"host_write_authorized": false,
|
||
"incident_severity": "pending_change_evidence",
|
||
"label": "188 database exporters compose",
|
||
"live_host_read_authorized": false,
|
||
"maintenance_window": "pending_change_evidence",
|
||
"monitoring_alert_accepted": false,
|
||
"monitoring_alert_refs": [],
|
||
"network_gateway_impact_ref": null,
|
||
"not_approval": true,
|
||
"operator_notification_accepted": false,
|
||
"operator_notification_refs": [],
|
||
"outcome_lanes": [
|
||
"waiting_change_evidence",
|
||
"quarantine_secret_or_raw_payload",
|
||
"reject_unattributed_restart",
|
||
"request_recovery_supplement",
|
||
"incident_backfill_required",
|
||
"no_false_green_supplement_required",
|
||
"ready_for_host_service_review",
|
||
"owner_review_only_update",
|
||
"waiting_maintenance_window",
|
||
"waiting_runtime_gate"
|
||
],
|
||
"port_binding_state_accepted": false,
|
||
"port_binding_state_ref": null,
|
||
"postcheck_evidence_accepted": false,
|
||
"postcheck_evidence_refs": [],
|
||
"public_route_recovery_accepted": false,
|
||
"public_route_recovery_refs": [],
|
||
"recovery_supplement_requested": false,
|
||
"repair_bot_execution_authorized": false,
|
||
"required_evidence_fields": [
|
||
"change_or_incident_ref",
|
||
"actor_role_or_team",
|
||
"decision",
|
||
"decision_reason",
|
||
"affected_scope",
|
||
"boot_or_restart_window_ref",
|
||
"before_service_state_ref",
|
||
"after_service_state_ref",
|
||
"docker_daemon_state_ref",
|
||
"compose_stack_state_ref",
|
||
"systemd_unit_state_ref",
|
||
"failed_unit_review_ref",
|
||
"port_binding_state_ref",
|
||
"dependency_impact_ref",
|
||
"cold_start_sequence_ref",
|
||
"runner_or_repair_bot_contention_ref",
|
||
"public_route_recovery_refs",
|
||
"admin_route_recovery_refs",
|
||
"agent_provider_health_refs",
|
||
"monitoring_alert_refs",
|
||
"operator_notification_refs",
|
||
"cross_project_sync_ref",
|
||
"restoration_time_ref",
|
||
"rollback_owner",
|
||
"postcheck_evidence_refs"
|
||
],
|
||
"requires_live_evidence": true,
|
||
"restoration_time_accepted": false,
|
||
"restoration_time_ref": null,
|
||
"reviewer_checks": [
|
||
"change_ref_present",
|
||
"actor_role_traceable",
|
||
"decision_reason_present",
|
||
"affected_scope_matches_surface",
|
||
"boot_or_restart_window_present",
|
||
"before_after_service_state_present",
|
||
"docker_daemon_state_present",
|
||
"compose_stack_state_present",
|
||
"systemd_unit_state_present",
|
||
"failed_unit_review_present",
|
||
"port_binding_state_present",
|
||
"dependency_impact_present",
|
||
"cold_start_sequence_present",
|
||
"runner_repair_bot_contention_present",
|
||
"route_recovery_evidence_present",
|
||
"agent_provider_health_present",
|
||
"monitoring_alert_ref_present",
|
||
"operator_notification_present",
|
||
"cross_project_sync_present",
|
||
"restoration_time_present",
|
||
"rollback_owner_present",
|
||
"postcheck_evidence_present",
|
||
"secret_or_raw_payload_absent",
|
||
"no_false_green_service_health",
|
||
"no_runtime_authorization",
|
||
"counts_transition_safe"
|
||
],
|
||
"reviewer_outcome": "waiting_change_evidence",
|
||
"rollback_owner": "pending_change_evidence",
|
||
"rollback_owner_accepted": false,
|
||
"rollback_plan_ref": null,
|
||
"route_smoke_authorized": false,
|
||
"runner_or_repair_bot_contention_accepted": false,
|
||
"runner_or_repair_bot_contention_ref": null,
|
||
"runtime_gate": false,
|
||
"secret_value_collection_allowed": false,
|
||
"service_scope": [
|
||
"postgres-exporter",
|
||
"redis-exporter"
|
||
],
|
||
"source_acceptance_candidate_id": "host_service_owner_response_acceptance:monitoring_exporters_188_compose",
|
||
"ssh_read_authorized": false,
|
||
"ssh_write_authorized": false,
|
||
"status": "waiting_change_evidence",
|
||
"sudo_action_authorized": false,
|
||
"surface_id": "monitoring_exporters_188_compose",
|
||
"systemctl_action_authorized": false,
|
||
"systemd_unit_state_accepted": false,
|
||
"systemd_unit_state_ref": null,
|
||
"write_capable_surface": false
|
||
},
|
||
{
|
||
"action_buttons_allowed": false,
|
||
"active_scan_authorized": false,
|
||
"actor_identified": false,
|
||
"actor_role_or_team": "pending_change_evidence",
|
||
"admin_route_recovery_accepted": false,
|
||
"admin_route_recovery_refs": [],
|
||
"affected_scope": "pending_change_evidence",
|
||
"after_service_state_accepted": false,
|
||
"after_service_state_ref": null,
|
||
"agent_provider_health_accepted": false,
|
||
"agent_provider_health_refs": [],
|
||
"ansible_apply_authorized": false,
|
||
"backup_job_overlap_ref": null,
|
||
"before_service_state_accepted": false,
|
||
"before_service_state_ref": null,
|
||
"blocked_actions": [
|
||
"ssh_read",
|
||
"ssh_write",
|
||
"live_host_read",
|
||
"docker_ps_live_read",
|
||
"docker_compose_up",
|
||
"docker_compose_down",
|
||
"docker_compose_pull",
|
||
"docker_restart",
|
||
"docker_kill",
|
||
"systemctl_restart",
|
||
"systemctl_reload",
|
||
"systemctl_kill",
|
||
"repair_bot_execute",
|
||
"ansible_apply",
|
||
"sudo_action",
|
||
"host_file_write",
|
||
"firewall_change",
|
||
"port_change",
|
||
"route_smoke",
|
||
"public_gateway_reload",
|
||
"nginx_reload",
|
||
"active_scan",
|
||
"secret_value_collection",
|
||
"raw_live_config_storage",
|
||
"raw_docker_log_storage",
|
||
"raw_journal_storage",
|
||
"raw_env_dump_storage",
|
||
"accept_restart_without_actor",
|
||
"accept_restart_without_window",
|
||
"accept_restart_without_rollback",
|
||
"accept_recovery_without_postcheck",
|
||
"accept_service_healthy_as_config_accepted",
|
||
"skip_dependency_map_review",
|
||
"skip_port_binding_review",
|
||
"skip_cold_start_sequence",
|
||
"hide_daemon_runner_contention",
|
||
"mark_change_evidence_accepted_without_reviewer_record",
|
||
"open_runtime_gate",
|
||
"add_action_button"
|
||
],
|
||
"boot_or_restart_window_accepted": false,
|
||
"boot_or_restart_window_ref": null,
|
||
"change_evidence_accepted": false,
|
||
"change_evidence_candidate_id": "host_service_change_evidence:sentry_110_reference_compose",
|
||
"change_evidence_fields": [
|
||
"change_evidence_candidate_id",
|
||
"source_acceptance_candidate_id",
|
||
"surface_id",
|
||
"label",
|
||
"expected_host_scope",
|
||
"config_kind",
|
||
"service_scope",
|
||
"control_tier",
|
||
"write_capable_surface",
|
||
"requires_live_evidence",
|
||
"change_or_incident_ref",
|
||
"actor_role_or_team",
|
||
"decision",
|
||
"decision_reason",
|
||
"affected_scope",
|
||
"boot_or_restart_window_ref",
|
||
"before_service_state_ref",
|
||
"after_service_state_ref",
|
||
"docker_daemon_state_ref",
|
||
"compose_stack_state_ref",
|
||
"systemd_unit_state_ref",
|
||
"failed_unit_review_ref",
|
||
"port_binding_state_ref",
|
||
"network_gateway_impact_ref",
|
||
"dependency_impact_ref",
|
||
"cold_start_sequence_ref",
|
||
"runner_or_repair_bot_contention_ref",
|
||
"backup_job_overlap_ref",
|
||
"public_route_recovery_refs",
|
||
"admin_route_recovery_refs",
|
||
"agent_provider_health_refs",
|
||
"monitoring_alert_refs",
|
||
"operator_notification_refs",
|
||
"cross_project_sync_ref",
|
||
"customer_impact_ref",
|
||
"incident_severity",
|
||
"restoration_time_ref",
|
||
"maintenance_window",
|
||
"rollback_owner",
|
||
"rollback_plan_ref",
|
||
"postcheck_evidence_refs",
|
||
"change_freeze_rule",
|
||
"reviewer_outcome",
|
||
"followup_owner",
|
||
"not_approval"
|
||
],
|
||
"change_evidence_quarantined": false,
|
||
"change_evidence_received": false,
|
||
"change_evidence_rejected": false,
|
||
"change_freeze_rule": "pending_change_evidence",
|
||
"change_or_incident_ref": null,
|
||
"cold_start_sequence_accepted": false,
|
||
"cold_start_sequence_ref": null,
|
||
"compose_stack_state_accepted": false,
|
||
"compose_stack_state_ref": null,
|
||
"config_kind": "docker_compose_reference",
|
||
"control_tier": "C1",
|
||
"cross_project_sync_accepted": false,
|
||
"cross_project_sync_ref": null,
|
||
"customer_impact_ref": null,
|
||
"decision": "pending_change_evidence",
|
||
"decision_reason": "pending_change_evidence",
|
||
"dependency_impact_accepted": false,
|
||
"dependency_impact_ref": null,
|
||
"docker_compose_action_authorized": false,
|
||
"docker_daemon_state_accepted": false,
|
||
"docker_daemon_state_ref": null,
|
||
"docker_restart_authorized": false,
|
||
"expected_host_scope": "192.168.0.110",
|
||
"failed_unit_review_accepted": false,
|
||
"failed_unit_review_ref": null,
|
||
"followup_owner": "pending_change_evidence",
|
||
"host_write_authorized": false,
|
||
"incident_severity": "pending_change_evidence",
|
||
"label": "110 Sentry self-hosted reference compose",
|
||
"live_host_read_authorized": false,
|
||
"maintenance_window": "pending_change_evidence",
|
||
"monitoring_alert_accepted": false,
|
||
"monitoring_alert_refs": [],
|
||
"network_gateway_impact_ref": null,
|
||
"not_approval": true,
|
||
"operator_notification_accepted": false,
|
||
"operator_notification_refs": [],
|
||
"outcome_lanes": [
|
||
"waiting_change_evidence",
|
||
"quarantine_secret_or_raw_payload",
|
||
"reject_unattributed_restart",
|
||
"request_recovery_supplement",
|
||
"incident_backfill_required",
|
||
"no_false_green_supplement_required",
|
||
"ready_for_host_service_review",
|
||
"owner_review_only_update",
|
||
"waiting_maintenance_window",
|
||
"waiting_runtime_gate"
|
||
],
|
||
"port_binding_state_accepted": false,
|
||
"port_binding_state_ref": null,
|
||
"postcheck_evidence_accepted": false,
|
||
"postcheck_evidence_refs": [],
|
||
"public_route_recovery_accepted": false,
|
||
"public_route_recovery_refs": [],
|
||
"recovery_supplement_requested": false,
|
||
"repair_bot_execution_authorized": false,
|
||
"required_evidence_fields": [
|
||
"change_or_incident_ref",
|
||
"actor_role_or_team",
|
||
"decision",
|
||
"decision_reason",
|
||
"affected_scope",
|
||
"boot_or_restart_window_ref",
|
||
"before_service_state_ref",
|
||
"after_service_state_ref",
|
||
"docker_daemon_state_ref",
|
||
"compose_stack_state_ref",
|
||
"systemd_unit_state_ref",
|
||
"failed_unit_review_ref",
|
||
"port_binding_state_ref",
|
||
"dependency_impact_ref",
|
||
"cold_start_sequence_ref",
|
||
"runner_or_repair_bot_contention_ref",
|
||
"public_route_recovery_refs",
|
||
"admin_route_recovery_refs",
|
||
"agent_provider_health_refs",
|
||
"monitoring_alert_refs",
|
||
"operator_notification_refs",
|
||
"cross_project_sync_ref",
|
||
"restoration_time_ref",
|
||
"rollback_owner",
|
||
"postcheck_evidence_refs"
|
||
],
|
||
"requires_live_evidence": true,
|
||
"restoration_time_accepted": false,
|
||
"restoration_time_ref": null,
|
||
"reviewer_checks": [
|
||
"change_ref_present",
|
||
"actor_role_traceable",
|
||
"decision_reason_present",
|
||
"affected_scope_matches_surface",
|
||
"boot_or_restart_window_present",
|
||
"before_after_service_state_present",
|
||
"docker_daemon_state_present",
|
||
"compose_stack_state_present",
|
||
"systemd_unit_state_present",
|
||
"failed_unit_review_present",
|
||
"port_binding_state_present",
|
||
"dependency_impact_present",
|
||
"cold_start_sequence_present",
|
||
"runner_repair_bot_contention_present",
|
||
"route_recovery_evidence_present",
|
||
"agent_provider_health_present",
|
||
"monitoring_alert_ref_present",
|
||
"operator_notification_present",
|
||
"cross_project_sync_present",
|
||
"restoration_time_present",
|
||
"rollback_owner_present",
|
||
"postcheck_evidence_present",
|
||
"secret_or_raw_payload_absent",
|
||
"no_false_green_service_health",
|
||
"no_runtime_authorization",
|
||
"counts_transition_safe"
|
||
],
|
||
"reviewer_outcome": "waiting_change_evidence",
|
||
"rollback_owner": "pending_change_evidence",
|
||
"rollback_owner_accepted": false,
|
||
"rollback_plan_ref": null,
|
||
"route_smoke_authorized": false,
|
||
"runner_or_repair_bot_contention_accepted": false,
|
||
"runner_or_repair_bot_contention_ref": null,
|
||
"runtime_gate": false,
|
||
"secret_value_collection_allowed": false,
|
||
"service_scope": [
|
||
"sentry-placeholder-reference"
|
||
],
|
||
"source_acceptance_candidate_id": "host_service_owner_response_acceptance:sentry_110_reference_compose",
|
||
"ssh_read_authorized": false,
|
||
"ssh_write_authorized": false,
|
||
"status": "waiting_change_evidence",
|
||
"sudo_action_authorized": false,
|
||
"surface_id": "sentry_110_reference_compose",
|
||
"systemctl_action_authorized": false,
|
||
"systemd_unit_state_accepted": false,
|
||
"systemd_unit_state_ref": null,
|
||
"write_capable_surface": false
|
||
},
|
||
{
|
||
"action_buttons_allowed": false,
|
||
"active_scan_authorized": false,
|
||
"actor_identified": false,
|
||
"actor_role_or_team": "pending_change_evidence",
|
||
"admin_route_recovery_accepted": false,
|
||
"admin_route_recovery_refs": [],
|
||
"affected_scope": "pending_change_evidence",
|
||
"after_service_state_accepted": false,
|
||
"after_service_state_ref": null,
|
||
"agent_provider_health_accepted": false,
|
||
"agent_provider_health_refs": [],
|
||
"ansible_apply_authorized": false,
|
||
"backup_job_overlap_ref": null,
|
||
"before_service_state_accepted": false,
|
||
"before_service_state_ref": null,
|
||
"blocked_actions": [
|
||
"ssh_read",
|
||
"ssh_write",
|
||
"live_host_read",
|
||
"docker_ps_live_read",
|
||
"docker_compose_up",
|
||
"docker_compose_down",
|
||
"docker_compose_pull",
|
||
"docker_restart",
|
||
"docker_kill",
|
||
"systemctl_restart",
|
||
"systemctl_reload",
|
||
"systemctl_kill",
|
||
"repair_bot_execute",
|
||
"ansible_apply",
|
||
"sudo_action",
|
||
"host_file_write",
|
||
"firewall_change",
|
||
"port_change",
|
||
"route_smoke",
|
||
"public_gateway_reload",
|
||
"nginx_reload",
|
||
"active_scan",
|
||
"secret_value_collection",
|
||
"raw_live_config_storage",
|
||
"raw_docker_log_storage",
|
||
"raw_journal_storage",
|
||
"raw_env_dump_storage",
|
||
"accept_restart_without_actor",
|
||
"accept_restart_without_window",
|
||
"accept_restart_without_rollback",
|
||
"accept_recovery_without_postcheck",
|
||
"accept_service_healthy_as_config_accepted",
|
||
"skip_dependency_map_review",
|
||
"skip_port_binding_review",
|
||
"skip_cold_start_sequence",
|
||
"hide_daemon_runner_contention",
|
||
"mark_change_evidence_accepted_without_reviewer_record",
|
||
"open_runtime_gate",
|
||
"add_action_button"
|
||
],
|
||
"boot_or_restart_window_accepted": false,
|
||
"boot_or_restart_window_ref": null,
|
||
"change_evidence_accepted": false,
|
||
"change_evidence_candidate_id": "host_service_change_evidence:langfuse_110_compose",
|
||
"change_evidence_fields": [
|
||
"change_evidence_candidate_id",
|
||
"source_acceptance_candidate_id",
|
||
"surface_id",
|
||
"label",
|
||
"expected_host_scope",
|
||
"config_kind",
|
||
"service_scope",
|
||
"control_tier",
|
||
"write_capable_surface",
|
||
"requires_live_evidence",
|
||
"change_or_incident_ref",
|
||
"actor_role_or_team",
|
||
"decision",
|
||
"decision_reason",
|
||
"affected_scope",
|
||
"boot_or_restart_window_ref",
|
||
"before_service_state_ref",
|
||
"after_service_state_ref",
|
||
"docker_daemon_state_ref",
|
||
"compose_stack_state_ref",
|
||
"systemd_unit_state_ref",
|
||
"failed_unit_review_ref",
|
||
"port_binding_state_ref",
|
||
"network_gateway_impact_ref",
|
||
"dependency_impact_ref",
|
||
"cold_start_sequence_ref",
|
||
"runner_or_repair_bot_contention_ref",
|
||
"backup_job_overlap_ref",
|
||
"public_route_recovery_refs",
|
||
"admin_route_recovery_refs",
|
||
"agent_provider_health_refs",
|
||
"monitoring_alert_refs",
|
||
"operator_notification_refs",
|
||
"cross_project_sync_ref",
|
||
"customer_impact_ref",
|
||
"incident_severity",
|
||
"restoration_time_ref",
|
||
"maintenance_window",
|
||
"rollback_owner",
|
||
"rollback_plan_ref",
|
||
"postcheck_evidence_refs",
|
||
"change_freeze_rule",
|
||
"reviewer_outcome",
|
||
"followup_owner",
|
||
"not_approval"
|
||
],
|
||
"change_evidence_quarantined": false,
|
||
"change_evidence_received": false,
|
||
"change_evidence_rejected": false,
|
||
"change_freeze_rule": "pending_change_evidence",
|
||
"change_or_incident_ref": null,
|
||
"cold_start_sequence_accepted": false,
|
||
"cold_start_sequence_ref": null,
|
||
"compose_stack_state_accepted": false,
|
||
"compose_stack_state_ref": null,
|
||
"config_kind": "docker_compose_source",
|
||
"control_tier": "C1",
|
||
"cross_project_sync_accepted": false,
|
||
"cross_project_sync_ref": null,
|
||
"customer_impact_ref": null,
|
||
"decision": "pending_change_evidence",
|
||
"decision_reason": "pending_change_evidence",
|
||
"dependency_impact_accepted": false,
|
||
"dependency_impact_ref": null,
|
||
"docker_compose_action_authorized": false,
|
||
"docker_daemon_state_accepted": false,
|
||
"docker_daemon_state_ref": null,
|
||
"docker_restart_authorized": false,
|
||
"expected_host_scope": "192.168.0.110",
|
||
"failed_unit_review_accepted": false,
|
||
"failed_unit_review_ref": null,
|
||
"followup_owner": "pending_change_evidence",
|
||
"host_write_authorized": false,
|
||
"incident_severity": "pending_change_evidence",
|
||
"label": "110 Langfuse compose",
|
||
"live_host_read_authorized": false,
|
||
"maintenance_window": "pending_change_evidence",
|
||
"monitoring_alert_accepted": false,
|
||
"monitoring_alert_refs": [],
|
||
"network_gateway_impact_ref": null,
|
||
"not_approval": true,
|
||
"operator_notification_accepted": false,
|
||
"operator_notification_refs": [],
|
||
"outcome_lanes": [
|
||
"waiting_change_evidence",
|
||
"quarantine_secret_or_raw_payload",
|
||
"reject_unattributed_restart",
|
||
"request_recovery_supplement",
|
||
"incident_backfill_required",
|
||
"no_false_green_supplement_required",
|
||
"ready_for_host_service_review",
|
||
"owner_review_only_update",
|
||
"waiting_maintenance_window",
|
||
"waiting_runtime_gate"
|
||
],
|
||
"port_binding_state_accepted": false,
|
||
"port_binding_state_ref": null,
|
||
"postcheck_evidence_accepted": false,
|
||
"postcheck_evidence_refs": [],
|
||
"public_route_recovery_accepted": false,
|
||
"public_route_recovery_refs": [],
|
||
"recovery_supplement_requested": false,
|
||
"repair_bot_execution_authorized": false,
|
||
"required_evidence_fields": [
|
||
"change_or_incident_ref",
|
||
"actor_role_or_team",
|
||
"decision",
|
||
"decision_reason",
|
||
"affected_scope",
|
||
"boot_or_restart_window_ref",
|
||
"before_service_state_ref",
|
||
"after_service_state_ref",
|
||
"docker_daemon_state_ref",
|
||
"compose_stack_state_ref",
|
||
"systemd_unit_state_ref",
|
||
"failed_unit_review_ref",
|
||
"port_binding_state_ref",
|
||
"dependency_impact_ref",
|
||
"cold_start_sequence_ref",
|
||
"runner_or_repair_bot_contention_ref",
|
||
"public_route_recovery_refs",
|
||
"admin_route_recovery_refs",
|
||
"agent_provider_health_refs",
|
||
"monitoring_alert_refs",
|
||
"operator_notification_refs",
|
||
"cross_project_sync_ref",
|
||
"restoration_time_ref",
|
||
"rollback_owner",
|
||
"postcheck_evidence_refs"
|
||
],
|
||
"requires_live_evidence": true,
|
||
"restoration_time_accepted": false,
|
||
"restoration_time_ref": null,
|
||
"reviewer_checks": [
|
||
"change_ref_present",
|
||
"actor_role_traceable",
|
||
"decision_reason_present",
|
||
"affected_scope_matches_surface",
|
||
"boot_or_restart_window_present",
|
||
"before_after_service_state_present",
|
||
"docker_daemon_state_present",
|
||
"compose_stack_state_present",
|
||
"systemd_unit_state_present",
|
||
"failed_unit_review_present",
|
||
"port_binding_state_present",
|
||
"dependency_impact_present",
|
||
"cold_start_sequence_present",
|
||
"runner_repair_bot_contention_present",
|
||
"route_recovery_evidence_present",
|
||
"agent_provider_health_present",
|
||
"monitoring_alert_ref_present",
|
||
"operator_notification_present",
|
||
"cross_project_sync_present",
|
||
"restoration_time_present",
|
||
"rollback_owner_present",
|
||
"postcheck_evidence_present",
|
||
"secret_or_raw_payload_absent",
|
||
"no_false_green_service_health",
|
||
"no_runtime_authorization",
|
||
"counts_transition_safe"
|
||
],
|
||
"reviewer_outcome": "waiting_change_evidence",
|
||
"rollback_owner": "pending_change_evidence",
|
||
"rollback_owner_accepted": false,
|
||
"rollback_plan_ref": null,
|
||
"route_smoke_authorized": false,
|
||
"runner_or_repair_bot_contention_accepted": false,
|
||
"runner_or_repair_bot_contention_ref": null,
|
||
"runtime_gate": false,
|
||
"secret_value_collection_allowed": false,
|
||
"service_scope": [
|
||
"langfuse",
|
||
"langfuse-db"
|
||
],
|
||
"source_acceptance_candidate_id": "host_service_owner_response_acceptance:langfuse_110_compose",
|
||
"ssh_read_authorized": false,
|
||
"ssh_write_authorized": false,
|
||
"status": "waiting_change_evidence",
|
||
"sudo_action_authorized": false,
|
||
"surface_id": "langfuse_110_compose",
|
||
"systemctl_action_authorized": false,
|
||
"systemd_unit_state_accepted": false,
|
||
"systemd_unit_state_ref": null,
|
||
"write_capable_surface": false
|
||
},
|
||
{
|
||
"action_buttons_allowed": false,
|
||
"active_scan_authorized": false,
|
||
"actor_identified": false,
|
||
"actor_role_or_team": "pending_change_evidence",
|
||
"admin_route_recovery_accepted": false,
|
||
"admin_route_recovery_refs": [],
|
||
"affected_scope": "pending_change_evidence",
|
||
"after_service_state_accepted": false,
|
||
"after_service_state_ref": null,
|
||
"agent_provider_health_accepted": false,
|
||
"agent_provider_health_refs": [],
|
||
"ansible_apply_authorized": false,
|
||
"backup_job_overlap_ref": null,
|
||
"before_service_state_accepted": false,
|
||
"before_service_state_ref": null,
|
||
"blocked_actions": [
|
||
"ssh_read",
|
||
"ssh_write",
|
||
"live_host_read",
|
||
"docker_ps_live_read",
|
||
"docker_compose_up",
|
||
"docker_compose_down",
|
||
"docker_compose_pull",
|
||
"docker_restart",
|
||
"docker_kill",
|
||
"systemctl_restart",
|
||
"systemctl_reload",
|
||
"systemctl_kill",
|
||
"repair_bot_execute",
|
||
"ansible_apply",
|
||
"sudo_action",
|
||
"host_file_write",
|
||
"firewall_change",
|
||
"port_change",
|
||
"route_smoke",
|
||
"public_gateway_reload",
|
||
"nginx_reload",
|
||
"active_scan",
|
||
"secret_value_collection",
|
||
"raw_live_config_storage",
|
||
"raw_docker_log_storage",
|
||
"raw_journal_storage",
|
||
"raw_env_dump_storage",
|
||
"accept_restart_without_actor",
|
||
"accept_restart_without_window",
|
||
"accept_restart_without_rollback",
|
||
"accept_recovery_without_postcheck",
|
||
"accept_service_healthy_as_config_accepted",
|
||
"skip_dependency_map_review",
|
||
"skip_port_binding_review",
|
||
"skip_cold_start_sequence",
|
||
"hide_daemon_runner_contention",
|
||
"mark_change_evidence_accepted_without_reviewer_record",
|
||
"open_runtime_gate",
|
||
"add_action_button"
|
||
],
|
||
"boot_or_restart_window_accepted": false,
|
||
"boot_or_restart_window_ref": null,
|
||
"change_evidence_accepted": false,
|
||
"change_evidence_candidate_id": "host_service_change_evidence:ansible_docker_compose_service_role",
|
||
"change_evidence_fields": [
|
||
"change_evidence_candidate_id",
|
||
"source_acceptance_candidate_id",
|
||
"surface_id",
|
||
"label",
|
||
"expected_host_scope",
|
||
"config_kind",
|
||
"service_scope",
|
||
"control_tier",
|
||
"write_capable_surface",
|
||
"requires_live_evidence",
|
||
"change_or_incident_ref",
|
||
"actor_role_or_team",
|
||
"decision",
|
||
"decision_reason",
|
||
"affected_scope",
|
||
"boot_or_restart_window_ref",
|
||
"before_service_state_ref",
|
||
"after_service_state_ref",
|
||
"docker_daemon_state_ref",
|
||
"compose_stack_state_ref",
|
||
"systemd_unit_state_ref",
|
||
"failed_unit_review_ref",
|
||
"port_binding_state_ref",
|
||
"network_gateway_impact_ref",
|
||
"dependency_impact_ref",
|
||
"cold_start_sequence_ref",
|
||
"runner_or_repair_bot_contention_ref",
|
||
"backup_job_overlap_ref",
|
||
"public_route_recovery_refs",
|
||
"admin_route_recovery_refs",
|
||
"agent_provider_health_refs",
|
||
"monitoring_alert_refs",
|
||
"operator_notification_refs",
|
||
"cross_project_sync_ref",
|
||
"customer_impact_ref",
|
||
"incident_severity",
|
||
"restoration_time_ref",
|
||
"maintenance_window",
|
||
"rollback_owner",
|
||
"rollback_plan_ref",
|
||
"postcheck_evidence_refs",
|
||
"change_freeze_rule",
|
||
"reviewer_outcome",
|
||
"followup_owner",
|
||
"not_approval"
|
||
],
|
||
"change_evidence_quarantined": false,
|
||
"change_evidence_received": false,
|
||
"change_evidence_rejected": false,
|
||
"change_freeze_rule": "pending_change_evidence",
|
||
"change_or_incident_ref": null,
|
||
"cold_start_sequence_accepted": false,
|
||
"cold_start_sequence_ref": null,
|
||
"compose_stack_state_accepted": false,
|
||
"compose_stack_state_ref": null,
|
||
"config_kind": "ansible_service_executor",
|
||
"control_tier": "C1",
|
||
"cross_project_sync_accepted": false,
|
||
"cross_project_sync_ref": null,
|
||
"customer_impact_ref": null,
|
||
"decision": "pending_change_evidence",
|
||
"decision_reason": "pending_change_evidence",
|
||
"dependency_impact_accepted": false,
|
||
"dependency_impact_ref": null,
|
||
"docker_compose_action_authorized": false,
|
||
"docker_daemon_state_accepted": false,
|
||
"docker_daemon_state_ref": null,
|
||
"docker_restart_authorized": false,
|
||
"expected_host_scope": "multi_host",
|
||
"failed_unit_review_accepted": false,
|
||
"failed_unit_review_ref": null,
|
||
"followup_owner": "pending_change_evidence",
|
||
"host_write_authorized": false,
|
||
"incident_severity": "pending_change_evidence",
|
||
"label": "Ansible docker-compose-service role",
|
||
"live_host_read_authorized": false,
|
||
"maintenance_window": "pending_change_evidence",
|
||
"monitoring_alert_accepted": false,
|
||
"monitoring_alert_refs": [],
|
||
"network_gateway_impact_ref": null,
|
||
"not_approval": true,
|
||
"operator_notification_accepted": false,
|
||
"operator_notification_refs": [],
|
||
"outcome_lanes": [
|
||
"waiting_change_evidence",
|
||
"quarantine_secret_or_raw_payload",
|
||
"reject_unattributed_restart",
|
||
"request_recovery_supplement",
|
||
"incident_backfill_required",
|
||
"no_false_green_supplement_required",
|
||
"ready_for_host_service_review",
|
||
"owner_review_only_update",
|
||
"waiting_maintenance_window",
|
||
"waiting_runtime_gate"
|
||
],
|
||
"port_binding_state_accepted": false,
|
||
"port_binding_state_ref": null,
|
||
"postcheck_evidence_accepted": false,
|
||
"postcheck_evidence_refs": [],
|
||
"public_route_recovery_accepted": false,
|
||
"public_route_recovery_refs": [],
|
||
"recovery_supplement_requested": false,
|
||
"repair_bot_execution_authorized": false,
|
||
"required_evidence_fields": [
|
||
"change_or_incident_ref",
|
||
"actor_role_or_team",
|
||
"decision",
|
||
"decision_reason",
|
||
"affected_scope",
|
||
"boot_or_restart_window_ref",
|
||
"before_service_state_ref",
|
||
"after_service_state_ref",
|
||
"docker_daemon_state_ref",
|
||
"compose_stack_state_ref",
|
||
"systemd_unit_state_ref",
|
||
"failed_unit_review_ref",
|
||
"port_binding_state_ref",
|
||
"dependency_impact_ref",
|
||
"cold_start_sequence_ref",
|
||
"runner_or_repair_bot_contention_ref",
|
||
"public_route_recovery_refs",
|
||
"admin_route_recovery_refs",
|
||
"agent_provider_health_refs",
|
||
"monitoring_alert_refs",
|
||
"operator_notification_refs",
|
||
"cross_project_sync_ref",
|
||
"restoration_time_ref",
|
||
"rollback_owner",
|
||
"postcheck_evidence_refs"
|
||
],
|
||
"requires_live_evidence": true,
|
||
"restoration_time_accepted": false,
|
||
"restoration_time_ref": null,
|
||
"reviewer_checks": [
|
||
"change_ref_present",
|
||
"actor_role_traceable",
|
||
"decision_reason_present",
|
||
"affected_scope_matches_surface",
|
||
"boot_or_restart_window_present",
|
||
"before_after_service_state_present",
|
||
"docker_daemon_state_present",
|
||
"compose_stack_state_present",
|
||
"systemd_unit_state_present",
|
||
"failed_unit_review_present",
|
||
"port_binding_state_present",
|
||
"dependency_impact_present",
|
||
"cold_start_sequence_present",
|
||
"runner_repair_bot_contention_present",
|
||
"route_recovery_evidence_present",
|
||
"agent_provider_health_present",
|
||
"monitoring_alert_ref_present",
|
||
"operator_notification_present",
|
||
"cross_project_sync_present",
|
||
"restoration_time_present",
|
||
"rollback_owner_present",
|
||
"postcheck_evidence_present",
|
||
"secret_or_raw_payload_absent",
|
||
"no_false_green_service_health",
|
||
"no_runtime_authorization",
|
||
"counts_transition_safe"
|
||
],
|
||
"reviewer_outcome": "waiting_change_evidence",
|
||
"rollback_owner": "pending_change_evidence",
|
||
"rollback_owner_accepted": false,
|
||
"rollback_plan_ref": null,
|
||
"route_smoke_authorized": false,
|
||
"runner_or_repair_bot_contention_accepted": false,
|
||
"runner_or_repair_bot_contention_ref": null,
|
||
"runtime_gate": false,
|
||
"secret_value_collection_allowed": false,
|
||
"service_scope": [
|
||
"docker compose up -d"
|
||
],
|
||
"source_acceptance_candidate_id": "host_service_owner_response_acceptance:ansible_docker_compose_service_role",
|
||
"ssh_read_authorized": false,
|
||
"ssh_write_authorized": false,
|
||
"status": "waiting_change_evidence",
|
||
"sudo_action_authorized": false,
|
||
"surface_id": "ansible_docker_compose_service_role",
|
||
"systemctl_action_authorized": false,
|
||
"systemd_unit_state_accepted": false,
|
||
"systemd_unit_state_ref": null,
|
||
"write_capable_surface": true
|
||
},
|
||
{
|
||
"action_buttons_allowed": false,
|
||
"active_scan_authorized": false,
|
||
"actor_identified": false,
|
||
"actor_role_or_team": "pending_change_evidence",
|
||
"admin_route_recovery_accepted": false,
|
||
"admin_route_recovery_refs": [],
|
||
"affected_scope": "pending_change_evidence",
|
||
"after_service_state_accepted": false,
|
||
"after_service_state_ref": null,
|
||
"agent_provider_health_accepted": false,
|
||
"agent_provider_health_refs": [],
|
||
"ansible_apply_authorized": false,
|
||
"backup_job_overlap_ref": null,
|
||
"before_service_state_accepted": false,
|
||
"before_service_state_ref": null,
|
||
"blocked_actions": [
|
||
"ssh_read",
|
||
"ssh_write",
|
||
"live_host_read",
|
||
"docker_ps_live_read",
|
||
"docker_compose_up",
|
||
"docker_compose_down",
|
||
"docker_compose_pull",
|
||
"docker_restart",
|
||
"docker_kill",
|
||
"systemctl_restart",
|
||
"systemctl_reload",
|
||
"systemctl_kill",
|
||
"repair_bot_execute",
|
||
"ansible_apply",
|
||
"sudo_action",
|
||
"host_file_write",
|
||
"firewall_change",
|
||
"port_change",
|
||
"route_smoke",
|
||
"public_gateway_reload",
|
||
"nginx_reload",
|
||
"active_scan",
|
||
"secret_value_collection",
|
||
"raw_live_config_storage",
|
||
"raw_docker_log_storage",
|
||
"raw_journal_storage",
|
||
"raw_env_dump_storage",
|
||
"accept_restart_without_actor",
|
||
"accept_restart_without_window",
|
||
"accept_restart_without_rollback",
|
||
"accept_recovery_without_postcheck",
|
||
"accept_service_healthy_as_config_accepted",
|
||
"skip_dependency_map_review",
|
||
"skip_port_binding_review",
|
||
"skip_cold_start_sequence",
|
||
"hide_daemon_runner_contention",
|
||
"mark_change_evidence_accepted_without_reviewer_record",
|
||
"open_runtime_gate",
|
||
"add_action_button"
|
||
],
|
||
"boot_or_restart_window_accepted": false,
|
||
"boot_or_restart_window_ref": null,
|
||
"change_evidence_accepted": false,
|
||
"change_evidence_candidate_id": "host_service_change_evidence:repair_bot_110_whitelist",
|
||
"change_evidence_fields": [
|
||
"change_evidence_candidate_id",
|
||
"source_acceptance_candidate_id",
|
||
"surface_id",
|
||
"label",
|
||
"expected_host_scope",
|
||
"config_kind",
|
||
"service_scope",
|
||
"control_tier",
|
||
"write_capable_surface",
|
||
"requires_live_evidence",
|
||
"change_or_incident_ref",
|
||
"actor_role_or_team",
|
||
"decision",
|
||
"decision_reason",
|
||
"affected_scope",
|
||
"boot_or_restart_window_ref",
|
||
"before_service_state_ref",
|
||
"after_service_state_ref",
|
||
"docker_daemon_state_ref",
|
||
"compose_stack_state_ref",
|
||
"systemd_unit_state_ref",
|
||
"failed_unit_review_ref",
|
||
"port_binding_state_ref",
|
||
"network_gateway_impact_ref",
|
||
"dependency_impact_ref",
|
||
"cold_start_sequence_ref",
|
||
"runner_or_repair_bot_contention_ref",
|
||
"backup_job_overlap_ref",
|
||
"public_route_recovery_refs",
|
||
"admin_route_recovery_refs",
|
||
"agent_provider_health_refs",
|
||
"monitoring_alert_refs",
|
||
"operator_notification_refs",
|
||
"cross_project_sync_ref",
|
||
"customer_impact_ref",
|
||
"incident_severity",
|
||
"restoration_time_ref",
|
||
"maintenance_window",
|
||
"rollback_owner",
|
||
"rollback_plan_ref",
|
||
"postcheck_evidence_refs",
|
||
"change_freeze_rule",
|
||
"reviewer_outcome",
|
||
"followup_owner",
|
||
"not_approval"
|
||
],
|
||
"change_evidence_quarantined": false,
|
||
"change_evidence_received": false,
|
||
"change_evidence_rejected": false,
|
||
"change_freeze_rule": "pending_change_evidence",
|
||
"change_or_incident_ref": null,
|
||
"cold_start_sequence_accepted": false,
|
||
"cold_start_sequence_ref": null,
|
||
"compose_stack_state_accepted": false,
|
||
"compose_stack_state_ref": null,
|
||
"config_kind": "host_repair_whitelist",
|
||
"control_tier": "C1",
|
||
"cross_project_sync_accepted": false,
|
||
"cross_project_sync_ref": null,
|
||
"customer_impact_ref": null,
|
||
"decision": "pending_change_evidence",
|
||
"decision_reason": "pending_change_evidence",
|
||
"dependency_impact_accepted": false,
|
||
"dependency_impact_ref": null,
|
||
"docker_compose_action_authorized": false,
|
||
"docker_daemon_state_accepted": false,
|
||
"docker_daemon_state_ref": null,
|
||
"docker_restart_authorized": false,
|
||
"expected_host_scope": "192.168.0.110",
|
||
"failed_unit_review_accepted": false,
|
||
"failed_unit_review_ref": null,
|
||
"followup_owner": "pending_change_evidence",
|
||
"host_write_authorized": false,
|
||
"incident_severity": "pending_change_evidence",
|
||
"label": "110 repair-bot compose whitelist",
|
||
"live_host_read_authorized": false,
|
||
"maintenance_window": "pending_change_evidence",
|
||
"monitoring_alert_accepted": false,
|
||
"monitoring_alert_refs": [],
|
||
"network_gateway_impact_ref": null,
|
||
"not_approval": true,
|
||
"operator_notification_accepted": false,
|
||
"operator_notification_refs": [],
|
||
"outcome_lanes": [
|
||
"waiting_change_evidence",
|
||
"quarantine_secret_or_raw_payload",
|
||
"reject_unattributed_restart",
|
||
"request_recovery_supplement",
|
||
"incident_backfill_required",
|
||
"no_false_green_supplement_required",
|
||
"ready_for_host_service_review",
|
||
"owner_review_only_update",
|
||
"waiting_maintenance_window",
|
||
"waiting_runtime_gate"
|
||
],
|
||
"port_binding_state_accepted": false,
|
||
"port_binding_state_ref": null,
|
||
"postcheck_evidence_accepted": false,
|
||
"postcheck_evidence_refs": [],
|
||
"public_route_recovery_accepted": false,
|
||
"public_route_recovery_refs": [],
|
||
"recovery_supplement_requested": false,
|
||
"repair_bot_execution_authorized": false,
|
||
"required_evidence_fields": [
|
||
"change_or_incident_ref",
|
||
"actor_role_or_team",
|
||
"decision",
|
||
"decision_reason",
|
||
"affected_scope",
|
||
"boot_or_restart_window_ref",
|
||
"before_service_state_ref",
|
||
"after_service_state_ref",
|
||
"docker_daemon_state_ref",
|
||
"compose_stack_state_ref",
|
||
"systemd_unit_state_ref",
|
||
"failed_unit_review_ref",
|
||
"port_binding_state_ref",
|
||
"dependency_impact_ref",
|
||
"cold_start_sequence_ref",
|
||
"runner_or_repair_bot_contention_ref",
|
||
"public_route_recovery_refs",
|
||
"admin_route_recovery_refs",
|
||
"agent_provider_health_refs",
|
||
"monitoring_alert_refs",
|
||
"operator_notification_refs",
|
||
"cross_project_sync_ref",
|
||
"restoration_time_ref",
|
||
"rollback_owner",
|
||
"postcheck_evidence_refs"
|
||
],
|
||
"requires_live_evidence": true,
|
||
"restoration_time_accepted": false,
|
||
"restoration_time_ref": null,
|
||
"reviewer_checks": [
|
||
"change_ref_present",
|
||
"actor_role_traceable",
|
||
"decision_reason_present",
|
||
"affected_scope_matches_surface",
|
||
"boot_or_restart_window_present",
|
||
"before_after_service_state_present",
|
||
"docker_daemon_state_present",
|
||
"compose_stack_state_present",
|
||
"systemd_unit_state_present",
|
||
"failed_unit_review_present",
|
||
"port_binding_state_present",
|
||
"dependency_impact_present",
|
||
"cold_start_sequence_present",
|
||
"runner_repair_bot_contention_present",
|
||
"route_recovery_evidence_present",
|
||
"agent_provider_health_present",
|
||
"monitoring_alert_ref_present",
|
||
"operator_notification_present",
|
||
"cross_project_sync_present",
|
||
"restoration_time_present",
|
||
"rollback_owner_present",
|
||
"postcheck_evidence_present",
|
||
"secret_or_raw_payload_absent",
|
||
"no_false_green_service_health",
|
||
"no_runtime_authorization",
|
||
"counts_transition_safe"
|
||
],
|
||
"reviewer_outcome": "waiting_change_evidence",
|
||
"rollback_owner": "pending_change_evidence",
|
||
"rollback_owner_accepted": false,
|
||
"rollback_plan_ref": null,
|
||
"route_smoke_authorized": false,
|
||
"runner_or_repair_bot_contention_accepted": false,
|
||
"runner_or_repair_bot_contention_ref": null,
|
||
"runtime_gate": false,
|
||
"secret_value_collection_allowed": false,
|
||
"service_scope": [
|
||
"sentry",
|
||
"harbor",
|
||
"gitea",
|
||
"gitea-runner",
|
||
"langfuse",
|
||
"alertmanager",
|
||
"signoz"
|
||
],
|
||
"source_acceptance_candidate_id": "host_service_owner_response_acceptance:repair_bot_110_whitelist",
|
||
"ssh_read_authorized": false,
|
||
"ssh_write_authorized": false,
|
||
"status": "waiting_change_evidence",
|
||
"sudo_action_authorized": false,
|
||
"surface_id": "repair_bot_110_whitelist",
|
||
"systemctl_action_authorized": false,
|
||
"systemd_unit_state_accepted": false,
|
||
"systemd_unit_state_ref": null,
|
||
"write_capable_surface": true
|
||
},
|
||
{
|
||
"action_buttons_allowed": false,
|
||
"active_scan_authorized": false,
|
||
"actor_identified": false,
|
||
"actor_role_or_team": "pending_change_evidence",
|
||
"admin_route_recovery_accepted": false,
|
||
"admin_route_recovery_refs": [],
|
||
"affected_scope": "pending_change_evidence",
|
||
"after_service_state_accepted": false,
|
||
"after_service_state_ref": null,
|
||
"agent_provider_health_accepted": false,
|
||
"agent_provider_health_refs": [],
|
||
"ansible_apply_authorized": false,
|
||
"backup_job_overlap_ref": null,
|
||
"before_service_state_accepted": false,
|
||
"before_service_state_ref": null,
|
||
"blocked_actions": [
|
||
"ssh_read",
|
||
"ssh_write",
|
||
"live_host_read",
|
||
"docker_ps_live_read",
|
||
"docker_compose_up",
|
||
"docker_compose_down",
|
||
"docker_compose_pull",
|
||
"docker_restart",
|
||
"docker_kill",
|
||
"systemctl_restart",
|
||
"systemctl_reload",
|
||
"systemctl_kill",
|
||
"repair_bot_execute",
|
||
"ansible_apply",
|
||
"sudo_action",
|
||
"host_file_write",
|
||
"firewall_change",
|
||
"port_change",
|
||
"route_smoke",
|
||
"public_gateway_reload",
|
||
"nginx_reload",
|
||
"active_scan",
|
||
"secret_value_collection",
|
||
"raw_live_config_storage",
|
||
"raw_docker_log_storage",
|
||
"raw_journal_storage",
|
||
"raw_env_dump_storage",
|
||
"accept_restart_without_actor",
|
||
"accept_restart_without_window",
|
||
"accept_restart_without_rollback",
|
||
"accept_recovery_without_postcheck",
|
||
"accept_service_healthy_as_config_accepted",
|
||
"skip_dependency_map_review",
|
||
"skip_port_binding_review",
|
||
"skip_cold_start_sequence",
|
||
"hide_daemon_runner_contention",
|
||
"mark_change_evidence_accepted_without_reviewer_record",
|
||
"open_runtime_gate",
|
||
"add_action_button"
|
||
],
|
||
"boot_or_restart_window_accepted": false,
|
||
"boot_or_restart_window_ref": null,
|
||
"change_evidence_accepted": false,
|
||
"change_evidence_candidate_id": "host_service_change_evidence:repair_bot_188_whitelist",
|
||
"change_evidence_fields": [
|
||
"change_evidence_candidate_id",
|
||
"source_acceptance_candidate_id",
|
||
"surface_id",
|
||
"label",
|
||
"expected_host_scope",
|
||
"config_kind",
|
||
"service_scope",
|
||
"control_tier",
|
||
"write_capable_surface",
|
||
"requires_live_evidence",
|
||
"change_or_incident_ref",
|
||
"actor_role_or_team",
|
||
"decision",
|
||
"decision_reason",
|
||
"affected_scope",
|
||
"boot_or_restart_window_ref",
|
||
"before_service_state_ref",
|
||
"after_service_state_ref",
|
||
"docker_daemon_state_ref",
|
||
"compose_stack_state_ref",
|
||
"systemd_unit_state_ref",
|
||
"failed_unit_review_ref",
|
||
"port_binding_state_ref",
|
||
"network_gateway_impact_ref",
|
||
"dependency_impact_ref",
|
||
"cold_start_sequence_ref",
|
||
"runner_or_repair_bot_contention_ref",
|
||
"backup_job_overlap_ref",
|
||
"public_route_recovery_refs",
|
||
"admin_route_recovery_refs",
|
||
"agent_provider_health_refs",
|
||
"monitoring_alert_refs",
|
||
"operator_notification_refs",
|
||
"cross_project_sync_ref",
|
||
"customer_impact_ref",
|
||
"incident_severity",
|
||
"restoration_time_ref",
|
||
"maintenance_window",
|
||
"rollback_owner",
|
||
"rollback_plan_ref",
|
||
"postcheck_evidence_refs",
|
||
"change_freeze_rule",
|
||
"reviewer_outcome",
|
||
"followup_owner",
|
||
"not_approval"
|
||
],
|
||
"change_evidence_quarantined": false,
|
||
"change_evidence_received": false,
|
||
"change_evidence_rejected": false,
|
||
"change_freeze_rule": "pending_change_evidence",
|
||
"change_or_incident_ref": null,
|
||
"cold_start_sequence_accepted": false,
|
||
"cold_start_sequence_ref": null,
|
||
"compose_stack_state_accepted": false,
|
||
"compose_stack_state_ref": null,
|
||
"config_kind": "host_repair_whitelist",
|
||
"control_tier": "C1",
|
||
"cross_project_sync_accepted": false,
|
||
"cross_project_sync_ref": null,
|
||
"customer_impact_ref": null,
|
||
"decision": "pending_change_evidence",
|
||
"decision_reason": "pending_change_evidence",
|
||
"dependency_impact_accepted": false,
|
||
"dependency_impact_ref": null,
|
||
"docker_compose_action_authorized": false,
|
||
"docker_daemon_state_accepted": false,
|
||
"docker_daemon_state_ref": null,
|
||
"docker_restart_authorized": false,
|
||
"expected_host_scope": "192.168.0.188",
|
||
"failed_unit_review_accepted": false,
|
||
"failed_unit_review_ref": null,
|
||
"followup_owner": "pending_change_evidence",
|
||
"host_write_authorized": false,
|
||
"incident_severity": "pending_change_evidence",
|
||
"label": "188 repair-bot compose/systemd whitelist",
|
||
"live_host_read_authorized": false,
|
||
"maintenance_window": "pending_change_evidence",
|
||
"monitoring_alert_accepted": false,
|
||
"monitoring_alert_refs": [],
|
||
"network_gateway_impact_ref": null,
|
||
"not_approval": true,
|
||
"operator_notification_accepted": false,
|
||
"operator_notification_refs": [],
|
||
"outcome_lanes": [
|
||
"waiting_change_evidence",
|
||
"quarantine_secret_or_raw_payload",
|
||
"reject_unattributed_restart",
|
||
"request_recovery_supplement",
|
||
"incident_backfill_required",
|
||
"no_false_green_supplement_required",
|
||
"ready_for_host_service_review",
|
||
"owner_review_only_update",
|
||
"waiting_maintenance_window",
|
||
"waiting_runtime_gate"
|
||
],
|
||
"port_binding_state_accepted": false,
|
||
"port_binding_state_ref": null,
|
||
"postcheck_evidence_accepted": false,
|
||
"postcheck_evidence_refs": [],
|
||
"public_route_recovery_accepted": false,
|
||
"public_route_recovery_refs": [],
|
||
"recovery_supplement_requested": false,
|
||
"repair_bot_execution_authorized": false,
|
||
"required_evidence_fields": [
|
||
"change_or_incident_ref",
|
||
"actor_role_or_team",
|
||
"decision",
|
||
"decision_reason",
|
||
"affected_scope",
|
||
"boot_or_restart_window_ref",
|
||
"before_service_state_ref",
|
||
"after_service_state_ref",
|
||
"docker_daemon_state_ref",
|
||
"compose_stack_state_ref",
|
||
"systemd_unit_state_ref",
|
||
"failed_unit_review_ref",
|
||
"port_binding_state_ref",
|
||
"dependency_impact_ref",
|
||
"cold_start_sequence_ref",
|
||
"runner_or_repair_bot_contention_ref",
|
||
"public_route_recovery_refs",
|
||
"admin_route_recovery_refs",
|
||
"agent_provider_health_refs",
|
||
"monitoring_alert_refs",
|
||
"operator_notification_refs",
|
||
"cross_project_sync_ref",
|
||
"restoration_time_ref",
|
||
"rollback_owner",
|
||
"postcheck_evidence_refs"
|
||
],
|
||
"requires_live_evidence": true,
|
||
"restoration_time_accepted": false,
|
||
"restoration_time_ref": null,
|
||
"reviewer_checks": [
|
||
"change_ref_present",
|
||
"actor_role_traceable",
|
||
"decision_reason_present",
|
||
"affected_scope_matches_surface",
|
||
"boot_or_restart_window_present",
|
||
"before_after_service_state_present",
|
||
"docker_daemon_state_present",
|
||
"compose_stack_state_present",
|
||
"systemd_unit_state_present",
|
||
"failed_unit_review_present",
|
||
"port_binding_state_present",
|
||
"dependency_impact_present",
|
||
"cold_start_sequence_present",
|
||
"runner_repair_bot_contention_present",
|
||
"route_recovery_evidence_present",
|
||
"agent_provider_health_present",
|
||
"monitoring_alert_ref_present",
|
||
"operator_notification_present",
|
||
"cross_project_sync_present",
|
||
"restoration_time_present",
|
||
"rollback_owner_present",
|
||
"postcheck_evidence_present",
|
||
"secret_or_raw_payload_absent",
|
||
"no_false_green_service_health",
|
||
"no_runtime_authorization",
|
||
"counts_transition_safe"
|
||
],
|
||
"reviewer_outcome": "waiting_change_evidence",
|
||
"rollback_owner": "pending_change_evidence",
|
||
"rollback_owner_accepted": false,
|
||
"rollback_plan_ref": null,
|
||
"route_smoke_authorized": false,
|
||
"runner_or_repair_bot_contention_accepted": false,
|
||
"runner_or_repair_bot_contention_ref": null,
|
||
"runtime_gate": false,
|
||
"secret_value_collection_allowed": false,
|
||
"service_scope": [
|
||
"openclaw",
|
||
"minio",
|
||
"signoz",
|
||
"redis",
|
||
"nginx",
|
||
"ollama"
|
||
],
|
||
"source_acceptance_candidate_id": "host_service_owner_response_acceptance:repair_bot_188_whitelist",
|
||
"ssh_read_authorized": false,
|
||
"ssh_write_authorized": false,
|
||
"status": "waiting_change_evidence",
|
||
"sudo_action_authorized": false,
|
||
"surface_id": "repair_bot_188_whitelist",
|
||
"systemctl_action_authorized": false,
|
||
"systemd_unit_state_accepted": false,
|
||
"systemd_unit_state_ref": null,
|
||
"write_capable_surface": true
|
||
},
|
||
{
|
||
"action_buttons_allowed": false,
|
||
"active_scan_authorized": false,
|
||
"actor_identified": false,
|
||
"actor_role_or_team": "pending_change_evidence",
|
||
"admin_route_recovery_accepted": false,
|
||
"admin_route_recovery_refs": [],
|
||
"affected_scope": "pending_change_evidence",
|
||
"after_service_state_accepted": false,
|
||
"after_service_state_ref": null,
|
||
"agent_provider_health_accepted": false,
|
||
"agent_provider_health_refs": [],
|
||
"ansible_apply_authorized": false,
|
||
"backup_job_overlap_ref": null,
|
||
"before_service_state_accepted": false,
|
||
"before_service_state_ref": null,
|
||
"blocked_actions": [
|
||
"ssh_read",
|
||
"ssh_write",
|
||
"live_host_read",
|
||
"docker_ps_live_read",
|
||
"docker_compose_up",
|
||
"docker_compose_down",
|
||
"docker_compose_pull",
|
||
"docker_restart",
|
||
"docker_kill",
|
||
"systemctl_restart",
|
||
"systemctl_reload",
|
||
"systemctl_kill",
|
||
"repair_bot_execute",
|
||
"ansible_apply",
|
||
"sudo_action",
|
||
"host_file_write",
|
||
"firewall_change",
|
||
"port_change",
|
||
"route_smoke",
|
||
"public_gateway_reload",
|
||
"nginx_reload",
|
||
"active_scan",
|
||
"secret_value_collection",
|
||
"raw_live_config_storage",
|
||
"raw_docker_log_storage",
|
||
"raw_journal_storage",
|
||
"raw_env_dump_storage",
|
||
"accept_restart_without_actor",
|
||
"accept_restart_without_window",
|
||
"accept_restart_without_rollback",
|
||
"accept_recovery_without_postcheck",
|
||
"accept_service_healthy_as_config_accepted",
|
||
"skip_dependency_map_review",
|
||
"skip_port_binding_review",
|
||
"skip_cold_start_sequence",
|
||
"hide_daemon_runner_contention",
|
||
"mark_change_evidence_accepted_without_reviewer_record",
|
||
"open_runtime_gate",
|
||
"add_action_button"
|
||
],
|
||
"boot_or_restart_window_accepted": false,
|
||
"boot_or_restart_window_ref": null,
|
||
"change_evidence_accepted": false,
|
||
"change_evidence_candidate_id": "host_service_change_evidence:config_backup_host_capture",
|
||
"change_evidence_fields": [
|
||
"change_evidence_candidate_id",
|
||
"source_acceptance_candidate_id",
|
||
"surface_id",
|
||
"label",
|
||
"expected_host_scope",
|
||
"config_kind",
|
||
"service_scope",
|
||
"control_tier",
|
||
"write_capable_surface",
|
||
"requires_live_evidence",
|
||
"change_or_incident_ref",
|
||
"actor_role_or_team",
|
||
"decision",
|
||
"decision_reason",
|
||
"affected_scope",
|
||
"boot_or_restart_window_ref",
|
||
"before_service_state_ref",
|
||
"after_service_state_ref",
|
||
"docker_daemon_state_ref",
|
||
"compose_stack_state_ref",
|
||
"systemd_unit_state_ref",
|
||
"failed_unit_review_ref",
|
||
"port_binding_state_ref",
|
||
"network_gateway_impact_ref",
|
||
"dependency_impact_ref",
|
||
"cold_start_sequence_ref",
|
||
"runner_or_repair_bot_contention_ref",
|
||
"backup_job_overlap_ref",
|
||
"public_route_recovery_refs",
|
||
"admin_route_recovery_refs",
|
||
"agent_provider_health_refs",
|
||
"monitoring_alert_refs",
|
||
"operator_notification_refs",
|
||
"cross_project_sync_ref",
|
||
"customer_impact_ref",
|
||
"incident_severity",
|
||
"restoration_time_ref",
|
||
"maintenance_window",
|
||
"rollback_owner",
|
||
"rollback_plan_ref",
|
||
"postcheck_evidence_refs",
|
||
"change_freeze_rule",
|
||
"reviewer_outcome",
|
||
"followup_owner",
|
||
"not_approval"
|
||
],
|
||
"change_evidence_quarantined": false,
|
||
"change_evidence_received": false,
|
||
"change_evidence_rejected": false,
|
||
"change_freeze_rule": "pending_change_evidence",
|
||
"change_or_incident_ref": null,
|
||
"cold_start_sequence_accepted": false,
|
||
"cold_start_sequence_ref": null,
|
||
"compose_stack_state_accepted": false,
|
||
"compose_stack_state_ref": null,
|
||
"config_kind": "backup_capture_contract",
|
||
"control_tier": "C1",
|
||
"cross_project_sync_accepted": false,
|
||
"cross_project_sync_ref": null,
|
||
"customer_impact_ref": null,
|
||
"decision": "pending_change_evidence",
|
||
"decision_reason": "pending_change_evidence",
|
||
"dependency_impact_accepted": false,
|
||
"dependency_impact_ref": null,
|
||
"docker_compose_action_authorized": false,
|
||
"docker_daemon_state_accepted": false,
|
||
"docker_daemon_state_ref": null,
|
||
"docker_restart_authorized": false,
|
||
"expected_host_scope": "110_188_120_121_cluster",
|
||
"failed_unit_review_accepted": false,
|
||
"failed_unit_review_ref": null,
|
||
"followup_owner": "pending_change_evidence",
|
||
"host_write_authorized": false,
|
||
"incident_severity": "pending_change_evidence",
|
||
"label": "host config backup capture contract",
|
||
"live_host_read_authorized": false,
|
||
"maintenance_window": "pending_change_evidence",
|
||
"monitoring_alert_accepted": false,
|
||
"monitoring_alert_refs": [],
|
||
"network_gateway_impact_ref": null,
|
||
"not_approval": true,
|
||
"operator_notification_accepted": false,
|
||
"operator_notification_refs": [],
|
||
"outcome_lanes": [
|
||
"waiting_change_evidence",
|
||
"quarantine_secret_or_raw_payload",
|
||
"reject_unattributed_restart",
|
||
"request_recovery_supplement",
|
||
"incident_backfill_required",
|
||
"no_false_green_supplement_required",
|
||
"ready_for_host_service_review",
|
||
"owner_review_only_update",
|
||
"waiting_maintenance_window",
|
||
"waiting_runtime_gate"
|
||
],
|
||
"port_binding_state_accepted": false,
|
||
"port_binding_state_ref": null,
|
||
"postcheck_evidence_accepted": false,
|
||
"postcheck_evidence_refs": [],
|
||
"public_route_recovery_accepted": false,
|
||
"public_route_recovery_refs": [],
|
||
"recovery_supplement_requested": false,
|
||
"repair_bot_execution_authorized": false,
|
||
"required_evidence_fields": [
|
||
"change_or_incident_ref",
|
||
"actor_role_or_team",
|
||
"decision",
|
||
"decision_reason",
|
||
"affected_scope",
|
||
"boot_or_restart_window_ref",
|
||
"before_service_state_ref",
|
||
"after_service_state_ref",
|
||
"docker_daemon_state_ref",
|
||
"compose_stack_state_ref",
|
||
"systemd_unit_state_ref",
|
||
"failed_unit_review_ref",
|
||
"port_binding_state_ref",
|
||
"dependency_impact_ref",
|
||
"cold_start_sequence_ref",
|
||
"runner_or_repair_bot_contention_ref",
|
||
"public_route_recovery_refs",
|
||
"admin_route_recovery_refs",
|
||
"agent_provider_health_refs",
|
||
"monitoring_alert_refs",
|
||
"operator_notification_refs",
|
||
"cross_project_sync_ref",
|
||
"restoration_time_ref",
|
||
"rollback_owner",
|
||
"postcheck_evidence_refs"
|
||
],
|
||
"requires_live_evidence": true,
|
||
"restoration_time_accepted": false,
|
||
"restoration_time_ref": null,
|
||
"reviewer_checks": [
|
||
"change_ref_present",
|
||
"actor_role_traceable",
|
||
"decision_reason_present",
|
||
"affected_scope_matches_surface",
|
||
"boot_or_restart_window_present",
|
||
"before_after_service_state_present",
|
||
"docker_daemon_state_present",
|
||
"compose_stack_state_present",
|
||
"systemd_unit_state_present",
|
||
"failed_unit_review_present",
|
||
"port_binding_state_present",
|
||
"dependency_impact_present",
|
||
"cold_start_sequence_present",
|
||
"runner_repair_bot_contention_present",
|
||
"route_recovery_evidence_present",
|
||
"agent_provider_health_present",
|
||
"monitoring_alert_ref_present",
|
||
"operator_notification_present",
|
||
"cross_project_sync_present",
|
||
"restoration_time_present",
|
||
"rollback_owner_present",
|
||
"postcheck_evidence_present",
|
||
"secret_or_raw_payload_absent",
|
||
"no_false_green_service_health",
|
||
"no_runtime_authorization",
|
||
"counts_transition_safe"
|
||
],
|
||
"reviewer_outcome": "waiting_change_evidence",
|
||
"rollback_owner": "pending_change_evidence",
|
||
"rollback_owner_accepted": false,
|
||
"rollback_plan_ref": null,
|
||
"route_smoke_authorized": false,
|
||
"runner_or_repair_bot_contention_accepted": false,
|
||
"runner_or_repair_bot_contention_ref": null,
|
||
"runtime_gate": false,
|
||
"secret_value_collection_allowed": false,
|
||
"service_scope": [
|
||
"systemd",
|
||
"docker",
|
||
"nginx",
|
||
"cron",
|
||
"k8s",
|
||
"host-configs"
|
||
],
|
||
"source_acceptance_candidate_id": "host_service_owner_response_acceptance:config_backup_host_capture",
|
||
"ssh_read_authorized": false,
|
||
"ssh_write_authorized": false,
|
||
"status": "waiting_change_evidence",
|
||
"sudo_action_authorized": false,
|
||
"surface_id": "config_backup_host_capture",
|
||
"systemctl_action_authorized": false,
|
||
"systemd_unit_state_accepted": false,
|
||
"systemd_unit_state_ref": null,
|
||
"write_capable_surface": false
|
||
}
|
||
],
|
||
"change_evidence_fields": [
|
||
"change_evidence_candidate_id",
|
||
"source_acceptance_candidate_id",
|
||
"surface_id",
|
||
"label",
|
||
"expected_host_scope",
|
||
"config_kind",
|
||
"service_scope",
|
||
"control_tier",
|
||
"write_capable_surface",
|
||
"requires_live_evidence",
|
||
"change_or_incident_ref",
|
||
"actor_role_or_team",
|
||
"decision",
|
||
"decision_reason",
|
||
"affected_scope",
|
||
"boot_or_restart_window_ref",
|
||
"before_service_state_ref",
|
||
"after_service_state_ref",
|
||
"docker_daemon_state_ref",
|
||
"compose_stack_state_ref",
|
||
"systemd_unit_state_ref",
|
||
"failed_unit_review_ref",
|
||
"port_binding_state_ref",
|
||
"network_gateway_impact_ref",
|
||
"dependency_impact_ref",
|
||
"cold_start_sequence_ref",
|
||
"runner_or_repair_bot_contention_ref",
|
||
"backup_job_overlap_ref",
|
||
"public_route_recovery_refs",
|
||
"admin_route_recovery_refs",
|
||
"agent_provider_health_refs",
|
||
"monitoring_alert_refs",
|
||
"operator_notification_refs",
|
||
"cross_project_sync_ref",
|
||
"customer_impact_ref",
|
||
"incident_severity",
|
||
"restoration_time_ref",
|
||
"maintenance_window",
|
||
"rollback_owner",
|
||
"rollback_plan_ref",
|
||
"postcheck_evidence_refs",
|
||
"change_freeze_rule",
|
||
"reviewer_outcome",
|
||
"followup_owner",
|
||
"not_approval"
|
||
],
|
||
"execution_boundaries": {
|
||
"action_buttons_allowed": false,
|
||
"active_scan_authorized": false,
|
||
"ansible_apply_authorized": false,
|
||
"change_evidence_accepted": false,
|
||
"change_evidence_received": false,
|
||
"docker_compose_action_authorized": false,
|
||
"docker_restart_authorized": false,
|
||
"host_write_authorized": false,
|
||
"live_host_read_authorized": false,
|
||
"not_authorization": true,
|
||
"repair_bot_execution_authorized": false,
|
||
"request_dispatch_authorized": false,
|
||
"route_smoke_authorized": false,
|
||
"runtime_execution_authorized": false,
|
||
"secret_value_collection_allowed": false,
|
||
"ssh_read_authorized": false,
|
||
"ssh_write_authorized": false,
|
||
"sudo_action_authorized": false,
|
||
"systemctl_action_authorized": false
|
||
},
|
||
"generated_at": "2026-06-15T18:50:00+08:00",
|
||
"git_commit": "a9060b49",
|
||
"next_steps": [
|
||
"等待 owner 以脫敏 metadata ref 補 change / incident ref、actor、before / after state、Docker daemon、compose / systemd、failed unit、port binding、dependency、cold-start、route recovery、operator notification、rollback 與 post-check evidence。",
|
||
"收到證據後先做欄位完整性、敏感 payload 隔離與 execution request 拒收;不得直接 SSH、docker、systemctl、repair-bot、Ansible 或 route smoke。",
|
||
"即使 reviewer 接受 change evidence,也只能形成 runtime approval package;維護窗口、rollback、post-check、stop condition 與人工 runtime gate 需另行批准。"
|
||
],
|
||
"outcome_lanes": [
|
||
{
|
||
"lane_id": "waiting_change_evidence",
|
||
"meaning": "尚未收到 host service 變更 / 事故證據;所有 accepted / runtime count 維持 0。"
|
||
},
|
||
{
|
||
"lane_id": "quarantine_secret_or_raw_payload",
|
||
"meaning": "收到 secret、env dump、raw docker logs、raw journal、raw compose 或未脫敏 host config 時只能隔離。"
|
||
},
|
||
{
|
||
"lane_id": "reject_unattributed_restart",
|
||
"meaning": "無 actor、無 owner、無 affected scope、無 rollback 或無 post-check 的 restart / reload / kill 不得驗收。"
|
||
},
|
||
{
|
||
"lane_id": "request_recovery_supplement",
|
||
"meaning": "缺 before / after、daemon state、compose state、systemd state、dependency、route recovery 或 cross-project sync 時要求補件。"
|
||
},
|
||
{
|
||
"lane_id": "incident_backfill_required",
|
||
"meaning": "涉及服務異常、靜默重啟、端口事故、cold-start recovery 或 daemon contention 時必須回補。"
|
||
},
|
||
{
|
||
"lane_id": "no_false_green_supplement_required",
|
||
"meaning": "只用 route 200、container up、dashboard up 或服務 healthy 代表恢復時,要求補 no-false-green 證據。"
|
||
},
|
||
{
|
||
"lane_id": "ready_for_host_service_review",
|
||
"meaning": "metadata 合格後,只能進 host service reviewer review。"
|
||
},
|
||
{
|
||
"lane_id": "owner_review_only_update",
|
||
"meaning": "只允許更新 reviewer ledger,不改 compose、systemd、repair-bot、Ansible 或 host。"
|
||
},
|
||
{
|
||
"lane_id": "waiting_maintenance_window",
|
||
"meaning": "若未來要 restart / repair / apply,仍需獨立維護窗口。"
|
||
},
|
||
{
|
||
"lane_id": "waiting_runtime_gate",
|
||
"meaning": "即使 change evidence accepted,runtime gate 仍需獨立人工批准。"
|
||
}
|
||
],
|
||
"required_evidence_fields": [
|
||
"change_or_incident_ref",
|
||
"actor_role_or_team",
|
||
"decision",
|
||
"decision_reason",
|
||
"affected_scope",
|
||
"boot_or_restart_window_ref",
|
||
"before_service_state_ref",
|
||
"after_service_state_ref",
|
||
"docker_daemon_state_ref",
|
||
"compose_stack_state_ref",
|
||
"systemd_unit_state_ref",
|
||
"failed_unit_review_ref",
|
||
"port_binding_state_ref",
|
||
"dependency_impact_ref",
|
||
"cold_start_sequence_ref",
|
||
"runner_or_repair_bot_contention_ref",
|
||
"public_route_recovery_refs",
|
||
"admin_route_recovery_refs",
|
||
"agent_provider_health_refs",
|
||
"monitoring_alert_refs",
|
||
"operator_notification_refs",
|
||
"cross_project_sync_ref",
|
||
"restoration_time_ref",
|
||
"rollback_owner",
|
||
"postcheck_evidence_refs"
|
||
],
|
||
"reviewer_checks": [
|
||
{
|
||
"check_id": "change_ref_present",
|
||
"instruction": "必須有可追溯的 change / incident ref。"
|
||
},
|
||
{
|
||
"check_id": "actor_role_traceable",
|
||
"instruction": "必須標示 actor role / team,不接受匿名 restart、kill、compose action 或 daemon 操作。"
|
||
},
|
||
{
|
||
"check_id": "decision_reason_present",
|
||
"instruction": "decision 與 decision reason 必須同時存在。"
|
||
},
|
||
{
|
||
"check_id": "affected_scope_matches_surface",
|
||
"instruction": "affected scope 必須能對回既有 host service surface。"
|
||
},
|
||
{
|
||
"check_id": "boot_or_restart_window_present",
|
||
"instruction": "涉及重啟、cold-start 或服務恢復時,必須有 boot / restart / recovery 時間 ref。"
|
||
},
|
||
{
|
||
"check_id": "before_after_service_state_present",
|
||
"instruction": "需有 before / after service state ref,不能只寫服務已恢復。"
|
||
},
|
||
{
|
||
"check_id": "docker_daemon_state_present",
|
||
"instruction": "Docker daemon active、starting、failed、contention 或 socket state 必須有脫敏 metadata ref。"
|
||
},
|
||
{
|
||
"check_id": "compose_stack_state_present",
|
||
"instruction": "Compose stack / container state 只能收狀態摘要 ref,不保存 raw docker ps dump。"
|
||
},
|
||
{
|
||
"check_id": "systemd_unit_state_present",
|
||
"instruction": "systemd failed unit、restart policy 或 service degraded 需有摘要 ref。"
|
||
},
|
||
{
|
||
"check_id": "failed_unit_review_present",
|
||
"instruction": "必須確認 failed unit 是否與事故、restart 或服務恢復相關。"
|
||
},
|
||
{
|
||
"check_id": "port_binding_state_present",
|
||
"instruction": "必須確認 host port、container port、proxy、firewall / gateway 狀態是否一致。"
|
||
},
|
||
{
|
||
"check_id": "dependency_impact_present",
|
||
"instruction": "必須列出上游、下游、資料庫、queue、registry、AI provider、public route 與 monitoring 影響。"
|
||
},
|
||
{
|
||
"check_id": "cold_start_sequence_present",
|
||
"instruction": "必須提供 cold-start / recovery sequence ref,不接受憑印象重啟。"
|
||
},
|
||
{
|
||
"check_id": "runner_repair_bot_contention_present",
|
||
"instruction": "必須確認 runner、repair-bot、backup job、iptables / xtables 或 compose action 是否競爭。"
|
||
},
|
||
{
|
||
"check_id": "route_recovery_evidence_present",
|
||
"instruction": "public / admin route 受影響時需有恢復 ref;無影響也需說明不適用。"
|
||
},
|
||
{
|
||
"check_id": "agent_provider_health_present",
|
||
"instruction": "AI provider、Ollama proxy、agent 或 webhook 受影響時需有健康 ref。"
|
||
},
|
||
{
|
||
"check_id": "monitoring_alert_ref_present",
|
||
"instruction": "需列 monitoring / alert / incident ref,不能只靠人工觀察。"
|
||
},
|
||
{
|
||
"check_id": "operator_notification_present",
|
||
"instruction": "需提供已通知受影響產品、owner 或 Session 的脫敏 ref。"
|
||
},
|
||
{
|
||
"check_id": "cross_project_sync_present",
|
||
"instruction": "若影響 AwoooP、IwoooS、agent-bounty、StockPlatform、公開網站或監控,需有跨專案同步 ref。"
|
||
},
|
||
{
|
||
"check_id": "restoration_time_present",
|
||
"instruction": "已恢復事故需提供恢復時間;未恢復需提供 still-degraded ref。"
|
||
},
|
||
{
|
||
"check_id": "rollback_owner_present",
|
||
"instruction": "rollback owner 與 rollback plan 必須存在。"
|
||
},
|
||
{
|
||
"check_id": "postcheck_evidence_present",
|
||
"instruction": "post-check evidence 必須覆蓋 service、route、agent、queue、monitoring 與 rollback stop condition。"
|
||
},
|
||
{
|
||
"check_id": "secret_or_raw_payload_absent",
|
||
"instruction": "不得包含 secret、env dump、raw docker logs、raw systemd journal、private key 或 cookie。"
|
||
},
|
||
{
|
||
"check_id": "no_false_green_service_health",
|
||
"instruction": "不得把服務 healthy、route 200、container up 或 dashboard up 當成 config / recovery 已驗收。"
|
||
},
|
||
{
|
||
"check_id": "no_runtime_authorization",
|
||
"instruction": "驗收證據不等於允許 SSH、Docker、systemctl、repair-bot、Ansible、host write 或 route smoke。"
|
||
},
|
||
{
|
||
"check_id": "counts_transition_safe",
|
||
"instruction": "只有 reviewer record 能更新 accepted count,且不得同時開 runtime gate。"
|
||
}
|
||
],
|
||
"schema_version": "host_service_change_evidence_acceptance_v1",
|
||
"source_owner_response_acceptance_schema_version": "host_service_owner_response_acceptance_v1",
|
||
"source_owner_response_acceptance_status": "owner_response_acceptance_ledger_ready_no_runtime_action",
|
||
"status": "change_evidence_acceptance_ready_no_runtime_action",
|
||
"summary": {
|
||
"action_button_count": 0,
|
||
"active_scan_authorized_count": 0,
|
||
"actor_identified_count": 0,
|
||
"admin_route_recovery_accepted_count": 0,
|
||
"after_service_state_accepted_count": 0,
|
||
"agent_provider_health_accepted_count": 0,
|
||
"ansible_apply_authorized_count": 0,
|
||
"before_service_state_accepted_count": 0,
|
||
"blocked_action_count": 39,
|
||
"boot_or_restart_window_accepted_count": 0,
|
||
"change_evidence_accepted_count": 0,
|
||
"change_evidence_candidate_count": 9,
|
||
"change_evidence_field_count": 45,
|
||
"change_evidence_quarantined_count": 0,
|
||
"change_evidence_received_count": 0,
|
||
"change_evidence_rejected_count": 0,
|
||
"cold_start_sequence_accepted_count": 0,
|
||
"compose_stack_state_accepted_count": 0,
|
||
"coverage_percent_after_acceptance": 62,
|
||
"coverage_percent_before_acceptance": 58,
|
||
"cross_project_sync_accepted_count": 0,
|
||
"dependency_impact_accepted_count": 0,
|
||
"docker_compose_action_authorized_count": 0,
|
||
"docker_daemon_state_accepted_count": 0,
|
||
"docker_restart_authorized_count": 0,
|
||
"failed_unit_review_accepted_count": 0,
|
||
"host_write_authorized_count": 0,
|
||
"live_evidence_required_candidate_count": 8,
|
||
"live_host_read_authorized_count": 0,
|
||
"monitoring_alert_accepted_count": 0,
|
||
"operator_notification_accepted_count": 0,
|
||
"outcome_lane_count": 10,
|
||
"port_binding_state_accepted_count": 0,
|
||
"postcheck_evidence_accepted_count": 0,
|
||
"public_route_recovery_accepted_count": 0,
|
||
"recovery_supplement_requested_count": 0,
|
||
"repair_bot_execution_authorized_count": 0,
|
||
"required_evidence_field_count": 25,
|
||
"restoration_time_accepted_count": 0,
|
||
"reviewer_check_count": 26,
|
||
"rollback_owner_accepted_count": 0,
|
||
"route_smoke_authorized_count": 0,
|
||
"runner_or_repair_bot_contention_accepted_count": 0,
|
||
"runtime_gate_count": 0,
|
||
"secret_value_collection_allowed_count": 0,
|
||
"source_acceptance_candidate_count": 9,
|
||
"ssh_read_authorized_count": 0,
|
||
"ssh_write_authorized_count": 0,
|
||
"sudo_action_authorized_count": 0,
|
||
"systemctl_action_authorized_count": 0,
|
||
"systemd_unit_state_accepted_count": 0,
|
||
"write_capable_change_evidence_candidate_count": 3
|
||
}
|
||
}
|