ci / test (pull_request) Failing after 1m34s
Why: branches merged into main had left their task cards open; backfill status and archive to prevent bookkeeping debt. Evidence: feature-agent-harness-p3.md(PR#140) — merges verified via git log --merges against origin/main. Impact: .task/*.md moved to .task/archive/ with status backfilled; no code or submodule change. Refs: task.sh close (card-autoclose-r1)
5.8 KiB
5.8 KiB
feature/agent-harness-p3 任务卡
任务主记录:https://git-home.u1680832.nyat.app:30319/weichen/Agent-System-Dev/pulls/140 ;状态:已完成(回填);owner:weichen
基线与授权
- 权威仓:ssh://git@git-ssh.u1680832.nyat.app:31411/weichen/Agent-System-Dev.git;目标分支:main;R0(initial_base_sha)=
bc8fef76bb - 工作区:/home/weichen/projects/Agent-System-Dev-wt-feature-agent-harness-p3(worktree);分支:feature/agent-harness-p3
- 授权与交付终点:实现 P3a(子代理 profile、带工具的子循环、深度 1、历史隔离)。允许改 Agent-System-Backend,并在
feature/agent-harness-p3上提 PR;Dev 仓只推进modules/backend并提 PR。未授权:合入 main、改 agent-native、改 agent-squad、改 core 契约、做后台通知或评审流水线。 - 启动自检(2026-10-01T14:01Z):
make precheckverdict READY。head=bc8fef76bb,origin/main 同步,树干净。必读 core/baseline.md、workflows/delivery.md §1 已读。 - 裁定:profile 的 tools、model、maxTurns 只从内置库文件读取,用户覆盖正文不能改这三项,因此不改
core.PromptModule。子代理不挂终轮 Stop 检查,父回复的终轮检查覆盖子代理产出的工件。小队步骤一律用agent.sub.general。
目标与非目标
- 目标:
delegate_task按 profile 拉起带工具的内核子循环,深度为 1,父会话只收到摘要和工件;子 run 消息不进入主对话历史。小队步骤经SpawnSubagent走同一运行时。 - 非目标:后台运行与完成通知、评审流水线、小队角色到 profile 的映射。不改内核、小队仓和 core 契约。
同步记录
| 节点 | sync_base_sha | tested_head_sha | checked_at |
|---|---|---|---|
| 启动 | bc8fef76bb |
bc8fef76bb |
2026-10-01T14:02:12Z |
| 同步前验收 | bc8fef76bb |
5ed3649b42 |
2026-10-01T14:13:39Z |
| 合入前同步 | bc8fef76bb |
53f8a059bd |
2026-10-01T14:50:18Z |
结果与验证
- 结果:六个
agent-sub-*.md写入 tools、model、maxTurns,只从内置库读取。SubLLMRunner改为带工具的内核子循环,深度为 1,父会话收到摘要和已确认工件。子 run 消息不进入History(),ListMessages仍保留。Backend5051a06。Dev 只推进modules/backend到该提交(5ed3649)。三处编译用 agent-native 仍为a34689c(Devdeps/agent-native、deps/agent-squad/deps/agent-native、backenddeps/agent-native)。 - 验证:见下方三段输出。
make test退出码 0(boundaries、core、backend、frontend vitest 51、ui vitest 71、agent-command)。 - 影响与剩余项:小队步骤改为最多 12 轮的轻量子循环,不含执行类工具。子代理不挂终轮 Stop 检查。用户不能改工具白名单。Backend PR https://git-home.u1680832.nyat.app:30319/weichen/Agent-System-Backend/pulls/45 与 Dev PR https://git-home.u1680832.nyat.app:30319/weichen/Agent-System-Dev/pulls/140 均未合入。
真实对话核对
服务 p3a(scripts/svc.sh p3a deploy --from dev@f823118,http://127.0.0.1:8934,数据从 dev 复制)。未改代码。
- explore(
cnv_feb01f134edd):子 runrun_afe7397a04c6调用了knowledge_search、tavily_search、web_search。父回复只有delegate_task的摘要。下一轮追问工具名,模型回答记录里没有这些工具名;ListMessages仍保留子 run 消息。 - writer(
cnv_73fdad281472):子 run 调用了run_python并写了p3a-check.md。父回复钉上了art_e7734e155382等工件。终轮检查给出「本轮回复未通过终轮检查」,父模型在登记后又反复改文件。 - 确认卡(
cnv_443b8b5bcae7,画像Confirm: ["knowledge_search"]):卡片hitl_85bc6a141b8e挂在子 runrun_a2a874a6ab4c。收件箱显示「执行工具 knowledge_search?」和「执行 / 取消」。批准后子代理继续检索并完成。 - 小队(
cnv_bac0acb41e71):四个步骤都是子代理工具循环,工具属于 general(write_artifact、quality_review,没有run_python)。leader 写出output.md(art_0af18d24d11a)。父 run 随后因轮次上限 16 失败,发生在质检打回后的重排,不是子代理运行时错误。
Tavily 返回 HTTP 402,是账户额度,不是这次的代码问题。
precheck
[verdict] READY
head=bc8fef76bb,origin/main 同步,树干净
必读 core/baseline.md、workflows/delivery.md §1
checked_at=2026-10-01T14:01Z
task-sync
Already up to date.
[synced] sync_base=bc8fef76bb tested_head=5ed3649b42 checked_at=2026-10-01T14:13:39Z
[next] 跑正式验收(make test 等),证据写入任务卡
make test
bash scripts/lint-boundaries.sh
boundaries ok
cd modules/core && go test ./...
ok agent-system-core 0.002s
cd modules/backend && go test ./...
(各包 ok,含 internal/prompts、internal/runtime、internal/runmgr、internal/server)
cd modules/frontend && npm ci && npx vitest run
Test Files 9 passed (9)
Tests 51 passed (51)
cd modules/ui && npm ci && npx tsc --noEmit && npx vitest run
Test Files 11 passed (11)
Tests 71 passed (71)
cd deps/agent-command && go vet ./... && go test -count=1 ./...
ok agent-command 0.002s
ok agent-command/conformance 0.001s
闭合记录(card-autoclose 回填)
- 依据:merge 5096a052dcaef7ee08a3251ec50a47bf7f066618(PR #140)已包含于 origin/main,分支成果已落盘;本段为合入后回填。
- 合并主题:Merge pull request 'Pin backend to the depth-one subagent loop' (#140) from feature/agent-harness-p3 into main
- 归档:随闭合移入 .task/archive/;任务执行期的过程证据见原任务记录与 PR。