fix(proposal): action 優先用 kubectl_command,修復批准後永遠 skip 執行的根本 bug
根本問題:approval_records.action 存的是 LLM action_title(中文標題,如「重啟 sentry 服務」), parse_operation_from_action() 無法解析,導致 execute_approved_action() 每次都 skip。 修正:action 優先取 llm_proposal["kubectl_command"](可執行的 kubectl 指令), 僅在沒有 kubectl_command 時才 fallback 到 action_title。 Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -169,7 +169,11 @@ class ProposalService:
|
||||
|
||||
# 使用 LLM 結果或 fallback 到模板
|
||||
if llm_success and llm_proposal:
|
||||
action = llm_proposal["action"]
|
||||
# 2026-04-09 Claude Sonnet 4.6: action 優先用 kubectl_command(可執行),
|
||||
# fallback 到 action_title(中文標題無法被 parse_operation_from_action 解析)
|
||||
# 根本問題: action="未知操作 | " 導致批准後永遠 skip 執行
|
||||
_kubectl = llm_proposal.get("kubectl_command", "").strip()
|
||||
action = _kubectl if _kubectl else llm_proposal["action"]
|
||||
description = f"{llm_proposal['description']}\n\n**AI 推理**: {llm_proposal['reasoning']}"
|
||||
action_type = llm_proposal.get("primary_responsibility", "default").lower()
|
||||
|
||||
|
||||
Reference in New Issue
Block a user