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"