diff --git a/.task/feature-duplication-lesson-records.md b/.task/feature-duplication-lesson-records.md index a664f94f..bb2383d8 100644 --- a/.task/feature-duplication-lesson-records.md +++ b/.task/feature-duplication-lesson-records.md @@ -52,3 +52,4 @@ | 同步前验收 | 9f2a7fb4b806bb63f43c3ee759bdbb1ab1f97720 | 21a92441dce7787b8c3eaeaf731aad9a58215836 | 2026-09-30T16:49:57Z | | 同步前验收 | bb7f541d42dc6bd2609e59fed6760f22ed5c213e | dcb5bc0f727b5ceaf95b73b5ea514e63d9a89ae0 | 2026-09-30T17:17:46Z | | 同步前验收 | 978dc80817e7240f0a45a390ed2a6334041e84dd | 4eec51a954c1271729a3659544eb891f0181d8c2 | 2026-09-30T17:19:17Z | +| 同步前验收 | 161fe684fc9ace176cae31a56a9337b2c0a70d59 | 29d24237f376fbf289b62c5e0df2c18679b90115 | 2026-09-30T19:19:50Z | diff --git a/.task/feature-project-inbox-r1.md b/.task/feature-project-inbox-r1.md new file mode 100644 index 00000000..7cb10491 --- /dev/null +++ b/.task/feature-project-inbox-r1.md @@ -0,0 +1,37 @@ +# feature/project-inbox-r1 任务卡 + +任务主记录:;状态:验收通过待合入;owner:weichen + +## 基线与授权 + +- 权威仓:ssh://git@git-ssh.u1680832.nyat.app:31411/weichen/Agent-System-Dev.git;目标分支:main;R0(initial_base_sha)= 161fe684fc9ace176cae31a56a9337b2c0a70d59 +- 工作区:/home/weichen/projects/Agent-System-Dev-wt-feature-project-inbox-r1(worktree);分支:feature/project-inbox-r1 +- 授权与交付终点:提案 §3 第三期 CF3(跨会话收件箱,D48–D51);终点 = core/backend/ui/frontend/documents 模块 PR 合入 + Dev gitlink PR 合入 + worktree 回收。 + +## 目标与非目标 + +目标(提案 D48–D51 + D52 剧本): +1. core:事件信封 ProjectID + 项目频道伪键约定 helper(ProjectChannelKey/ProjectFromChannel,golden event_project_stream)。 +2. backend:store v12 项目索引 + ListProjectCards 聚合(D49 拍板口径);cardsvc 项目流 emit/镜像("project:" 伪键复用会话流持久化/seq/重放)+ ToProject(ref 幂等、原卡 dismissed、HITL/cmd 流程卡拒绝);runmgr 归属判定(scope=project);llm.go submit_card/card_begin scope 参数;server GET /api/projects/{id}/cards、POST /api/cards/{id}/to_project、/api/events scope=project。 +3. ui:卡片 🗂 留档按钮(会话卡、非终态);frontend 双视图(本会话/项目切换、项目分组、角标两级合计)、项目 SSE、store projectCards/applyProjectEvent。 +4. documents:usage.md 4.2 项目收件箱条目。 + +非目标:项目级后台作业 producer(生产端 v1 只开放留档+scope 参数);多用户项目共享收件箱;done 卡跨会话聚合。 + +## 同步记录 + +| 节点 | sync_base_sha | tested_head_sha | checked_at | +|---|---|---|---| +| 启动 | 161fe684fc9ace176cae31a56a9337b2c0a70d59 | 161fe684fc9ace176cae31a56a9337b2c0a70d59 | 2026-09-30T18:47Z | +| 验收 | 161fe684fc9ace176cae31a56a9337b2c0a70d59 | 组合 tip(core PR #11/#12、backend/ui/frontend/documents 本分支) | 2026-09-30T19:18Z | + +## 结果与验证 + +- 结果:core 2 个 PR 合入(#11 信封字段、#12 频道 helper);backend 本分支(v12 迁移、聚合查询、cardsvc 项目流+ToProject、runmgr/llm scope、server 三端点、vendored core 同步);ui(留档按钮);frontend(双视图+项目流);documents(指南)。 +- 验证: + - core `go test ./...` 绿(golden event_project_stream);backend `go test ./...` 18 包全绿——新增 TestToProjectArchiveAndIdempotent(副本/锚点/留痕/幂等/D49 聚合口径/HITL 拒绝)、TestLLMRunnerCardScopeProject、e2e TestProjectInbox(to_project 幂等 + 项目聚合列表 + 项目流持久化盖章 + scope 不泄露);既有测试随 v12/双流镜像同步修正(迁移版本 12、节流按频道计数)。 + - ui `tsc --noEmit` 0 错 + vitest 51/51(新增留档按钮 2 用例);frontend 组合 vitest 全绿;Dev `make test` 退出码 0(2026-09-30T19:18Z)。 + - e2e 装配修正:测试服务器 cardsvc 由 no-op emitter 改为生产同款 mgr.EmitCardEvent(此前卡事件不入库,项目流断言依赖)。 +- 影响与剩余项: + - 会话流协议不变;项目流为新增频道(信封 ProjectID 只增);EventSource 具名事件列表补齐 card.*(修复 live 卡事件此前被丢弃的既有缺口)。 + - 剩余(远期,提案 §5 已列):项目级后台作业 producer;多用户项目共享收件箱;飞书/微信投影(另立卡)。 diff --git a/modules/backend b/modules/backend index 9f1b964e..d8497a1e 160000 --- a/modules/backend +++ b/modules/backend @@ -1 +1 @@ -Subproject commit 9f1b964e92a53f506c448ab93ec9a6f4d755e51f +Subproject commit d8497a1e60ca92b34783b8595fac3ae314a525c6 diff --git a/modules/core b/modules/core index 90b57477..1b04a34b 160000 --- a/modules/core +++ b/modules/core @@ -1 +1 @@ -Subproject commit 90b57477bb49b3a9e62131560aa6c9a4532f19b4 +Subproject commit 1b04a34bbc43143d3a90cea50e277964ba03e029 diff --git a/modules/documents b/modules/documents index 6fdfc19c..8ee5d5c4 160000 --- a/modules/documents +++ b/modules/documents @@ -1 +1 @@ -Subproject commit 6fdfc19c54c9899cb1e779d0a3821111a4ca600a +Subproject commit 8ee5d5c467c364664d5c450976c51dd453a45e37 diff --git a/modules/frontend b/modules/frontend index c5e93568..b3112aa4 160000 --- a/modules/frontend +++ b/modules/frontend @@ -1 +1 @@ -Subproject commit c5e93568a5475ef4817d2ca5f3dbe3202d1a796c +Subproject commit b3112aa41272c55ffb7f82a6b97557feab8cb3c9 diff --git a/modules/ui b/modules/ui index b6be6e89..241bdeda 160000 --- a/modules/ui +++ b/modules/ui @@ -1 +1 @@ -Subproject commit b6be6e89ef97e6688f6dcf234e3e9102ad90ca67 +Subproject commit 241bdedad7c932b62eebe60f459c870ff783a09b