fix(webhook+decision): ADR-089 async webhook + 超時髒資料修復
All checks were successful
CD Pipeline / build-and-deploy (push) Successful in 10m16s
All checks were successful
CD Pipeline / build-and-deploy (push) Successful in 10m16s
P0 — Webhook async (ADR-089): - Alertmanager 收到告警立即回 202,不再同步等 90s LLM - 新增 _process_new_alert_background():LLM 分析/Approval/Incident/Telegram 全進背景 - 根治 Alertmanager Fallback 風暴(超時 → 重送 → 指數退避風暴) P1 — 超時髒資料 (decision_manager): - _package_to_proposal_data: blocked_reason 禁止進 desc_parts(禁進卡片) - _push_decision_to_telegram: suggested_action fallback 改「待分析」,禁止 description 流入 Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -408,7 +408,11 @@ async def _push_decision_to_telegram(
|
||||
risk_level=risk_level,
|
||||
resource_name=target[:50],
|
||||
root_cause=_card_root_cause,
|
||||
suggested_action=action[:120] if action else (description[:120] if description else "待分析"),
|
||||
# 2026-04-17 ogt + Claude Sonnet 4.6(亞太): 修復超時降級髒資料
|
||||
# 舊:action="" 時 fallback 到 description,而 description 可能是「待分析」或診斷摘要
|
||||
# 這導致 description 中的診斷文字(如「根因:...」)出現在「建議修復動作」欄位
|
||||
# 新:action="" 時固定顯示「待分析」,禁止 description 流進 suggested_action
|
||||
suggested_action=action[:120] if action else "待分析",
|
||||
estimated_downtime="5-15 min",
|
||||
primary_responsibility="INFRA",
|
||||
confidence=confidence,
|
||||
@@ -1085,8 +1089,10 @@ def _package_to_proposal_data(package: Any) -> dict[str, Any]:
|
||||
if plan and getattr(plan, "top_candidate", None):
|
||||
c = plan.top_candidate
|
||||
desc_parts.append(f"方案:{c.action[:100]}")
|
||||
if package.blocked_reason:
|
||||
desc_parts.append(f"備注:{package.blocked_reason[:100]}")
|
||||
# blocked_reason 是系統內部診斷,不能放進 description(Telegram 卡片顯示用)
|
||||
# 2026-04-17 ogt + Claude Sonnet 4.6(亞太): 修復超時髒資料污染卡片
|
||||
# 舊:blocked_reason → desc_parts → description → suggested_action 欄位顯示「備注:全局超時 > 90.0s」
|
||||
# 新:blocked_reason 只寫入 proposal_data["blocked_reason"],供下游閘門邏輯用,禁止進卡片顯示
|
||||
description = ";".join(desc_parts) if desc_parts else (action[:200] if action else "待分析")
|
||||
|
||||
return {
|
||||
|
||||
Reference in New Issue
Block a user