From e656a67dd1d79358362f34db09d6dfbf7059e68c Mon Sep 17 00:00:00 2001 From: weichen Date: Thu, 8 Oct 2026 03:52:48 +0000 Subject: [PATCH] Take the Q3 cascade pins and fill the task card results Why: Q3 (convergence and interop) completed across agent-native (#40), agent-squad (#46/#47) and backend (#99-#102); Dev gitlinks must track the merged component mains and the task card records the outcome before the completion declaration. Evidence: card increment table rows WP1a-WP6 with merged PR/SHA references; component CI statuses recorded as GATE in the card verification section; three-segment outputs (precheck/task-sync/test) appended via make evidence in follow-up commits on this branch. Impact: deps/agent-squad bcc8d08 -> 663e89e, deps/agent-native 1ac21c6 -> 37c5e6f, modules/backend 06934bc -> 4791b2e; task card filled. Refs: .task/feature-agent-stack-q3.md; Q3 plan 2026-10-07-agent-stack-q2q3-plans.md --- .task/feature-agent-stack-q3.md | 43 ++++++++++++++++++++++++++++++--- deps/agent-native | 2 +- deps/agent-squad | 2 +- modules/backend | 2 +- 4 files changed, 42 insertions(+), 7 deletions(-) diff --git a/.task/feature-agent-stack-q3.md b/.task/feature-agent-stack-q3.md index dd2671c7..3f9bf5e4 100644 --- a/.task/feature-agent-stack-q3.md +++ b/.task/feature-agent-stack-q3.md @@ -67,7 +67,13 @@ group-chat 的 LLM 选人策略;A2A 之外的跨系统协议。 | 增量/试验 | 假设 | 范围 | 判断和停止条件 | 批准依据 | 结果 | 变更影响 | 需重审补测 | |---|---|---|---|---|---|---|---| -| 待定义 | — | — | — | 未批准 | NOT_RUN | 待评估 | 待评估 | +| Q3-WP1a squad 任务指令载体 | 图步需要 Brief 承载编译后指令 | squad: StepSpec.Brief + TASK.md 任务指令节 + 1 测试 | 套件绿+CI 绿即合入 | 方案 §三 WP1 | DONE:Squad PR #46(main 633e853) | 纯增量 | 否 | +| Q3-WP1b wfcompile 编译器 | 六类步骤可映射为图步/宿主 intent 步;critic=evaluator-optimizer 循环对 | backend: internal/wfcompile(编译器+宿主 IntentRunner+RunCompiled)+ 12 conformance | demo.brief/demo.script 经编译图跑通;P4 上限逐项拒绝 | 方案 §三 WP1 | DONE:Backend PR #99(main a1aba15,嵌套 squad pin→633e853) | 新包,legacy 未动 | 否 | +| Q3-WP2 退役与切换 | legacy 删除后三分支经编译图行为一致 | backend: run_workflow 三分支改投、runtime/workflow*.go 删除、stepBackend agent-system 删除、DefaultBackend→agent-native、runmgr 默认 Runner 切换、内置角色白名单补 write_file/run_command | P4 行为一致逐项测试 + 全套绿 | 方案 §三 WP2 | DONE:Backend PR #100(main 76b9cf3);e2e TestSquadOrchestration 重构为内核桩(任务树子 Run 断言反转为 0) | 删除 legacy 执行面;mock #workflow 走编译图 | 否 | +| Q3-WP3 委派模板补全 | Request 增两字段即可贯通任务书 | agent-native: subagent.Request.OutputFormat/Tools + delegate schema;backend: SubagentFactory 两节 + adapter_test 扩展 | 任务书含目标、输出格式、工具和边界 | 方案 §三 WP3 | DONE:agent-native PR #40(main 37c5e6f)+ Backend PR #101(main 2e42ed8,嵌套 native pin→37c5e6f) | 纯增量(空声明零行为变化) | 否 | +| Q3-WP4 adapters/a2a | A2A 1.0 卡+任务状态机可对齐 ExecResult | squad: adapters/a2a 独立 go.mod(card.go/executor.go)+ 7 conformance(本地假 A2A 服务端) | 双向 conformance 绿 + race 绿 | 方案 §三 WP4 | DONE:Squad PR #47(main 663e89e) | 新模块,根模块零改动 | 否 | +| Q3-WP5 A/B 对照 harness | 双跑差异可记录、裁决可复现 | backend: eval/ab.go(纯机制)+ 5 测;wfcompile demo.brief 真实双跑集成测试 | 报告含分数/差异注记/DecideSwitch 裁决 | 方案 §三 WP5 | DONE:Backend PR #102(main 4791b2e)。裁决证据:「切换条件已满足:squad 100 不低于 direct 100,额外首字延迟 0s。…合入前需要产品确认」——runtime.entry 默认保持 direct,切换待产品确认 | 不翻产品默认 | 否 | +| Q3-WP6 级联闭链 | 三 pin 均在组件 main | Dev: deps/agent-squad→663e89e、deps/agent-native→37c5e6f、modules/backend→4791b2e + 卡回填 + 三段证据 | check-pins/precheck 绿 + Dev CI 绿 | 方案 §三 WP6 | 进行中:本 PR | Dev 三 gitlink 前移 | 否 | ## 同步记录 @@ -83,9 +89,38 @@ group-chat 的 LLM 选人策略;A2A 之外的跨系统协议。 ## 结果与验证(完成后填写) -- 结果: -- 验证:<结论摘要 PASS/FAIL/SKIP/NOT_RUN 逐项;逐条证据由 make evidence 写入上方证据表> -- 影响与剩余项: +- 结果:Q3「收敛与互通」五个 WP 全部落地。① 编译器:core.WorkflowDef → squad 图 + (prompt→角色步 Brief;hitl/tool/artifact/card/script→宿主 intent 步 wf.*; + critic→wf.critic 评审步 + evaluator-optimizer Loop,预算=maxRetries+1; + P4 上限与 DeniedTools 在编译入口强制;计划确认/模型脚本确认保留、插件脚本 + 免确认、workflowScripts 开关默认关)——demo.brief/demo.script 经编译图跑通。 + ② 退役与切换:runtime/workflow.go+workflow_script.go 及 stepBackend + "agent-system" 删除;run_workflow 三分支与 runmgr 默认执行器改投编译图; + Orchestrate/内置四角色 DefaultBackend→agent-native(工厂缺席 fail-closed)。 + ③ 委派模板:subagent.Request 增 OutputFormat/Tools,delegate_task schema + 同步,SubagentFactory 任务书含目标、输出格式、工具和边界四要素。 + ④ adapters/a2a 从零建(独立 go.mod):Agent Card 发布(角色/蓝图→技能)+ + 远端 Executor 客户端(JSON-RPC message/send + tasks/get 轮询,A2A 1.0 任务 + 状态机对齐 ExecResult;failed/canceled/rejected/input-required 一律 + fail-closed),双向 conformance 以本地假 A2A 服务端钉住。 + ⑤ A/B 对照:eval/ab.go 任务级双跑 harness(要点打分/差异注记/P50 首字/ + DecideSwitch 联动);demo.brief 场景 direct vs squad(编译图) 真实双跑, + 两侧 100/100,裁决「切换条件已满足…合入前需要产品确认」——runtime.entry + 默认保持 direct,切换证据入卡待产品确认(双钥匙边界内不自行翻默认)。 + 级联:agent-native main=37c5e6f(#40)、agent-squad main=663e89e(#46/#47)、 + backend main=4791b2e(#99/#100/#101/#102),本 PR 前移 Dev 三 gitlink。 +- 验证:PASS——组件 CI(GATE):agent-native #40、squad #46/#47、backend + #99/#100/#101/#102 的 ci/vet-and-test 均 success;本地(SELF):squad/backend/ + agent-native 全套 go test -count=1 绿,wfcompile/squadadapter/runmgr/a2a + -race 绿;Dev 级 make test 以本 PR 的 Dev CI 为权威(GATE)。三段输出 + (precheck/task-sync/test)见上方证据表。已知欠账:internal/runtime + llm_test 的 fakeRunCtx 在 -race 下有历史遗留数据竞争(main 上已存在, + 与本任务无关,CI 不跑 -race;修复另行任务)。 +- 影响与剩余项:backend 删除 legacy 工作流执行面(约 730 行)与 agent-system + 压缩路径;squad/agent-native 纯增量。剩余(方案边界内):runtime.entry + 默认切 squad 待产品确认(证据已入卡);group-chat LLM 选人策略、平台队列 + 桥接、backend review_findings 切换 squad review 拓扑均为后续项; + llm_test race 欠账待独立修复。 ## 规划进展与下一步 diff --git a/deps/agent-native b/deps/agent-native index 1ac21c68..37c5e6fb 160000 --- a/deps/agent-native +++ b/deps/agent-native @@ -1 +1 @@ -Subproject commit 1ac21c68d4e2c2728d92d6db67a30ff06e0066d3 +Subproject commit 37c5e6fbd65c69cc794ce476f3bed020aafd9eef diff --git a/deps/agent-squad b/deps/agent-squad index bcc8d080..663e89ec 160000 --- a/deps/agent-squad +++ b/deps/agent-squad @@ -1 +1 @@ -Subproject commit bcc8d080b08bd651e08cae99b8f7de35584fd5a3 +Subproject commit 663e89ec580da80f1c43d2d6497c5fbaba9fd677 diff --git a/modules/backend b/modules/backend index 06934bcc..4791b2e7 160000 --- a/modules/backend +++ b/modules/backend @@ -1 +1 @@ -Subproject commit 06934bccab9311a82ec3041d1820658dbc335c9f +Subproject commit 4791b2e760e8c70e50aae5b6508c14eb3adaca07