ci / test (pull_request) Successful in 1m50s
Why: branches merged into main had left their task cards open; backfill status and archive to prevent bookkeeping debt. Evidence: feature-agent-stack-r0-r1.md(PR#unknown) — 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)
9.0 KiB
9.0 KiB
feature/agent-stack-r0-r1 任务卡
任务主记录:PR #152 https://git-home.u1680832.nyat.app:30319/weichen/Agent-System-Dev/pulls/152 ;状态:已完成(回填);owner:weichen
基线与授权
- 权威仓:ssh://git@git-ssh.u1680832.nyat.app:31411/weichen/Agent-System-Dev.git;目标分支:main;R0(initial_base_sha)=
f4aa0348d7 - 工作区:/home/weichen/projects/Agent-System-Dev-wt-feature-agent-stack-r0-r1(worktree);分支:feature/agent-stack-r0-r1
- 授权与交付终点:按提案第 5 节实施 R0(组合一致性)与 R1(三库 P0 与安全向 P1)。允许在 Agent-Intent、Agent-Native、Agent-Squad、Agent-System-Backend、Agent-System-Dev 五个仓各从 origin/main 切 feature/agent-stack-r0-r1,提交、推送并建 PR,推进 Dev 与 Backend 的 gitlink。终点 = 五个 PR 已开且均未合入。未授权:合入、发版、改写历史、变更分支保护、改 development-guidelines 嵌套指针。
- 追加授权(2026-10-03,主检出
make precheckverdict READY,head=f4aa0348d7,linked worktrees=2):在同一批feature/agent-stack-r0-r1上补收尾加固与 CI。允许改 Squad 的并行审批与挂起、Dev 的指针检查、make pin、导入棘轮和task.sh,五个仓的 CI workflow,以及任务卡欠账。R2 与 D1 等五个 PR 由所有者合入后再从各仓 main 开独立任务。未授权:合入、发版、改分支保护、配置SUBMODULE_TOKEN。
目标与非目标
- 目标:Dev 测的就是发布的组合(go.work、指针一致性检查、库间依赖棘轮、库测试纳入 make test);修 I1/I2/I6、N1–N4/N13/N14、Q1–Q5/Q8/Q9/Q14–Q16,每条带回归测试。
- 非目标:实现原生 Anthropic/Google 协议、合入 PR、发版、编排收敛到 Squad(后续批次)。
同步记录
| 节点 | sync_base_sha | tested_head_sha | checked_at |
|---|---|---|---|
| 启动 | f4aa0348d7 |
f4aa0348d7 |
2026-10-03T00:27:10Z |
| 同步前验收 | f4aa0348d7 |
978bf8bdae |
2026-10-03T02:10:29Z |
结果与验证
- 结果:五个 PR 已开,均未合入。合入顺序:Intent #3 https://git-home.u1680832.nyat.app:30319/weichen/Agent-Intent/pulls/3 、Native #8 https://git-home.u1680832.nyat.app:30319/weichen/Agent-Native/pulls/8 、Squad #7 https://git-home.u1680832.nyat.app:30319/weichen/Agent-Squad/pulls/7 、Backend #50 https://git-home.u1680832.nyat.app:30319/weichen/Agent-System-Backend/pulls/50 、Dev #152 https://git-home.u1680832.nyat.app:30319/weichen/Agent-System-Dev/pulls/152 。指针:intent
3130190acb396589d6022c243bbe07ce7c31c881,native694b08cdbef5d52496f4425c9a22d1b77df14c23,squad8e987bf535efbbbf317147542e858217f2bb3504,backend898fdd137148836b2e52666a2b5e0d591ec308c3。Dev 在978bf8b钉住这四条并加入指针检查、导入棘轮和三库测试。 - go.work 未采用。实测工作区模块目录都落在 Dev 顶层
deps/与modules/,但最小版本选择把第三方抬高:golang.org/x/cryptov0.56.0→v0.57.0,expv0.0.0-20250305212735-054e65f0b394→v0.0.0-20251023183803-a4bb9ffd2546,netv0.57.0→v0.59.0,termv0.45.0→v0.46.0,textv0.41.0→v0.42.0。库测试因此用GOWORK=off。development-guidelines嵌套指针仍是26b562d,与 Dev 的ed2af3e不一致,check-pins只告警。 - 编号与回归测试:
- I1
TestRecognizeClassifierRejectsBadRefinement、TestRecognizeClassifierRebuildsTamperedHandler - I2
TestScopedSlotValidatorsDoNotInterfere - I6
TestRecognizeClassifierRefinedTopGetsSlots - N1
TestLoopBudgetToolCallCap(含assertToolCallsPaired) - N2
TestParallelHostCallbacksAreSerial、TestHooksDoNotRunConcurrently - N3
TestStdioSlowCancelThenEcho - N4
TestPresetsAndClientForChatCompletions - N13
TestFetchResolveChangesToLoopbackRejected - N14
TestFetchHostCheckRedirectStillRejectsPrivate - Q1
TestStepApprovalApproveExecutes、TestStepApprovalSkipDoesNotCancel - Q2
TestApprovalSurvivesRestart - Q3
TestAtomicWriteLeavesNoTemp、TestAtomicWriteRenameFailureKeepsOriginal - Q4
TestInterruptedRunningStepStaysHeld - Q5
TestTwoEnginesOneRunIsBusy - Q8/Q9
TestWakeupDoesNotApprovePermission(原有TestWakeupRunDone、TestWakeupGuardMaxFires仍通过) - Q14
TestListenGuard、TestMissingTokenIsUnauthorized - Q15
TestPathTraversalRejected - Q16
TestOversizedBodyIs413
- I1
- 验证:
- 启动 precheck(主检出,task-start 记录于 2026-10-03T00:27:10Z):verdict READY。head 与 origin/main 均为
f4aa0348d7。linked worktree 为 1(未合入的feature/agent-stack-blueprint),未出现SHARED_WORKSPACE_BUSY或SYNC_REQUIRED。 make task-sync:Already up to date.[synced] sync_base=f4aa0348d7 tested_head=978bf8bdae checked_at=2026-10-03T02:10:29Z。脚本按文件名把这一行写进了另一张任务卡,本提交已改回本卡。make test退出码 0(HEAD314f798,与978bf8b的代码相同):boundaries ok;pins ok(guidelines 三条 warn);intent 五包 ok;native 各包 ok(mcp 12.0s、tools 11.3s);squad 六包 ok;core ok;backend 各包 ok;frontend vitest 13 文件 68 项;ui tsc 与 vitest 11 文件 79 项;agent-command 两包 ok。make build退出码 0。版本串314f798+core=7c66075+backend=898fdd1+frontend=794c3e1+ui=b4a4fc1+agentcmd=cc1ad77+documents=acd6f01+native=694b08c+squad=8e987bf+intent=3130190。- 负例:Backend 的 squad gitlink 临时改为
5cbac00b994223b6aa76afd9bc70277b8b49e985后scripts/check-pins.sh退出码 1(pin: modules/backend deps/agent-squad is 5cbac00b9942, Dev deps/agent-squad is 8e987bf535ef)。已恢复到898fdd1,再次运行pins ok。该临时提交未推送。
- 启动 precheck(主检出,task-start 记录于 2026-10-03T00:27:10Z):verdict READY。head 与 origin/main 均为
- 影响与剩余项:非 unix 平台没有 flock,只有进程内互斥(见 agent-squad PROJECT.md)。合入、发版、改写历史均未做。
- 级联钉住与验收(2026-10-03,Dev
789a6f4):- 指针:intent
7f7879b06b053f0a62746309b79e0e1b9a00f42d,native91c155618487e21edeb4f1d3cc27e985aae2b0d2,squade928ea3c0fa649cbbbad22a93a1bc0a12dee5f7d,backendef0a1bef0f7bee626e59f160be51fb0e5f6aa692。 make task-sync:Already up to date.[synced] sync_base=f4aa0348d7 tested_head=755474e6f5 checked_at=2026-10-03T10:22:12Z。记录写在本卡。make test退出码 0:boundaries ok;pins ok(guidelines 三条 warn);intent、native、squad、core、backend、frontend(13 文件 68 项)、ui(tsc 与 11 文件 79 项)、agent-command 均通过。make build退出码 0。版本串789a6f4+core=7c66075+backend=ef0a1be+frontend=794c3e1+ui=b4a4fc1+agentcmd=cc1ad77+documents=acd6f01+native=91c1556+squad=e928ea3+intent=7f7879b。- 各库在钉住后的头上另跑了
scripts/submodule-consistency.sh(intent、native、squad 均为 ok)以及 vet、test、race。Backend 跑了GOWORK=off go vet ./... && GOWORK=off go test -count=1 ./...,退出码 0。 - CI 首轮未绿。Intent 运行 661(头
7f7879b)在 30 秒内失败:克隆actions/checkout时dial tcp 20.205.243.166:443: i/o timeout。按计划停下,没有改走宿主代理,也没有预热缓存。SUBMODULE_TOKEN与必需检查都未配置。
- 指针:intent
- 收尾加固(2026-10-03):
- Squad
73b8d09545a8c479344aded2227de5fc520ef769。并行组第二步TestParallelGroupSecondStepApprovalHolds、TestParallelGroupSecondStepPermissionHolds;自由文本TestFreeTextKeepsChoiceHold;失败后挂起仍在TestFailedDecisionRestoresPending。GOWORK=off go vet ./...、go test -count=1 ./squad/ ./cli/、go test -race -count=1 ./squad/均通过。 - 同 tree 正例:Backend 所记 squad
8e987bf535efbbbf317147542e858217f2bb3504的 tree0fe06ce3ceea5cfa32476e2f0eed7f86cebc44a0,commit-tree得本地6c0f1e8bf1be85f10163eb0c6eebb5a6aa8f8798并临时写入 Dev 索引。check-pins输出ok modules/backend agent-squad (same tree),退出码 0。 - 负例:空 tree 的本地提交
8db069d7352d写入同一索引后,check-pins退出码 1,pin: modules/backend deps/agent-squad is 8e987bf535ef, Dev deps/agent-squad is 8db069d7352d。索引已git reset恢复,再次pins ok。两个临时对象都没有推送。 - 棘轮:
scripts/lint-imports.go在空GOMODCACHE下的配对与有缓存的go list相同,14 对。GOMODCACHE=$(mktemp -d) bash scripts/lint-boundaries.sh与默认缓存的输出都是boundaries ok。 | 同步前验收 |f4aa0348d7|755474e6f5| 2026-10-03T10:22:12Z |
- Squad
闭合记录(card-autoclose 回填)
- 依据:merge 7dd107bae40a203d684b0c9a3fd81ca316fd8c90(PR #unknown)已包含于 origin/main,分支成果已落盘;本段为合入后回填。
- 合并主题:Merge pull request #152 from feature/agent-stack-r0-r1 into main
- 归档:随闭合移入 .task/archive/;任务执行期的过程证据见原任务记录与 PR。