Files
Agent-System-Dev/.task/archive/feature-agent-stack-r0-r1.md
T
weichen 6475650038
ci / test (pull_request) Successful in 1m50s
Close 1 merged task card(s) and archive them
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)
2026-10-03 12:50:55 +00:00

9.0 KiB
Raw Blame History

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 precheck verdict 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,native 694b08cdbef5d52496f4425c9a22d1b77df14c23,squad 8e987bf535efbbbf317147542e858217f2bb3504,backend 898fdd137148836b2e52666a2b5e0d591ec308c3。Dev 在 978bf8b 钉住这四条并加入指针检查、导入棘轮和三库测试。
  • go.work 未采用。实测工作区模块目录都落在 Dev 顶层 deps/ 与 modules/,但最小版本选择把第三方抬高:golang.org/x/crypto v0.56.0→v0.57.0,exp v0.0.0-20250305212735-054e65f0b394→v0.0.0-20251023183803-a4bb9ffd2546,net v0.57.0→v0.59.0,term v0.45.0→v0.46.0,text v0.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
  • 验证:
    • 启动 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(HEAD 314f798,与 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。该临时提交未推送。
  • 影响与剩余项:非 unix 平台没有 flock,只有进程内互斥(见 agent-squad PROJECT.md)。合入、发版、改写历史均未做。
  • 级联钉住与验收(2026-10-03,Dev 789a6f4):
    • 指针:intent 7f7879b06b053f0a62746309b79e0e1b9a00f42d,native 91c155618487e21edeb4f1d3cc27e985aae2b0d2,squad e928ea3c0fa649cbbbad22a93a1bc0a12dee5f7d,backend ef0a1bef0f7bee626e59f160be51fb0e5f6aa692。
    • 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 与必需检查都未配置。
  • 收尾加固(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 的 tree 0fe06ce3ceea5cfa32476e2f0eed7f86cebc44a0,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 |

闭合记录(card-autoclose 回填)

  • 依据:merge 7dd107bae40a203d684b0c9a3fd81ca316fd8c90(PR #unknown)已包含于 origin/main,分支成果已落盘;本段为合入后回填。
  • 合并主题:Merge pull request #152 from feature/agent-stack-r0-r1 into main
  • 归档:随闭合移入 .task/archive/;任务执行期的过程证据见原任务记录与 PR。