fix: seed 参数只传给 LocalExecutor,假执行器/CloudExecutor 旧签名不再炸
worker 曾无条件给同步路径的 goal_task/dispatch_task 传 seed_dir, CloudExecutor 基类与测试假执行器只有 (task) 一个参数,直接 TypeError,炸掉 test_project_repo 2 个 + test_cloud_executor_goal_unsupported 1 个(后者本应报“不支持 goal”)。改成 isinstance(LocalExecutor) 才传 seed_dir,其余走原签名;Docker 路径已有 is_docker 守卫。
This commit is contained in:
1 parent
7c444a688b
commit
9306c957f3
1 file changed
+19
-4
+19
-4
@@ -1677,12 +1677,27 @@ class Worker:
|
||||
extra_env=proxy_env,
|
||||
seed_host_dir=seed_host_dir)
|
||||
else:
|
||||
# seed 参数只传给 LocalExecutor:CloudExecutor
|
||||
# 基类与测试假执行器的 goal_task/dispatch_task
|
||||
# 只有 (task) 一个参数,多传 seed_dir 会直接
|
||||
# TypeError(2026-10-27 实测炸掉 3 个旧测试);
|
||||
# Docker 路径上面已有 is_docker 守卫,不走这里。
|
||||
if goal_mode:
|
||||
result = self.executor.goal_task(
|
||||
task, seed_dir=seed_host_dir)
|
||||
if task.get("_resume") and isinstance(
|
||||
self.executor, LocalExecutor):
|
||||
result = self.executor.goal_resume_task(
|
||||
task, task["prompt"])
|
||||
elif isinstance(self.executor, LocalExecutor):
|
||||
result = self.executor.goal_task(
|
||||
task, seed_dir=seed_host_dir)
|
||||
else:
|
||||
result = self.executor.goal_task(task)
|
||||
else:
|
||||
result = self.executor.dispatch_task(
|
||||
task, seed_dir=seed_host_dir)
|
||||
if isinstance(self.executor, LocalExecutor):
|
||||
result = self.executor.dispatch_task(
|
||||
task, seed_dir=seed_host_dir)
|
||||
else:
|
||||
result = self.executor.dispatch_task(task)
|
||||
combined = (result.get("stdout", "") or "") + \
|
||||
(result.get("stderr", "") or "")
|
||||
if not goal_mode and result["status"] != "completed" and \
|
||||
|
||||
Reference in new issue
Block a user