fix(governance): 避免狀態清理儀表板曝光本機路徑
Some checks failed
Code Review / ai-code-review (push) Successful in 13s
CD Pipeline / tests (push) Successful in 1m51s
CD Pipeline / build-and-deploy (push) Successful in 4m24s
CD Pipeline / post-deploy-checks (push) Failing after 1m36s
Ansible / Reboot Recovery Contract / validate (push) Has been cancelled

This commit is contained in:
Your Name
2026-06-24 23:48:18 +08:00
parent ed755dc3b8
commit 9c5acc0360
5 changed files with 33 additions and 13 deletions

View File

@@ -20,6 +20,10 @@ from typing import Any
TARGET_ROUTE = "/workspace/status-cleanup"
PRIVATE_PROJECT_STATUS_PATH = (
"/Users/ogt/.claude/projects/-Users-ogt-awoooi/memory/project_current_status.md"
)
PUBLIC_PROJECT_STATUS_REF = "awoooi_memory/project_current_status.md"
def utc_now_iso() -> str:
@@ -63,6 +67,10 @@ def append_boundary_tokens(boundary: str, tokens: list[str]) -> str:
return " ".join(parts)
def public_blocker_text(value: str) -> str:
return value.replace(PRIVATE_PROJECT_STATUS_PATH, PUBLIC_PROJECT_STATUS_REF)
def section_value(owner_package: dict[str, Any], section_id: str) -> str:
for item in owner_package.get("required_update_sections", []):
if item.get("section_id") == section_id:
@@ -345,13 +353,22 @@ def build_payload(
+ str(wazuh_visibility.get("runtime_gate_count", 0)),
],
)
blockers = unique_strings(
preflight.get("hard_gates", []),
[f"owner_response_preflight:{item}" for item in owner_response_preflight.get("blocking_reasons", [])],
[f"execution_plan_blocked_until:{item}" for item in execution_plan.get("blocked_until", [])],
[f"apply_gate:{item}" for item in apply_gate.get("blocking_reasons", [])],
[f"wazuh_boundary:{wazuh_boundary}"] if wazuh_boundary else [],
)
blockers = [
public_blocker_text(item)
for item in unique_strings(
preflight.get("hard_gates", []),
[
f"owner_response_preflight:{item}"
for item in owner_response_preflight.get("blocking_reasons", [])
],
[
f"execution_plan_blocked_until:{item}"
for item in execution_plan.get("blocked_until", [])
],
[f"apply_gate:{item}" for item in apply_gate.get("blocking_reasons", [])],
[f"wazuh_boundary:{wazuh_boundary}"] if wazuh_boundary else [],
)
]
actions = next_actions(owner_response_preflight, apply_gate)
metrics = metric_cards(
preflight,