Merge remote-tracking branch 'gitea-ssh/main' into codex/p0-product-manifest-standard-20260629

This commit is contained in:
Your Name
2026-06-29 15:03:34 +08:00
10 changed files with 548 additions and 49 deletions

View File

@@ -1,7 +1,7 @@
{
"schema_version": "awoooi_priority_work_order_readback_v1",
"generated_at": "2026-06-29T14:27:32+08:00",
"status": "p0_006a_reboot_auto_recovery_slo_control_plane_added_blocked_until_live_probe",
"generated_at": "2026-06-29T14:49:52+08:00",
"status": "p0_006a_reboot_auto_recovery_slo_live_probe_installed_blocked_service_health",
"source_refs": {
"global_scorecard": "~/.codex/product-runtime-governance-completion-scorecard.snapshot.json",
"workstation_dashboard": "~/.codex/codex-workstation-sync-dashboard.snapshot.json",
@@ -15,9 +15,9 @@
"reboot_auto_recovery_slo_scorecard": "docs/operations/awoooi-reboot-auto-recovery-slo-scorecard.snapshot.json"
},
"current_head": {
"gitea_main_sha": "748ee37ca958df1e1e25453363de3d9f3f02a6c1",
"latest_successful_deploy_marker": "9362588ce chore(cd): deploy a423301 [skip ci]",
"latest_successful_deployed_source_sha": "a4233017ad5fd03977233f3db6a4bb45d71507ed",
"gitea_main_sha": "7ff959b6a8bbdf152da1969687f188ceda4b0561",
"latest_successful_deploy_marker": "15824e9ec chore(cd): deploy 57c1df1 [skip ci]",
"latest_successful_deployed_source_sha": "57c1df19fca580dafa5980d82d164819de0dbcd5",
"latest_source_readiness_commit_sha": "0c8d4e88c39157b92322fa41a92e6b15c317ac49",
"latest_source_readiness_cd_run_id": "3882",
"latest_source_readiness_cd_run_status": "Success",
@@ -187,7 +187,7 @@
"workplan_id": "P0-006",
"title": "主機重啟自動偵測、自動觸發與 10 分鐘恢復 SLO",
"status": "blocked_reboot_auto_recovery_slo_not_ready",
"reason": "The required target is automatic all-host reboot detection plus boot-triggered recovery verification. Current source now has the control-plane verifier, but live all-host boot probe has not been collected and Wazuh dashboard is still degraded.",
"reason": "Boot-triggered SLO timer is live on host 110 and all required host boot probes are now observed; the 10-minute recovery claim remains fail-closed because this was not a fresh reboot window and service/backup/post-start blockers remain.",
"evidence": {
"target_minutes": 10,
"can_claim_all_services_recovered_within_target": false,
@@ -195,31 +195,59 @@
"host_boot_probe_source_present": true,
"slo_systemd_timer_source_present": true,
"slo_exporter_source_present": true,
"post_start_blocked": 0,
"service_green": true,
"post_start_blocked": 6,
"service_green": false,
"product_data_green": true,
"backup_core_green": true,
"wazuh_dashboard_degraded": true,
"all_host_reboot_detection_missing": true,
"host_boot_probe_missing_hosts": true,
"local_disk_free_gib_after_cleanup": 3.271
"backup_core_green": false,
"wazuh_dashboard_degraded": false,
"all_host_reboot_detection_missing": false,
"host_boot_probe_missing_hosts": false,
"local_disk_free_gib_after_cleanup": 145.514,
"slo_installer_source_present": true,
"live_slo_timer_enabled": true,
"live_slo_timer_active": true,
"live_slo_service_last_result": "success",
"live_slo_metric_present": true,
"observed_hosts": [
"110",
"120",
"121",
"188"
],
"missing_hosts": [],
"unreachable_hosts": [],
"stale_hosts": [
"110",
"120",
"121",
"188"
],
"max_observed_uptime_seconds": 518414,
"active_blockers": [
"backup_core_green_not_1",
"host_boot_observation_older_than_target_window",
"post_start_blocked_not_zero",
"service_green_not_1"
]
},
"professional_fix": {
"owner": "reboot auto-recovery lane",
"action": "Deploy the boot-triggered SLO timer/exporter, collect all-host boot probes, and rerun the scorecard until it can prove all services recovered inside 10 minutes.",
"action": "Keep the live boot-triggered SLO timer enabled, fix backup_core/post-start/service blockers, then use the next fresh reboot window to prove max_observed_uptime_seconds<=600.",
"exit_criteria": [
"can_claim_all_services_recovered_within_target=true",
"observed_hosts=110,120,121,188",
"max_observed_uptime_seconds<=600",
"missing_hosts=[]",
"unreachable_hosts=[]",
"max_observed_uptime_seconds<=600 during a fresh reboot window",
"POST_START_BLOCKED=0",
"SERVICE_GREEN=1",
"PRODUCT_DATA_GREEN=1",
"BACKUP_CORE_GREEN=1",
"WAZUH_DASHBOARD_DEGRADED=0",
"local_disk_free_gib>=2"
"live_slo_metric_present=true"
]
},
"safe_next_step": "deploy_boot_triggered_slo_timer_and_collect_all_host_boot_probe_then_rerun_scorecard"
"safe_next_step": "fix_backup_core_post_start_and_service_green_blockers_then_rerun_live_slo_scorecard_after_next_reboot_window"
}
],
"noise_integrated_risk_register": [

View File

@@ -1,47 +1,98 @@
{
"active_blockers": [
"all_host_reboot_detection_missing",
"host_boot_probe_missing_hosts",
"wazuh_dashboard_degraded"
"backup_core_green_not_1",
"host_boot_observation_older_than_target_window",
"post_start_blocked_not_zero",
"service_green_not_1"
],
"can_claim_all_services_recovered_within_target": false,
"capacity": {
"checked": true,
"free_gib": 2.707,
"free_gib": 145.514,
"min_free_gib": 2.0
},
"generated_at": "2026-06-29T14:27:32+08:00",
"generated_at": "2026-06-29T14:49:52+08:00",
"host_boot_detection": {
"host_rows": [],
"max_observed_uptime_seconds": 0,
"missing_hosts": [
"host_rows": [
{
"alias": "110",
"boot_id": "a3dfae32-3762-4394-86fa-a342aea07df5",
"reachable": true,
"startup_active": "inactive_unknown",
"startup_enabled": "enabled",
"startup_unit": "awoooi-startup-110.service",
"systemd_state": "degraded",
"target": "wooo@192.168.0.110",
"uptime_seconds": 518406
},
{
"alias": "120",
"boot_id": "866d621e-bad0-4096-938e-b103db8e5e03",
"reachable": true,
"startup_active": "active",
"startup_enabled": "enabled",
"startup_unit": "k3s.service",
"systemd_state": "running",
"target": "wooo@192.168.0.120",
"uptime_seconds": 518397
},
{
"alias": "121",
"boot_id": "119c4ea7-8b49-45aa-b60e-bcd4b5dd0979",
"reachable": true,
"startup_active": "active",
"startup_enabled": "enabled",
"startup_unit": "k3s.service",
"systemd_state": "running",
"target": "wooo@192.168.0.121",
"uptime_seconds": 518355
},
{
"alias": "188",
"boot_id": "9cc1f1fc-b7cc-42c1-bc83-d495f0e3c863",
"reachable": true,
"startup_active": "inactive",
"startup_enabled": "enabled",
"startup_unit": "awoooi-startup.service",
"systemd_state": "running",
"target": "ollama@192.168.0.188",
"uptime_seconds": 518414
}
],
"max_observed_uptime_seconds": 518414,
"missing_hosts": [],
"observed_hosts": [
"110",
"120",
"121",
"188"
],
"observed_hosts": [],
"required_hosts": [
"110",
"120",
"121",
"188"
],
"stale_hosts": [],
"stale_hosts": [
"110",
"120",
"121",
"188"
],
"unknown_uptime_hosts": [],
"unreachable_hosts": []
},
"post_reboot_readiness": {
"backup_core_green": true,
"backup_core_green": false,
"host_188_service_green": true,
"next_required_gates": "credential_escrow_evidence",
"overall_declaration": "FULL_STACK_GREEN_DR_ESCROW_BLOCKED",
"post_start_blocked": 0,
"post_start_result": "FULL_STACK_GREEN_DR_ESCROW_BLOCKED",
"next_required_gates": "none",
"overall_declaration": "SERVICE_BLOCKED",
"post_start_blocked": 6,
"post_start_result": "BLOCKED",
"product_data_green": true,
"service_green": true,
"service_green": false,
"summary_present": true,
"wazuh_dashboard_degraded": true
"wazuh_dashboard_degraded": false
},
"safe_next_step": "deploy_boot_triggered_slo_timer_and_collect_all_host_boot_probe_then_rerun_scorecard_until_status_slo_ready",
"schema_version": "awoooi_reboot_auto_recovery_slo_scorecard_v1",
@@ -52,6 +103,7 @@
"host_boot_probe_source_present": true,
"post_reboot_summary_source_present": true,
"slo_exporter_source_present": true,
"slo_installer_source_present": true,
"slo_systemd_service_source_present": true,
"slo_systemd_timer_source_present": true
},