diff --git a/apps/api/src/services/decision_manager.py b/apps/api/src/services/decision_manager.py index 63941918..684ca81c 100644 --- a/apps/api/src/services/decision_manager.py +++ b/apps/api/src/services/decision_manager.py @@ -2344,9 +2344,11 @@ class DecisionManager: existing = [] existing.append(entry) + # asyncpg 不支援 :param::type 語法,改用 CAST(:param AS jsonb) + # 2026-04-16 Claude Sonnet 4.6: fix syntax error at or near ":" await db.execute( _sa_text( - "UPDATE incidents SET decision_chain = :dc::json WHERE incident_id = :iid" + "UPDATE incidents SET decision_chain = CAST(:dc AS jsonb) WHERE incident_id = :iid" ), {"dc": _json.dumps(existing), "iid": incident_id}, ) diff --git a/k8s/awoooi-prod/04-configmap.yaml b/k8s/awoooi-prod/04-configmap.yaml index f78f1a77..93e0f32d 100644 --- a/k8s/awoooi-prod/04-configmap.yaml +++ b/k8s/awoooi-prod/04-configmap.yaml @@ -136,7 +136,10 @@ data: AIOPS_P4_LOG_ANOMALY: "true" AIOPS_P4_TREND_PREDICTOR: "true" AIOPS_P4_PROACTIVE_INSPECTOR: "true" - AIOPS_P4_SHADOW_MODE: "true" + # 2026-04-16 Claude Sonnet 4.6: 解除 shadow mode — 真實主動監控啟用 + # 原因: baseline_anomalies/trend_breaches 皆 0,且 proactive_inspector 只寫 _last_report + # 行為改變: ProactiveAlert.shadow_mode=false → PreDecisionInvestigator 讀取後可觸發 Incident + AIOPS_P4_SHADOW_MODE: "false" AIOPS_P5_ENABLED: "true" AIOPS_P5_BLAST_RADIUS_CHECK: "true" AIOPS_P5_GITOPS_PR: "false"