Files
awoooi/docs/operations/host112-guest-recovery-20260711.snapshot.json

168 lines
8.0 KiB
JSON

{
"schema_version": "host112_guest_recovery_receipt_v1",
"generated_at": "2026-07-11T20:10:00+08:00",
"work_item_id": "AG99-P0-008",
"trace_id": "host112-guest-recovery-20260711T193137+0800-35698",
"incident_fingerprint": "host112_vmware_ui_false_powered_off_guest_headless_wazuh_boot_timeout",
"asset": {
"canonical_id": "host:112",
"address": "192.168.0.112",
"guest_role": "Kali and Wazuh security node",
"vm_owner_host": "host:99",
"vmx_alias": "112"
},
"sensor_receipt": {
"vmware_ui_observation": "Powered off",
"vmx_process_present": true,
"vmx_process_id": 22288,
"vmx_process_owner": "NT AUTHORITY\\SYSTEM",
"vmx_process_session_id": 0,
"guest_boot_id": "f265ad96-a262-4285-9836-d2dab7eefb97",
"guest_network_reachable": true,
"guest_ssh_reachable": true,
"pre_recovery_default_target": "multi-user.target",
"pre_recovery_lightdm": "inactive",
"pre_recovery_wazuh_indexer": "failed_timeout",
"wazuh_indexer_boot_timeout": "3min",
"wazuh_indexer_boot_memory_peak": "1.2G"
},
"normalized_diagnosis": {
"vm_power_state": "running",
"vmware_ui_state": "untrusted_cross_principal_false_powered_off",
"guest_boot_state": "reachable_but_not_console_or_service_ready",
"root_causes": [
"SYSTEM-owned headless VMX is isolated from the Administrator VMware UI session",
"Kali defaulted to multi-user.target and LightDM was inactive",
"Wazuh Indexer timed out during boot contention and recovered on a delayed retry"
]
},
"source_diff": {
"new_assets": [
"scripts/reboot-recovery/host112-guest-readiness.sh",
"scripts/reboot-recovery/awoooi-host112-guest-recovery.service",
"scripts/reboot-recovery/awoooi-host112-guest-recovery.timer",
"scripts/reboot-recovery/install-host112-guest-recovery.sh"
],
"updated_assets": [
"scripts/reboot-recovery/windows99-vmware-autostart.ps1",
"scripts/reboot-recovery/reboot-auto-recovery-host-probe.sh",
"scripts/reboot-recovery/reboot-auto-recovery-slo-scorecard.py",
"scripts/reboot-recovery/reboot-auto-recovery-slo-exporter.sh",
"agent99-control-plane.ps1",
"agent99-sre-alert-inbox.ps1",
"agent99-telegram-inbox.ps1",
"apps/api/src/services/agent99_sre_bridge.py",
"ops/monitoring/alerts-unified.yml",
"docs/runbooks/REBOOT-RECOVERY-SOP.md"
],
"source_sha256": {
"host112_readiness": "dc874bf9defe655cf2cae7a678783a847b6653b4255ef5798903afbc974e3e2d",
"host112_installer": "c0ea2d8c10aebef6079f4f73f8614cd9c3fb875903b55824f6b44acf23ab40db",
"windows99_vmware_verifier": "437cc7766f06d9fd543cc472569b238149a79f2dff454dbb9ed704d9e3be7648",
"host_probe": "31dce6f90dc89e2fd38bcde91049aa79711b3e5e11a1ae2d1053e27bbbc1f01f",
"scorecard": "835abf7bf6cf587d40467351974f5eba2b84f731c78c2e6c7aaa254f0eaaf33d",
"exporter": "85f16a3d190cdca866ad44f03c4c3e4decfbdf0d3af873c8e4af4d66780d5214",
"agent99_control_plane": "c17ac79cf59b793db885ea85e17663915cab7644e7428762c312d4ac1b7eb002",
"agent99_sre_alert_inbox": "d4ce271c763eae3d52347a71a22e4b76ce66b87ceb33fe928a6aaf1b37ba7088",
"agent99_telegram_inbox": "7607967de29aa0d8c4f22f170068da4ef63a1b889fb6eb927a01dd3d1bdd525c",
"agent99_sre_bridge": "fd7b5c6f77b55d0598f50d757dd8ba3234e16f8833600637ea827d7fcae85160",
"alert_rules": "86fd0e56cb7633da2a5a09960b8bf2dd61ee917c55072b5a16ba68577e8379cc"
}
},
"decision": {
"risk": "medium",
"controlled_apply_allowed": true,
"candidate_action": "Install a bounded guest recovery timer, restricted forced-command readback, exact-command sudo executor, scorecard gates and dedicated alerts.",
"forbidden_actions": [
"host reboot",
"VM power off, reset or duplicate power on",
"firewall change",
"database restore or write",
"secret or private key value read"
]
},
"check_receipt": {
"staged_source_hashes_matched": true,
"control_public_key_fingerprint_verified": true,
"focused_contract_tests": "31 passed",
"agent99_tests": "49 passed",
"windows99_staged_contract_and_synthetic_validation": "passed",
"json_yaml_parse": "passed"
},
"execution_receipt": {
"initial_recovery_run_id": "host112-guest-recovery-20260711T193137+0800-35698",
"durable_installer_run_id": "host112-guest-recovery-20260711T195449+0800-43505",
"backup_dirs": [
"/var/lib/awoooi-host112-recovery/backups/host112-guest-recovery-20260711T193137+0800-35698",
"/var/lib/awoooi-host112-recovery/backups/host112-guest-recovery-20260711T195449+0800-43505"
],
"durable_installer_path": "/usr/local/sbin/awoooi-install-host112-guest-recovery",
"timer_enabled": true,
"timer_active": true,
"restricted_control_key_installed": true,
"sudo_exact_command_installed": true,
"agent99_runtime_revision": "d0e364bfa42947190cf1e88d1d85623e23f84858",
"agent99_runtime_manifest": "14/14 matched, mismatch 0",
"agent99_deploy_evidence": "C:\\Wooo\\Agent99\\evidence\\agent99-deploy-20260711-200939.json",
"agent99_deploy_backup": "C:\\Wooo\\Agent99\\deploy\\backup-20260711-200939",
"prometheus_rule_backup": "/home/wooo/monitoring/alerts-unified.canonical.yml.host112-v2.bak.20260711200617",
"host_reboot_performed": false,
"vm_power_change_performed": false,
"secret_read": false
},
"post_verifier": {
"host112_guest_ready": true,
"host112_console_ready": true,
"host112_services_ready": true,
"host112_recovery_timer_ready": true,
"host112_systemd_state": "running",
"host112_default_target": "graphical.target",
"host112_lightdm": "active",
"host112_vmware_tools": "active",
"host112_wazuh_indexer": "active",
"host112_wazuh_manager": "active",
"host112_wazuh_dashboard": "active",
"host112_filebeat": "active",
"forced_command_from_110": "passed",
"sudo_n_controlled_apply": "passed_no_action_needed",
"scorecard_artifact": "/home/wooo/reboot-recovery/reboot-auto-recovery-slo-20260711-200338",
"host112_active_blocker_count": 0,
"prometheus_host112_metrics_green": "5/5",
"prometheus_rule_health": "2/2 ok inactive",
"prometheus_rule_sha_source_canonical_runtime_matched": true,
"prometheus_rule_drift_guard_repaired": false,
"agent99_recover_evidence": "C:\\Wooo\\Agent99\\evidence\\agent99-Recover-20260711-200320.json",
"agent99_host112_phase": "ok",
"agent99_host112_before_ready": true,
"agent99_host112_apply_attempted": false,
"agent99_host112_after_ready": true,
"agent99_host112_transport": "direct_serialized",
"agent99_recovery_completed": true,
"agent99_recovery_coordinator_verified": true,
"agent99_reboot_slo_claimed": false,
"agent99_recovery_elapsed_seconds": 44.6,
"agent99_sre_route_selftest": "17/17 passed",
"agent99_telegram_ingest_selftest": "16/16 passed, no alert write, no Telegram send",
"windows99_vmware_verify_ready": true,
"windows99_operator_power_truth": "trust_vmx_process_and_guest_readiness_not_interactive_vmware_ui",
"reboot_recovery_tests": "142 passed"
},
"rollback": {
"command": "sudo /usr/local/sbin/awoooi-install-host112-guest-recovery --rollback /var/lib/awoooi-host112-recovery/backups/host112-guest-recovery-20260711T195449+0800-43505",
"tested": false,
"reason_not_executed": "Post-verifier passed; destructive rollback rehearsal was not required on the recovered production guest."
},
"closure": {
"host112_runtime_scope": "recovered_and_verified",
"full_host_reboot_program": "in_progress_next_600_second_drill_required",
"remaining_reboot_scorecard_blockers": [
"all_required_hosts_not_in_10_minute_reboot_window",
"fresh_all_host_reboot_event_missing",
"host_boot_observation_older_than_target_window"
],
"telegram_receipt": "healthy_state_not_sent; host112 routing and ingest verified by no-send selftests",
"km_writeback": "docs/runbooks/REBOOT-RECOVERY-SOP.md",
"work_item_writeback": "docs/operations/agent99-enterprise-ai-automation-work-items.snapshot.json"
}
}