From f877e707ce3bb51c1666f2f1fbc7e5f8103406a5 Mon Sep 17 00:00:00 2001 From: Your Name Date: Sun, 31 May 2026 16:23:47 +0800 Subject: [PATCH] =?UTF-8?q?fix(alerts):=20=E6=94=B6=E6=96=82=E6=8B=92?= =?UTF-8?q?=E7=B5=95=E5=AF=A9=E6=89=B9=E7=B5=90=E6=9E=9C=E5=8E=9F=E5=9B=A0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- apps/api/src/services/operator_outcome.py | 2 +- apps/api/tests/test_operator_outcome.py | 1 + 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/apps/api/src/services/operator_outcome.py b/apps/api/src/services/operator_outcome.py index 5282f678..54b2262a 100644 --- a/apps/api/src/services/operator_outcome.py +++ b/apps/api/src/services/operator_outcome.py @@ -148,7 +148,7 @@ def build_operator_outcome( needs_human = False next_action = "monitor_or_reopen_if_alert_recurs" summary = "已拒絕處置,未執行修復" - reason = first_blocker or "approval_rejected" + reason = "approval_rejected" elif verdict == "approval_expired_manual_review" or stage == "approval_expired": state = "approval_expired_manual_review" severity = "warning" diff --git a/apps/api/tests/test_operator_outcome.py b/apps/api/tests/test_operator_outcome.py index 7b058310..8cf0424a 100644 --- a/apps/api/tests/test_operator_outcome.py +++ b/apps/api/tests/test_operator_outcome.py @@ -104,6 +104,7 @@ def test_operator_outcome_marks_rejected_approval_as_closed_no_execution() -> No assert outcome["state"] == "approval_rejected_no_execution" assert outcome["needs_human"] is False + assert outcome["human_action_reason"] == "approval_rejected" assert outcome["notification"]["mode"] == "result_only" assert outcome["next_action"] == "monitor_or_reopen_if_alert_recurs"