# feature/code-orchestration 任务卡 任务主记录:PR #177 https://git-home.u1680832.nyat.app:30319/weichen/Agent-System-Dev/pulls/177(merge 4a83fecf46);状态:已完成(回填);owner:weichen ## 基线与授权 - 权威仓:ssh://git@git-ssh.u1680832.nyat.app:31411/weichen/Agent-System-Dev.git;目标分支:main;R0(initial_base_sha)= 37a91142f2d4a91dc3e0a83296c05ee3aa0fa92e - 工作区:/home/weichen/projects/Agent-System-Dev-wt-feature-code-orchestration(worktree);分支:feature/code-orchestration - 授权与交付终点:实现批次 8(代码编排与 MCP)。允许改 agent-native、agent-squad(透传开关)、backend 与 Dev 指针;经 Gitea PR 合入 main 后回收 worktree。不引入 pi-durable。不把代码编排默认打开。 ## 目标与非目标 - 目标:`run_tool_script` 的 Python 宿主下沉到 `runtime/codeorch`。限额为 50 次调用、给脚本的单次结果 1 MiB、给模型的输出 16k 字符(全文落文件)、超时缺省 120 秒且最长 600 秒。禁止再调用 shell、python、命令、自身、派发和工作流工具。出错时报告已经执行的调用。开关 `runtime.codeOrchestration` 默认关。工作流 script 步骤改用同一宿主,原有确认和超时上限不变。工具可声明直接或延迟暴露;延迟工具不进清单,经 `tool_search` 与固定 schema 的 `call_tool` 调用。MCP 后台连接,stdio 维持单读循环,失败重连一次,HTTP 关闭时终止会话,`input_required` 交给 AskUser。项目配置可覆盖启用状态和暴露级别。 - 非目标:MCP OAuth、进程级钩子、绕过确认的模式、把代码编排默认打开。 ## 同步记录 | 节点 | sync_base_sha | tested_head_sha | checked_at | |---|---|---|---| | 启动 | 37a91142f2d4a91dc3e0a83296c05ee3aa0fa92e | 37a91142f2d4a91dc3e0a83296c05ee3aa0fa92e | 2026-10-03T17:46:51Z | | 同步前验收 | 37a91142f2d4a91dc3e0a83296c05ee3aa0fa92e | 14ddc9e342d8f136ec769840b7daa998a1caf8c5 | 2026-10-03T18:06:06Z | | 同步前验收 | 37a91142f2d4a91dc3e0a83296c05ee3aa0fa92e | e352a807e5e8b1505599bcb51a69073f53eed1a8 | 2026-10-03T18:06:07Z | | 同步前验收 | 37a91142f2d4a91dc3e0a83296c05ee3aa0fa92e | bdb9452e41b737fa483af66d14569fd959011f24 | 2026-10-03T18:06:08Z | ## 结果与验证 - 结果:native e4020d2,squad dcd523e,backend cd57276。 - 验证:native 与 backend 相关包测试通过。`make test` 与 `make build` 通过(2026-10-03)。 - 影响与剩余项:`runtime.codeOrchestration` 默认关。延迟工具不进清单。MCP 未连上时后台连接,已连上则当场注册。 ## 闭合记录(card-autoclose 回填) - 依据:merge 4a83fecf4699d11ba1ef4eb3163b362346958442(PR #177)已包含于 origin/main,分支成果已落盘;本段为合入后回填。 - 合并主题:Merge pull request 'Pin the script host, deferred tools, and background MCP connect' (#177) from feature/code-orchestration into main - 归档:随闭合移入 .task/archive/;任务执行期的过程证据见原任务记录与 PR。