From 71f0dbf2b5c8e01ace5a9fc51b751a4d0279c9c5 Mon Sep 17 00:00:00 2001 From: OG T Date: Fri, 10 Apr 2026 21:59:52 +0800 Subject: [PATCH] =?UTF-8?q?fix(auto=5Fexecute):=20ApprovalRequest=20?= =?UTF-8?q?=E8=A3=9C=E9=BD=8A=20description/requested=5Fby/required=5Fsign?= =?UTF-8?q?atures?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 3 validation errors 導致 auto_execute_failed 補上所有必填欄位,required_signatures=0 表示自動核准不需簽核 Co-Authored-By: Claude Sonnet 4.6 --- apps/api/src/services/decision_manager.py | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/apps/api/src/services/decision_manager.py b/apps/api/src/services/decision_manager.py index daf6f84e..2bbab25f 100644 --- a/apps/api/src/services/decision_manager.py +++ b/apps/api/src/services/decision_manager.py @@ -671,12 +671,16 @@ class DecisionManager: from src.models.approval import ApprovalRequest, ApprovalStatus from src.services.approval_execution import ApprovalExecutionService - # 建立虛擬 ApprovalRequest + # 建立虛擬 ApprovalRequest (auto_execute — 不需人工審核) + _risk = token.proposal_data.get("risk_level", "low") approval = ApprovalRequest( incident_id=incident.incident_id, action=action, + description=token.proposal_data.get("description", action[:100]), + requested_by="auto_approve", + required_signatures=0, status=ApprovalStatus.APPROVED, - risk_level=token.proposal_data.get("risk_level", "low"), + risk_level=_risk, ) # 執行