diff --git a/.task/feature-agent-harness-p3b.md b/.task/feature-agent-harness-p3b.md new file mode 100644 index 00000000..858450c5 --- /dev/null +++ b/.task/feature-agent-harness-p3b.md @@ -0,0 +1,33 @@ +# feature/agent-harness-p3b 任务卡 + +任务主记录:https://git-home.u1680832.nyat.app:30319/weichen/Agent-System-Dev/pulls/142 ;状态:进行中;owner:weichen + +## 基线与授权 + +- 权威仓:ssh://git@git-ssh.u1680832.nyat.app:31411/weichen/Agent-System-Dev.git;目标分支:main;R0(initial_base_sha)= fdd311c8c029f3e8a7b47437d9695691bc125e9e +- 工作区:/home/weichen/projects/Agent-System-Dev-wt-feature-agent-harness-p3b(worktree);分支:feature/agent-harness-p3b +- 授权与交付终点:实现 P3b(跨 run 后台子代理与合并通知、评审流水线、小队角色映射、用户可覆盖 tools/model/maxTurns)。允许改 Core、Backend、Frontend、UI,并在各自 `feature/agent-harness-p3b` 上提 PR;Dev 仓推进 `modules/core`、`modules/backend`、`modules/frontend`、`modules/ui` 并提 PR。未授权:合入 main、改 agent-native、改 agent-squad 契约。 +- 启动自检(2026-10-01T14:51Z):`make precheck` verdict READY。head=fdd311c8c0,origin/main 同步,树干净。必读 core/baseline.md、workflows/delivery.md §1 已读。 +- 裁定:后台通知只存在内存里,服务重启后在途子代理标为 interrupted,未投递的通知丢失。每个会话最多同时 3 个后台子代理,超出时工具报错。用户覆盖只走现有 `POST /api/prompts`,不新增前端编辑器;覆盖不能加入 `delegate_task`、`squad_orchestrate`、`review_findings`,以保持深度为 1。 + +## 目标与非目标 + +- 目标:`delegate_task` 可后台运行,完成后自动发起一次父回合,多条通知合并成一条 system 消息。`review_findings` 并行找问题、逐条验证、丢掉未验证的再汇总。小队步骤按角色映射到子代理 profile。`PromptModule` 增加 tools、model、maxTurns,用户行可以覆盖内置 spec。 +- 非目标:不改内核与小队仓契约。不新增提示词编辑界面。通知不落库。 + +## 同步记录 + +| 节点 | sync_base_sha | tested_head_sha | checked_at | +|---|---|---|---| +| 启动 | fdd311c8c029f3e8a7b47437d9695691bc125e9e | fdd311c8c029f3e8a7b47437d9695691bc125e9e | 2026-10-01T14:52:39Z | +| 同步前验收 | fdd311c8c029f3e8a7b47437d9695691bc125e9e | 1bc9954e40453f3476ef3856d50c085b83b6408d | 2026-10-01T15:39:25Z | +| 合入前同步 | fdd311c8c029f3e8a7b47437d9695691bc125e9e | d05a73872c938aaa3d46d50309d0994276d0e0e8 | 2026-10-01T15:51:28Z | + +## 结果与验证(完成后填写) + +- 结果:四个模块都在 `feature/agent-harness-p3b`。Core `9b8cf79` 给 PromptModule 增加 tools、model、maxTurns。Backend `46ce1b2` 做覆盖链、小队角色映射、后台子代理和评审。Frontend `f718095` 让后台子代理不再挡住发送,并把 system 消息画成通知行。UI `bd3baff` 同步契约。Dev `6430738` 推进这四个指针。agent-native 仍是 `a34689c`。 +- 验证:`make test` 通过(boundaries ok;core ok;backend 各包 ok;frontend vitest 53;ui vitest 71;agent-command ok)。 +- 真实对话:服务 `p3b`(`scripts/svc.sh p3b deploy --from local`,http://127.0.0.1:8841,数据从 dev 复制)。 + - 后台(`cnv_0aab84f51c8c`、`cnv_2a3ce768bb00`):子 run 在父 run 结束前完成,通知先排队。父 run 释放槽位后出现一条 `` system 消息,并自动开始新的父回合。没有用户再发消息。 + - 评审(`cnv_a2e5962befdc`):两个审查子代理加三个核实子代理。父回复保留化学式和奥运会年份问题,并写明「已丢弃 0 条未验证」。 +- 影响与剩余项:通知不持久。小队 writer 步骤会用到 writer profile。用户覆盖没有界面。合入不在本次授权内。五个 PR 都未合入:Core #15、Backend #46、Frontend #32、UI #26、Dev #142。 diff --git a/modules/backend b/modules/backend index 5051a069..46ce1b2c 160000 --- a/modules/backend +++ b/modules/backend @@ -1 +1 @@ -Subproject commit 5051a069f770aad261b61a2cdf2e88dfdf566324 +Subproject commit 46ce1b2c8e11bbaf17dc6937d2f7365296390444 diff --git a/modules/core b/modules/core index fdc0c1b9..9b8cf79c 160000 --- a/modules/core +++ b/modules/core @@ -1 +1 @@ -Subproject commit fdc0c1b933abc0f2025b71fa9da33625be288fde +Subproject commit 9b8cf79c96668628926d32046cd650f0cfbd285b diff --git a/modules/frontend b/modules/frontend index 22f7d845..f718095d 160000 --- a/modules/frontend +++ b/modules/frontend @@ -1 +1 @@ -Subproject commit 22f7d84560f593fbda75d6ef87e9c919456ab38b +Subproject commit f718095d783d7e13c445a490c52551b29a3f93a8 diff --git a/modules/ui b/modules/ui index edc1f3b9..bd3baff9 160000 --- a/modules/ui +++ b/modules/ui @@ -1 +1 @@ -Subproject commit edc1f3b9829071cc0a18eccbd8facebcf0f9f654 +Subproject commit bd3baff9ea43c05597dcc92ce4c17b5a9fd255ac