Land card streaming (CF-S: card_begin/card_append/card_commit) #100

Merged
weichen merged 7 commits from feature/card-stream-r1 into main 2026-09-30 18:23:29 +00:00
3 changed files with 37 additions and 2 deletions
+35
View File
@@ -0,0 +1,35 @@
# feature/card-stream-r1 任务卡
任务主记录:<PR 链接,task-finish 时填写>;状态:验收通过待合入;owner:weichen
## 基线与授权
- 权威仓:ssh://git@git-ssh.u1680832.nyat.app:31411/weichen/Agent-System-Dev.git;目标分支:main;R0(initial_base_sha)= f65d89e59b6974c7a5db63be0677d192bfaa7e9c
- 工作区:/home/weichen/projects/Agent-System-Dev-wt-feature-card-stream-r1(worktree);分支:feature/card-stream-r1
- 授权与交付终点:用户批准 D44–D52 提案并指示「按方案开始实施」;本卡为提案 §3 第一期 CF-S(卡片内容流式),终点 = backend + documents 模块 PR 合入 + Dev gitlink PR 合入 + worktree 回收。
## 目标与非目标
目标(提案 D44/D45):
1. backend:内置流式三段式工具 card_begin/card_append/card_commit(ui.cardflow 门控声明、幻觉拒绝);cardsvc.Append(逐次持久化 + card.updated 250ms 节流);runmgr Begin/Append/CommitStreamCard + finishRun 兜底(未收尾流式卡按 run 结果置 done/failed,tone=warn「未正常收尾」);mock `#cardstream` 演示;style-cardflow v2(长正文优先流式)。
2. documents:usage.md 卡流条目更新(流式流程 + 兜底语义)。
非目标:frontend/ui 流式视觉(shimmer)可选项本卡不做;CF-A/CF3 另立卡。
## 同步记录
| 节点 | sync_base_sha | tested_head_sha | checked_at |
|---|---|---|---|
| 启动 | f65d89e59b6974c7a5db63be0677d192bfaa7e9c | f65d89e59b6974c7a5db63be0677d192bfaa7e9c | 2026-09-30T18:02Z |
| 验收 | f65d89e59b6974c7a5db63be0677d192bfaa7e9c | e1f996815a(组合 tip:backend 24a2873 / documents 3d2da4e) | 2026-09-30T18:20:27Z |
## 结果与验证
- 结果:backend 24a2873(cardsvc Append 节流、runmgr 三方法 + 兜底、runner 接口三方法、llm.go 三工具声明与编排、mock #cardstream、style-cardflow v2、新增单测 3 + e2e 1);documents 3d2da4e(usage.md 流式条目)。
- 验证:
- backend `go test ./...` 全绿(18 包 ok):新增 TestLLMRunnerCardStreamTools(begin→append×2→commit → done 卡 + 正文合并 + cardId 部件 + commit 后拒绝)、TestLLMRunnerCardStreamGated(关闭不声明、幻觉不产卡)、TestAppendStreamThrottleAndMerge(窗口内 1 次发布、跨窗口+终态 3 次、正文逐段合并)、e2e TestMockCardflowStreamLoop(#cardstream → 收件箱 done 卡 + 三段正文 + 引用部件 + 锚点回填)。
- Dev 组合:`make test` 退出码 0(core/backend 全 ok、frontend/ui vitest 全绿、agent-command ok);task-sync sync_base=f65d89e tested_head=e1f9968(2026-09-30T18:20:27Z)。
- 影响与剩余项:
- submit_card 路径与线协议不变;card.updated 仍整卡投影(节流=省略中间投影)。
- 剩余(可选项):frontend/ui 流式中视觉(shimmer);CF-A、CF3 按提案顺序另立卡。
| 同步前验收 | f65d89e59b6974c7a5db63be0677d192bfaa7e9c | f96c55df238f5ef19599bcbb282c7b22f9b29423 | 2026-09-30T18:22:05Z |