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,
|
extra_env=proxy_env,
|
||||||
seed_host_dir=seed_host_dir)
|
seed_host_dir=seed_host_dir)
|
||||||
else:
|
else:
|
||||||
|
# seed 参数只传给 LocalExecutor:CloudExecutor
|
||||||
|
# 基类与测试假执行器的 goal_task/dispatch_task
|
||||||
|
# 只有 (task) 一个参数,多传 seed_dir 会直接
|
||||||
|
# TypeError(2026-10-27 实测炸掉 3 个旧测试);
|
||||||
|
# Docker 路径上面已有 is_docker 守卫,不走这里。
|
||||||
if goal_mode:
|
if goal_mode:
|
||||||
result = self.executor.goal_task(
|
if task.get("_resume") and isinstance(
|
||||||
task, seed_dir=seed_host_dir)
|
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:
|
else:
|
||||||
result = self.executor.dispatch_task(
|
if isinstance(self.executor, LocalExecutor):
|
||||||
task, seed_dir=seed_host_dir)
|
result = self.executor.dispatch_task(
|
||||||
|
task, seed_dir=seed_host_dir)
|
||||||
|
else:
|
||||||
|
result = self.executor.dispatch_task(task)
|
||||||
combined = (result.get("stdout", "") or "") + \
|
combined = (result.get("stdout", "") or "") + \
|
||||||
(result.get("stderr", "") or "")
|
(result.get("stderr", "") or "")
|
||||||
if not goal_mode and result["status"] != "completed" and \
|
if not goal_mode and result["status"] != "completed" and \
|
||||||
|
|||||||
Reference in new issue
Block a user