fix(reboot): classify runtime hot path blockers
Some checks failed
CD Pipeline / workflow-shape (push) Successful in 1s
CD Pipeline / cancel-stale-cd (push) Has been skipped
CD Pipeline / build-and-deploy (push) Has been cancelled
CD Pipeline / post-deploy-checks (push) Has been cancelled
CD Pipeline / tests (push) Has been cancelled

This commit is contained in:
Your Name
2026-07-03 00:58:20 +08:00
parent 7577b256b3
commit cee40854fe
5 changed files with 87 additions and 15 deletions

View File

@@ -1420,7 +1420,9 @@ def _reboot_sop_current_phase(active_blockers: list[str], can_claim_slo: bool) -
if "local_disk_free_below_minimum" in active_blockers:
return "host_capacity_blocked"
if any(
blocker.startswith("host_") or blocker.startswith("awooop_")
blocker.startswith("host_")
or blocker.startswith("awooop_")
or blocker.startswith("conversation_event_hot_path_")
for blocker in active_blockers
):
return "host_pressure_blocked"
@@ -1668,15 +1670,27 @@ def _active_blocker_action_row(
"host_110_gitea_cpu_pressure",
"host_188_postgres_cpu_pressure",
"awooop_conversation_event_hot_path_index_drift_detected",
"conversation_event_hot_path_index_migration_source_missing",
}:
category = "host_cpu_pressure"
owner_lane = "host_pressure_controller"
next_safe_action = (
"collect_sanitized_host_pressure_and_apply_allowed_playbook_if_"
"verifier_green_no_restart"
)
post_verifier = "host_pressure_readback_and_reboot_slo_scorecard"
evidence_inputs = ["host_pressure"]
if blocker == "conversation_event_hot_path_index_migration_source_missing":
next_safe_action = (
"restore_conversation_event_hot_path_migration_source_then_rerun_"
"host_pressure_and_reboot_slo_scorecard_no_restart"
)
post_verifier = (
"source_controls_conversation_event_hot_path_index_migration_"
"and_host_pressure_readback"
)
evidence_inputs = ["source_controls", "runtime_metric_readback"]
else:
next_safe_action = (
"collect_sanitized_host_pressure_and_apply_allowed_playbook_if_"
"verifier_green_no_restart"
)
post_verifier = "host_pressure_readback_and_reboot_slo_scorecard"
evidence_inputs = ["host_pressure"]
controlled_apply_mode = "playbook_check_mode_then_controlled_apply_if_low_risk"
forbidden_actions.extend(
["unmask_legacy_runner_or_restore_generic_labels", "kill_process_without_gate"]