diff --git a/apps/ai-game-creator-shell/src-tauri/src/agent/runtime_actions/action_execution.rs b/apps/ai-game-creator-shell/src-tauri/src/agent/runtime_actions/action_execution.rs index 7320fc65c..620aec6df 100644 --- a/apps/ai-game-creator-shell/src-tauri/src/agent/runtime_actions/action_execution.rs +++ b/apps/ai-game-creator-shell/src-tauri/src/agent/runtime_actions/action_execution.rs @@ -66,12 +66,10 @@ pub(crate) async fn execute_game_creator_agent_runtime_tool_action_with_pending_ return blocker; } } - if !relaxed_autonomous { - if let Some(blocker) = - agent_runtime_autonomous_art_director_canvas_only_action_block(agent_id, task, tool) - { - return blocker; - } + if let Some(blocker) = + agent_runtime_autonomous_art_director_canvas_only_action_block(agent_id, task, tool) + { + return blocker; } let command_id = game_creator_agent_runtime_tool_command_id(tool); if let Some(command_id) = command_id { diff --git a/apps/ai-game-creator-shell/src-tauri/src/agent/runtime_actions/project_gates.rs b/apps/ai-game-creator-shell/src-tauri/src/agent/runtime_actions/project_gates.rs index d4e7fde49..4d4727ac9 100644 --- a/apps/ai-game-creator-shell/src-tauri/src/agent/runtime_actions/project_gates.rs +++ b/apps/ai-game-creator-shell/src-tauri/src/agent/runtime_actions/project_gates.rs @@ -138,12 +138,16 @@ pub(crate) fn ensure_current_autonomous_ready_child_mutation_at_locked( if game_creator_agent_runtime_cancel_requested_for(root, &normalized_agent_id, run_id) { return Err("当前 Run 已收到取消请求,禁止继续修改项目".to_string()); } - if autonomous_relaxed_run_at(root, &normalized_agent_id, run_id)? { - return Ok(()); - } + let relaxed_autonomous = autonomous_relaxed_run_at(root, &normalized_agent_id, run_id)?; let binding = read_game_creator_agent_runtime_run_profile_binding(root, &normalized_agent_id, run_id)?; let Some(binding) = binding else { + if relaxed_autonomous { + // Keep the relaxed lane compatible with legacy runs that predate + // durable Run Profile sidecars; bound runs still receive the + // current-root and lineage checks below. + return Ok(()); + } let task = read_latest_game_creator_agent_runtime_task_by_run_id( root, &normalized_agent_id,