Merge remote-tracking branch 'gitea-ssh/main' into codex/p0-product-manifest-standard-20260629
# Conflicts: # docs/LOGBOOK.md
This commit is contained in:
@@ -1,18 +1,19 @@
|
||||
{
|
||||
"schema_version": "awoooi_priority_work_order_readback_v1",
|
||||
"generated_at": "2026-06-29T14:49:52+08:00",
|
||||
"status": "p0_006a_reboot_auto_recovery_slo_live_probe_installed_blocked_service_health",
|
||||
"generated_at": "2026-06-29T15:05:00+08:00",
|
||||
"status": "p0_006a_reboot_auto_recovery_slo_timer_live_services_green_waiting_reboot_window",
|
||||
"source_refs": {
|
||||
"global_scorecard": "~/.codex/product-runtime-governance-completion-scorecard.snapshot.json",
|
||||
"workstation_dashboard": "~/.codex/codex-workstation-sync-dashboard.snapshot.json",
|
||||
"post_reboot_summary": "/tmp/awoooi-post-reboot-readiness-20260629-115730/summary.txt",
|
||||
"post_reboot_summary": "/home/wooo/reboot-recovery/reboot-auto-recovery-slo-20260629-150501/summary.txt",
|
||||
"full_stack_cold_start_check": "scripts/reboot-recovery/full-stack-cold-start-check.sh --monitor-read-only --no-color",
|
||||
"delivery_closure_workbench": "https://awoooi.wooo.work/api/v1/agents/delivery-closure-workbench",
|
||||
"public_gitea_queue_readback": "ops/runner/read-public-gitea-actions-queue.py --json",
|
||||
"credential_escrow_scorecard": "/tmp/awoooi-credential-escrow-intake-scorecard-20260629-1200-priority.json",
|
||||
"dr_escrow_evidence_checklist_generator": "scripts/reboot-recovery/dr-escrow-evidence-checklist.py",
|
||||
"gitea_private_inventory_p0_scorecard": "docs/operations/awoooi-gitea-private-inventory-p0-scorecard.snapshot.json",
|
||||
"reboot_auto_recovery_slo_scorecard": "docs/operations/awoooi-reboot-auto-recovery-slo-scorecard.snapshot.json"
|
||||
"reboot_auto_recovery_slo_scorecard": "docs/operations/awoooi-reboot-auto-recovery-slo-scorecard.snapshot.json",
|
||||
"reboot_auto_recovery_slo_metric": "/home/wooo/node_exporter_textfiles/reboot_auto_recovery_slo.prom"
|
||||
},
|
||||
"current_head": {
|
||||
"gitea_main_sha": "7ff959b6a8bbdf152da1969687f188ceda4b0561",
|
||||
@@ -186,8 +187,8 @@
|
||||
{
|
||||
"workplan_id": "P0-006",
|
||||
"title": "主機重啟自動偵測、自動觸發與 10 分鐘恢復 SLO",
|
||||
"status": "blocked_reboot_auto_recovery_slo_not_ready",
|
||||
"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.",
|
||||
"status": "blocked_waiting_fresh_all_host_reboot_window",
|
||||
"reason": "Boot-triggered SLO timer is enabled and active on host 110; live metric and scorecard observed all required hosts. Service/data/backup/188 readback is green. The 10-minute claim remains fail-closed only because the current boot observation is older than the 600-second target window, so the next proof requires an actual fresh all-host reboot event or an approved reboot drill.",
|
||||
"evidence": {
|
||||
"target_minutes": 10,
|
||||
"can_claim_all_services_recovered_within_target": false,
|
||||
@@ -195,10 +196,10 @@
|
||||
"host_boot_probe_source_present": true,
|
||||
"slo_systemd_timer_source_present": true,
|
||||
"slo_exporter_source_present": true,
|
||||
"post_start_blocked": 6,
|
||||
"service_green": false,
|
||||
"post_start_blocked": 0,
|
||||
"service_green": true,
|
||||
"product_data_green": true,
|
||||
"backup_core_green": false,
|
||||
"backup_core_green": true,
|
||||
"wazuh_dashboard_degraded": false,
|
||||
"all_host_reboot_detection_missing": false,
|
||||
"host_boot_probe_missing_hosts": false,
|
||||
@@ -222,32 +223,31 @@
|
||||
"121",
|
||||
"188"
|
||||
],
|
||||
"max_observed_uptime_seconds": 518414,
|
||||
"max_observed_uptime_seconds": 519376,
|
||||
"active_blockers": [
|
||||
"backup_core_green_not_1",
|
||||
"host_boot_observation_older_than_target_window",
|
||||
"post_start_blocked_not_zero",
|
||||
"service_green_not_1"
|
||||
]
|
||||
"host_boot_observation_older_than_target_window"
|
||||
],
|
||||
"host_188_service_green": true,
|
||||
"safe_next_step_from_scorecard": "timer_deployed_and_services_readback_green_wait_for_next_all_host_reboot_event_or_approved_reboot_drill_to_prove_10_minute_slo"
|
||||
},
|
||||
"professional_fix": {
|
||||
"owner": "reboot auto-recovery lane",
|
||||
"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.",
|
||||
"action": "Keep the live boot-triggered SLO timer enabled. Do not reboot from this lane. Use the next actual all-host reboot event, or a separately approved reboot drill, to prove max_observed_uptime_seconds<=600 with service/data/backup readback still green.",
|
||||
"exit_criteria": [
|
||||
"can_claim_all_services_recovered_within_target=true",
|
||||
"observed_hosts=110,120,121,188",
|
||||
"missing_hosts=[]",
|
||||
"unreachable_hosts=[]",
|
||||
"max_observed_uptime_seconds<=600 during a fresh reboot window",
|
||||
"max_observed_uptime_seconds<=600 during a fresh all-host reboot window",
|
||||
"POST_START_BLOCKED=0",
|
||||
"SERVICE_GREEN=1",
|
||||
"PRODUCT_DATA_GREEN=1",
|
||||
"BACKUP_CORE_GREEN=1",
|
||||
"WAZUH_DASHBOARD_DEGRADED=0",
|
||||
"HOST_188_SERVICE_GREEN=1",
|
||||
"live_slo_metric_present=true"
|
||||
]
|
||||
},
|
||||
"safe_next_step": "fix_backup_core_post_start_and_service_green_blockers_then_rerun_live_slo_scorecard_after_next_reboot_window"
|
||||
"safe_next_step": "wait_for_next_all_host_reboot_event_or_separately_approved_reboot_drill_to_prove_10_minute_slo"
|
||||
}
|
||||
],
|
||||
"noise_integrated_risk_register": [
|
||||
@@ -319,8 +319,8 @@
|
||||
"database_write_or_restore_performed": false
|
||||
},
|
||||
"next_execution_order": [
|
||||
"P0-006: keep the live reboot SLO timer active; next proof is the next fresh all-host reboot event or separately approved reboot drill, not another source deploy.",
|
||||
"P0-005: fill the single DR escrow evidence checklist with five non-secret refs and rerun one preflight.",
|
||||
"P0-003: convert private/internal inventory to Gitea-only readback and remove retired GitHub from active P0 blocker math.",
|
||||
"P0-006: deploy boot-triggered reboot auto-recovery SLO verifier, collect all-host boot probe, and prove or block the 10-minute recovery claim."
|
||||
"P0-003: complete Gitea authenticated/admin inventory export and owner coverage attestation; GitHub remains stopped/retired/do_not_use."
|
||||
]
|
||||
}
|
||||
|
||||
@@ -1,29 +1,26 @@
|
||||
{
|
||||
"active_blockers": [
|
||||
"backup_core_green_not_1",
|
||||
"host_boot_observation_older_than_target_window",
|
||||
"post_start_blocked_not_zero",
|
||||
"service_green_not_1"
|
||||
"host_boot_observation_older_than_target_window"
|
||||
],
|
||||
"can_claim_all_services_recovered_within_target": false,
|
||||
"capacity": {
|
||||
"checked": true,
|
||||
"free_gib": 145.514,
|
||||
"free_gib": 145.646,
|
||||
"min_free_gib": 2.0
|
||||
},
|
||||
"generated_at": "2026-06-29T14:49:52+08:00",
|
||||
"generated_at": "2026-06-29T15:06:25+08:00",
|
||||
"host_boot_detection": {
|
||||
"host_rows": [
|
||||
{
|
||||
"alias": "110",
|
||||
"boot_id": "a3dfae32-3762-4394-86fa-a342aea07df5",
|
||||
"reachable": true,
|
||||
"startup_active": "inactive_unknown",
|
||||
"startup_active": "inactive",
|
||||
"startup_enabled": "enabled",
|
||||
"startup_unit": "awoooi-startup-110.service",
|
||||
"systemd_state": "degraded",
|
||||
"target": "wooo@192.168.0.110",
|
||||
"uptime_seconds": 518406
|
||||
"uptime_seconds": 519367
|
||||
},
|
||||
{
|
||||
"alias": "120",
|
||||
@@ -34,7 +31,7 @@
|
||||
"startup_unit": "k3s.service",
|
||||
"systemd_state": "running",
|
||||
"target": "wooo@192.168.0.120",
|
||||
"uptime_seconds": 518397
|
||||
"uptime_seconds": 519359
|
||||
},
|
||||
{
|
||||
"alias": "121",
|
||||
@@ -45,7 +42,7 @@
|
||||
"startup_unit": "k3s.service",
|
||||
"systemd_state": "running",
|
||||
"target": "wooo@192.168.0.121",
|
||||
"uptime_seconds": 518355
|
||||
"uptime_seconds": 519317
|
||||
},
|
||||
{
|
||||
"alias": "188",
|
||||
@@ -56,10 +53,10 @@
|
||||
"startup_unit": "awoooi-startup.service",
|
||||
"systemd_state": "running",
|
||||
"target": "ollama@192.168.0.188",
|
||||
"uptime_seconds": 518414
|
||||
"uptime_seconds": 519376
|
||||
}
|
||||
],
|
||||
"max_observed_uptime_seconds": 518414,
|
||||
"max_observed_uptime_seconds": 519376,
|
||||
"missing_hosts": [],
|
||||
"observed_hosts": [
|
||||
"110",
|
||||
@@ -83,18 +80,18 @@
|
||||
"unreachable_hosts": []
|
||||
},
|
||||
"post_reboot_readiness": {
|
||||
"backup_core_green": false,
|
||||
"backup_core_green": true,
|
||||
"host_188_service_green": true,
|
||||
"next_required_gates": "none",
|
||||
"overall_declaration": "SERVICE_BLOCKED",
|
||||
"post_start_blocked": 6,
|
||||
"post_start_result": "BLOCKED",
|
||||
"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",
|
||||
"product_data_green": true,
|
||||
"service_green": false,
|
||||
"service_green": true,
|
||||
"summary_present": 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",
|
||||
"safe_next_step": "timer_deployed_and_services_readback_green_wait_for_next_all_host_reboot_event_or_approved_reboot_drill_to_prove_10_minute_slo",
|
||||
"schema_version": "awoooi_reboot_auto_recovery_slo_scorecard_v1",
|
||||
"source_controls": {
|
||||
"cold_start_textfile_exporter_source_present": true,
|
||||
|
||||
Reference in New Issue
Block a user