- 伏笔账本:纯函数状态机(OPEN/PARTIAL/CLOSED/OVERDUE) + ForeshadowLedger repo;验收后到期扫描(BackgroundTask 自建 session 置 OVERDUE);登记/状态变更端点 - 节奏 + 三审齐:foreshadow-analyst + pace-checker 并入 LangGraph 并行审(REVIEW_SPECS),collect 分列落 chapter_reviews(conflicts/foreshadow_sug/pace),review SSE 加 foreshadow/pace 事件 - 大纲:outliner Agent 产 OutlineResult(含 foreshadow_windows),POST /outline 逐章 upsert outline 表;GET /foreshadow?status= 看板 - 前端:伏笔四泳道看板(OVERDUE 琥珀) + 大纲编辑器(窗口徽标) + 节奏节拍图(▁▃▅) + 审稿页消费 foreshadow/pace SSE - bugfix(T3.8):并行三审共用请求 session 记账触发 'Session is already flushing' → foreshadow/pace 静默丢失;SqlAlchemyLedgerSink.record 改 add-only(靠端点/事务 commit),加并发回归测试 - M3 E2E:真实 DB + mock 网关零 token 走通 埋设→进展→验收后扫描 OVERDUE→看板 + 大纲含窗口 + 三审齐 SSE/留痕;E2E 暴露并钉住上述 bug - 门禁绿:mypy 111 / pytest 228(0 xfailed) / alembic 无漂移;前端 gen:api/lint/tsc/vitest 69/build
22 KiB
PROGRESS — 多 Agent 协同任务台账
多 agent 共享的唯一协同入口。开工前读这里 +
memory/;认领任务、尊重依赖、完成即更新。 完整任务定义见DEV_PLAN.md;本台账只展开当前阶段,进入新阶段时再把该阶段任务拉进来。 协同规则见CLAUDE.md→「多 Agent 协同」。
状态图例:⬜ 待办 · 🔵 进行中(注明 @skill + 日期) · ✅ 完成 · ⛔ 阻塞(注明等什么)
当前阶段:Phase 3 (M3) · 伏笔 + 节奏
目标:伏笔账本/到期提醒/看板 + 节奏引擎 + 大纲。契约先行:C6 扩(foreshadow-analyst/pace-checker/outliner 三 spec + 输出 schema) → C4 扩(审图加两审分支 + outline 节点) → C3 扩(outline/foreshadow 端点)。 执行波次(依赖驱动):A(T3.1‖T3.4) → B(T3.2‖T3.3) → C(T3.5) → D(T3.6) → E(T3.7)。 计划已定的衔接决策: M3-a
foreshadow表已在 T0.2 建齐(含 status/expected_close_from/to/progress/links 列)→ M3 无新建表迁移;T3.1 仅 Repository + 纯函数状态机,落core/ww_core/domain/(@backend owned,同 T2.3 先例,故 T3.1 负责据实记 @backend)。 M3-b 到期扫描(T3.2)挂在验收后触发——接 M2 验收事务 §5.5 步骤 3 当前留的TODO(M3)(人物 latest_state/伏笔更新)占位。 M3-c 第三审(foreshadow/pace)复用 M2build_review_graph的review_specs扩展点并入并行分支(C4 已稳定);文风第四审属 M4/T4.2,M3 先到三审齐。 M3-d 到期判据为纯函数确定性代码(非 Agent):current_ch > expected_close_to AND status≠CLOSED → OVERDUE。
| 任务 | 状态 | 负责 | 依赖 | 契约 | 备注 |
|---|---|---|---|---|---|
| T3.1 foreshadow Repository + 纯函数状态机 | ✅ @backend 2026-06-18 | @backend | T0.2✅ | — | foreshadow_state.py(ForeshadowStatus+transition/is_overdue/apply_overdue_scan/InvalidTransition)+foreshadow_repo.py(ForeshadowLedger*,register/list_by_status/transition/record_progress/scan_overdue,只 flush);37 测;写侧加 Ledger 前缀避撞 C5 读侧 |
| T3.2 到期扫描(BackgroundTask) + 登记/状态接口 | ✅ @backend 2026-06-18 | @backend | T2.4✅, T3.1✅ | C3✅扩 | accept 后 BackgroundTask run_overdue_scan(自建 session 置 OVERDUE);POST/PATCH .../foreshadow 登记/转移(重复/非法→VALIDATION 422);9 测全仓 205 passed |
| T3.3 foreshadow-analyst + pace-checker 节点 | ✅ @llm 2026-06-18 | @llm | T2.2✅ | C6✅扩/C4✅扩 | foreshadow_spec+pace_spec(+schema)并入 REVIEW_SPECS(三审齐);collect 分列落 conflicts/foreshadow_sug/pace;normalize_review 加 foreshadow/pace 事件;~30 测;文风审留 M4 |
| T3.4 outliner Agent + 伏笔窗口 | ✅ @llm 2026-06-18 | @llm | T1.1✅ | C6✅扩 | packages/agents/(outliner_spec+OutlineResult/OutlineChapter/ForeshadowWindow)+orchestrator/outline_node.py(run_outline 只读不写库);20 测;C6 扩稳定 |
| T3.5 API:outline + foreshadow | ✅ @backend 2026-06-18 | @backend | T3.1✅, T3.4✅ | C3✅扩 | GET .../foreshadow?status=(看板,续 foreshadow.router) + POST .../outline(独立 outline.py,run_outline analyst→upsert outline 表+commit);outline 写侧 repo;+15 测全仓 220 passed |
| T3.6 伏笔看板 + 大纲编辑器 + 节奏报告 | ✅ @frontend 2026-06-18 | @frontend | T3.3✅, T3.5✅ | — | /foreshadow(四泳道+登记/转移) + /outline(beats+窗口徽标) + 审稿页扩消费 foreshadow/pace(节拍图▁▃▅);gen:api 纳 M3 端点;vitest 69(+24) |
| T3.7 M3 E2E | ✅ @qa 2026-06-18 | @qa | T3.6✅ | — | tests/test_m3_e2e.py 3 用例真跑(非 skip):伏笔埋设→进展→验收后扫描 OVERDUE✓ + 大纲 upsert 含窗口✓ + 三审 SSE(strict-xfail 钉住并发记账 bug);DB 真源断言 |
| T3.8 [bugfix] 并行审记账并发安全 | ✅ @llm 2026-06-18 | @llm | T3.7✅ | — | SqlAlchemyLedgerSink.record 改 add-only(去 await flush);并发回归测试(RED 已验旧实现炸);E2E case3 转 XPASS(三审齐落库 foreshadow_sug=2/pace✓)。待 @qa 解钉 T3.7 strict-xfail 收尾 |
M3 出口(DoD)✅ 全部达成:伏笔账本/到期提醒/看板;大纲含回收窗口;节奏报告(三审齐真持久化)。后端门禁绿(ruff / mypy 111 文件 / pytest 228 passed / alembic 无漂移);前端门禁绿(gen:api / lint / tsc / vitest 69 / build);E2E 真实 DB + mock 网关零 token 走通 伏笔埋设→进展→验收后扫描 OVERDUE→看板 + 大纲含窗口 + 三审齐 SSE/留痕,DB 真源逐项断言。T3.7 E2E 暴露并发记账 bug → T3.8 add-only 修复 → 解钉 xfail。M3 完成。 下一阶段 M4(文风)见 DEV_PLAN,进入时拉入本表。
已归档阶段
Phase 2 · 一致性 + 验收 (M2) — ✅ 全部完成(2026-06-18)
T2.1 续审 AgentSpec+结构化输出契约+网关 instructor 接线(C6✅稳定,改 C1:run() 填 parsed)@llm · T2.2 LangGraph 并行审+collect 留痕+review SSE(C4✅扩)@llm · T2.3 摘要/审稿留痕 Repository+章节 version(@backend,表已 T0.2 建)· T2.4 验收事务+冲突 gate(单原子事务 + R2 事务外提炼 digest)@backend · T2.5 review API+历史(C3✅扩)@backend · T2.6 审稿报告页+冲突裁决+验收 gate @frontend · T2.7 M2 E2E(真 DB+多档位 mock 网关零 token)@qa。
出口达成:后端门禁绿(ruff / mypy 90 / pytest 114 / alembic 无漂移);前端门禁绿(gen:api / lint / tsc / vitest 45 / build);E2E 写→审→裁决→验收→摘要入库闭环、DB 真源逐项断言。设计决策 R1–R6 全兑现(见 memory/decisions)。
Phase 1 · 写章闭环骨架 (M1) — ✅ 全部完成(2026-06-18)
T1.1 LLM 网关接口+DeepSeek 适配器+usage_ledger 记账(C1✅稳定)@llm · T1.2 记忆 assemble 确定性选择(C5✅稳定)@backend · T1.3 LangGraph 写章节点+Postgres checkpointer+SSE(C4✅稳定)@llm · T1.4 立项+写章 draft(SSE)+PUT 自动保存(C3✅稳定)@backend · T1.5 AppShell+作品库+5 步立项向导 @frontend · T1.6 写作工作台(三栏+流式打字机+注入透明面板+自动保存)@frontend · T1.7 提供商凭据管理(Fernet 加密+测试连接)@backend · T1.8 设置页(档位路由+凭据行)@frontend · T1.9 M1 E2E(真实 DB+mock 网关零 token;暴露并修复 ledger 提交 bug)@qa。 出口达成:后端门禁绿(ruff / mypy 68 / pytest 57 / alembic 无漂移);前端门禁绿(gen:api / lint / tsc / vitest 24 / build);E2E 闭环走通。 M2 起可补的 M1 占位:本章助手/注入透明面板、向导主角/世界观字段、档位路由可写。
Phase 0 · 基建与栈修订 — ✅ 全部完成(2026-06-18)
T0.1 monorepo 骨架 ✅ @devops · T0.2 16 MVP 表迁移(无漂移,users stub)✅ @db · T0.3 FastAPI 骨架 + config + 错误信封(带 request_id) + OpenAPI + GET /jobs/:id + structlog ✅ @backend · T0.4 前端骨架 + 纸感 token + OpenAPI→TS gen:api ✅ @frontend · T0.5 CI(含 pg service + alembic 漂移校验)✅ @devops · T0.6 架构栈修订回写规格 ✅ @docs。
出口达成:backend 门禁绿、frontend 门禁绿、API 实跑 200 带 x-request-id。
变更日志(append-only,最新在最上)
格式:
- [YYYY-MM-DD] @skill 完成/进展 Txx — 一句话结果 + 影响的契约/文件
- [2026-06-18] @orchestrator — 🎉 M3 完成(T3.8✅ 修复 + @qa 解钉 xfail)。T3.8 把
SqlAlchemyLedgerSink.record改 add-only(去并行路径里唯一的await flush(),靠端点/事务 commit 持久化),并发回归测试 RED 已验旧实现抛Session is already flushing;@qa 移除 T3.7 case3 strict-xfail、收紧为严格正向断言(三审 section 齐 + foreshadow/pace 真发事件 +chapter_reviews.foreshadow_sug/pace列真填 +beat_map精确断言)。最终全收口门禁绿:ruff/format 干净、mypy 111 文件、pytest 228 passed(0 xfailed/0 failed)、alembic 无漂移;前端 lint/tsc/vitest 69 绿。M3 出口 DoD 全达成。 下一阶段 M4(文风)。 - [2026-06-18] @orchestrator — M3 Wave E:T3.7✅ E2E 交付 + 暴露并发 bug。
tests/test_m3_e2e.py真 pg 跑通:① 伏笔 埋设→进展→验收后 BackgroundTask 扫描置 OVERDUE→看板过滤(DB 真源)✓ ② 大纲POST .../outline→outline 表行+窗口+幂等 upsert+记账✓。③ 三审 SSE 用例 strict-xfail 钉住真 bug:三审同 LangGraph superstep 并行 + 共用请求 session 的SqlAlchemyLedgerSink.record(add+await flush)→AsyncSession非并发安全→第二/三审 flush 撞「Session is already flushing」→被run_review失败隔离静默吞成incomplete→foreshadow/pace 静默丢失(SSE 无事件、chapter_reviews列空)。M2 单审未触发。基线 222 passed + 1 xfailed。开 T3.8(@llm) 修复 → 修后 @qa 解钉 xfail → 才算 M3 达成。 - [2026-06-18] @orchestrator — M3 Wave D 完成(T3.6✅)。前端三块落地:伏笔四泳道看板(
/foreshadow,OVERDUE 琥珀 + 登记/转移乐观更新)、大纲编辑器(/outline,逐章 beats + 伏笔窗口徽标 + 接近回收提示)、审稿页扩消费foreshadow/paceSSE(伏笔建议区 + 节奏节拍图 ▁▃▅,三审齐显,文风第四审留 M4)。pnpm gen:api纳入 M3 端点(看板/登记/转移/大纲),松散 JSONB 字段安全收窄不手写。前端门禁绿:gen:api/lint/tsc/vitest 69(+24)/build。memory +1 decision +2 gotchas。下一步 Wave E:T3.7 M3 E2E(@qa 真 DB + mock 网关零 token)。 - [2026-06-18] @orchestrator — M3 Wave C 完成(T3.5✅,C3 扩稳定)。
GET .../foreshadow?status=看板(续 foreshadow.router,四泳道)+POST .../outline(独立 outline.py:run_outlineanalyst 网关 → 逐章 upsertoutline表含伏笔窗口 → 端点末尾 commit)。outline 写侧 repo 加Write前缀避撞 C5 读侧。全仓门禁绿:mypy 102 文件、pytest 220 passed(205→+15)。memory 登记 C3 扩 + 1 decision + 1 gotcha。下一步 Wave D:T3.6(@frontend 伏笔看板 + 大纲编辑器 + 节奏节拍图 + 审稿页消费 foreshadow/pace SSE,先pnpm gen:api)。 - [2026-06-18] @orchestrator — M3 Wave B 完成(T3.2✅)。验收后到期扫描挂 BackgroundTask(
run_overdue_scan自建独立 session 置 OVERDUE,接 §5.5TODO(M3))+ 伏笔登记/状态端点(POST/PATCH .../foreshadow,重复 code/非法转移→VALIDATION422,未动 shared 错误码)。全仓门禁绿:mypy 95 文件、pytest 205 passed(196→+9)。memory 登记 C3 扩 + 1 decision + 2 gotchas。下一步 Wave C:T3.5(@backendGET .../foreshadow?status=看板续接 foreshadow.router +POST .../outline独立 outline.py 调 run_outline)。 - [2026-06-18] @orchestrator — M3 Wave B 半程(T3.3✅,C4/C6 扩稳定)。foreshadow-analyst + pace-checker 并入
build_review_graph(REVIEW_SPECS三审齐,文风第四审留 M4);collect 一次 record 分列落conflicts/foreshadow_sug(扁平+kind 标记)/pace(整 dict);normalize_review加foreshadow/paceSSE 事件(向后兼容)。全仓门禁绿:ruff/format 干净、mypy 91 文件、pytest 196 passed(169→+27)。memory 登记 C4/C6 扩 + 2 gotchas。Wave B 顺序执行:T3.3 改完 orchestrator → 现启 T3.2(@backend apps/api),对最终 orchestrator 构建、无编译竞争。 - [2026-06-18] @orchestrator — M3 Wave A 完成(T3.1✅ + T3.4✅)。两 agent 并行(@backend core/domain ‖ @llm agents+orchestrator,隔离 MYPY_CACHE_DIR 避缓存竞争)。T3.1:伏笔纯函数状态机(OPEN/PARTIAL/CLOSED/OVERDUE 全转移+到期判据)+写侧账本 repo(
ForeshadowLedger*,加 Ledger 前缀避撞 C5 读侧)。T3.4:outliner spec +OutlineResultschema(含foreshadow_windows)+run_outline节点(只读不写库,C6 扩稳定)。全仓门禁绿:ruff/format 干净、mypy 90 文件、pytest 169 passed(114→+37+18)。memory 登记 C6 扩 + 2 decisions + 2 gotchas。下一步 Wave B:T3.2(@backend 到期扫描+登记接口) ‖ T3.3(@llm foreshadow/pace 第三审并入 review_specs)。 - [2026-06-18] @orchestrator — 进入 M3:归档 Phase 2(M2) 至已归档;Phase 3 七任务拉入台账。沿用 M2 节奏:契约先行 + 分目录并行 + 全仓门禁收口。核对:
foreshadow表已在 T0.2 建齐 → M3 无新建表迁移;T3.1「Repository+状态机」据实记 @backend(落core/ww_core/domain/,同 T2.3 先例);T3.3 复用 M2build_review_graph的review_specs扩展点加 foreshadow/pace 两审(文风第四审留 M4)。启动 Wave A:T3.1(@backend·core/domain) ‖ T3.4(@llm·packages/agents+orchestrator)(不同目录,无写冲突)。 - [2026-06-18] @orchestrator — 🎉 M2 完成(Wave E:T2.7✅)。
tests/test_m2_e2e.py真实 pg + 多档位 mock 网关(零 token)真跑通过 2 用例:主用例串 立项→写章 SSE→自动保存→审稿 SSE(section/conflict)→GET 历史→残缺裁决触发 409CONFLICT_UNRESOLVED+missing_indices(gate 事务前拦截未写库)→全量裁决+终稿验收(200, accepted v2)→DB 真源逐项断言:chapters draft v1 留存 + accepted v2(content==final_text)、chapter_digests.facts追溯终稿标记(证 #4 digest 从终稿非草稿)、chapter_reviews.decisions写回、usage_ledger三档位(writer/analyst/light)各落一条且事务已 commit;补充用例验证零冲突直通。无新 bug(M1 曾暴露的 ledger 提交 bug 在 M2 三档位无复发——review 流末 + accept 事务末均 commit)。最终全收口门禁绿:ruff/format 干净、mypy 90 文件、pytest 114 passed、alembic 无漂移(M2 全程零建表迁移)。M2 出口 DoD 全达成。下一阶段 M3(伏笔+节奏)。 - [2026-06-18] @orchestrator — Wave D 完成(T2.6✅)。审稿报告页落地:
app/projects/[id]/review(RSC 取历史)+components/review/*(报告卡/就地标注/AcceptPanel)+lib/review/*(SSE reducer/裁决完整性/请求体组装,纯逻辑单测)。pnpm gen:api纳入 review/accept/reviews 三端点类型(不手写);SSE 沿用useDraftStream的 fetch+ReadableStream 范式;五类冲突就地朱砂锚点(R6 段级降级)+裁决(采纳/忽略/手改)+未决禁验收 gate+409 missing_indices 高亮+「本次将更新」清单。前端门禁绿:gen:api/lint/tsc/vitest 45(+21)/build。memory +1 decision +2 gotchas。下一步 Wave E:T2.7 M2 E2E(@qa 真实 DB + mock 网关零 token)。 - [2026-06-18] @orchestrator — Wave C 完成(T2.4✅ + T2.5✅,C3 扩稳定,单 @backend agent 顺序做)。三端点入 OpenAPI:
POST .../review(SSE section/conflict/done) +GET .../reviews(新→旧) +POST .../accept。验收:冲突 gate(裁决conflict_index须覆盖 review.conflicts 全下标,缺判→409CONFLICT_UNRESOLVED+missing_indices)→ 终稿 digest 提炼在事务外(R2,light 档)→ 单原子事务 promote(R4)+digest.append(#4)+set_decisions、末尾一次 commit、失败全回滚(R3)。build_gateway_for_tier统一多档位网关注入。全仓门禁绿:ruff/format 干净、mypy 83 文件、pytest 112 passed(+9)。memory 登记 C3 扩 + 1 decision + 2 gotchas。下一步 Wave D:T2.6(@frontend 审稿页+裁决+验收 gate,先pnpm gen:api)。 - [2026-06-18] @orchestrator — Wave B 完成(T2.2✅,C4 扩稳定)。审稿子图落地:
build_review_graph(START→continuity 并行审→collect→END,可扩四审) +collect_reviews落chapter_reviews留痕 +normalize_review(SSE 加section/conflict);M1build_write_graph不动。划清边界:本任务到 collect+归一缝为止,interrupt/accept 事务接线交 T2.4(对齐 R3:accept 从领域表重读、checkpoint 仅控制流)。全仓门禁绿:ruff/format 干净、mypy 80 文件、pytest 103 passed。memory 登记 C4 扩 + 3 gotchas(reducer/add_node 重载/失败隔离两层)。下一步 Wave C:T2.4+T2.5(单 @backend agent 顺序做:验收事务+冲突 gate / review API+历史,避免 apps/api 路由+OpenAPI 写冲突)。 - [2026-06-18] @orchestrator — Wave A 完成(T2.1✅ C6 稳定 + T2.3✅)。两个 fresh agent 并行(@llm packages/agents+llm_gateway ‖ @backend core/domain,目录不相交无冲突)。补上 M1 遗留网关缺口:
Gateway.run()经 instructor 接通output_schema→LlmResponse.parsed(改 C1,见 contracts 变更日志)。T2.3 写侧三 repo(章节 accepted 晋升/digest append/审稿留痕+裁决)只 flush 不 commit、交 T2.4 事务。全仓 compose 门禁绿:ruff 干净、format 干净、mypy 77 文件、pytest 89 passed。memory 已登记 C6+C1 变更+2 decisions+3 gotchas。下一步 Wave B:T2.2(@llm 并行审图+collect 留痕+review SSE,依赖 C6+C4)。 - [2026-06-18] @orchestrator — 进入 M2:归档 Phase 1(M1) 至已归档;Phase 2 七任务拉入台账。计划核对两处偏差并据实修正:(1) T2.3「Repository 逻辑」落
packages/core/ww_core/domain/(@backend owned)而非packages/db——DB 全 MVP 表 + 唯一约束(project_id,chapter_no,version)已在 T0.2(@db) 一次建齐、M2 无新建表迁移,故 T2.3 由 @backend 承接 Repository 逻辑;(2) 网关结构化输出缺口:Gateway.run()当前不消费output_schema/不填LlmResponse.parsed(instructor 未接线),续审依赖此,归入 T2.1(@llm)。启动 Wave A:T2.1(@llm·packages/agents+llm_gateway) ‖ T2.3(@backend·core/domain)(不同目录,无写冲突)。 - [2026-06-18] @orchestrator — 🎉 M1 完成(Wave E:T1.9 E2E✅)。真实 DB + mock 网关 E2E 走通 立项→写章 SSE→自动保存→DB 真源断言(projects/chapters/usage_ledger)。E2E 暴露并修复一个生产 bug:draft SSE 端点未提交注入 ledger 的请求 session(
SqlAlchemyLedgerSink按设计只 flush、不 commit——写库事务归编排层),导致真实写章的usage_ledger行被回滚丢失(违背「成本账本从第一天」)。修复:draft 端点流耗尽后await session.commit();E2E 改用请求 session 做 ledger、去掉手动 commit 以回归校验该提交。最终全门禁绿:ruff / mypy 68 / pytest 57 / alembic 无漂移;前端 gen:api/lint/tsc/vitest 24/build 绿。 - [2026-06-18] @orchestrator — Wave D 完成(T1.5+T1.6+T1.8✅,单前端 agent)。
pnpm gen:api重生成客户端含全 M1 端点;路由/(作品库)、/projects/new(5 步向导)、/projects/[id]/write(工作台 SSE 打字机+停+自动保存)、/settings/providers(脱敏+测试连接+能力徽标)。前端门禁全绿:gen:api/lint/tsc/test 24/build。M1 占位(无 API 支撑、未造假端点):单章导航、本章助手/注入透明面板(M2)、向导主角/世界观字段折叠进 premise、档位路由只读。下一步 Wave E:T1.9 E2E(@qa, mock 网关)。 - [2026-06-18] @orchestrator — Wave C 完成(T1.4✅ 立项+写章 API,C3 稳定:M1 端点全落)。记忆→网关→编排器串成 HTTP:5 端点入 OpenAPI,写章 SSE(token/done/error) + 幂等自动保存,lifespan 幂等 seed stub user(修 owner_id FK 缺口)。网关从凭据构建、测试经 dependency_overrides 注 mock。全仓 compose 绿:ruff、mypy 68 文件、pytest 56 passed。后端/编排全部完成。下一步 Wave D:单个前端 agent 做 T1.5+T1.6+T1.8(同一 Next 应用合并做,先
pnpm gen:api),避免 apps/web 写冲突。 - [2026-06-18] @orchestrator — Wave B 完成(T1.3✅ 编排器/C4稳定 + T1.7✅ 凭据/C3部分)。两个 fresh agent 并行(各 ~90–98k tokens,比 fork 省)。全仓 compose 门禁绿:ruff、mypy 61 文件、pytest 48 passed。修了跨包测试碰撞(apps/api
fakes.py→fakes_providers.py;root mypy 排除conftest.py解决多 rootless conftest 同名)。⚠️ Wave C 前置:DB 无 stub user,而 projects/usage_ledger/provider_credentials.owner_id 均 FK→users.id;T1.4 须先幂等 seed stub user(uuid(int=1))。下一步 Wave C:T1.4(@backend 立项+写章 SSE+自动保存,依赖 C4)。 - [2026-06-18] @orchestrator — Wave A 完成(T1.1✅ + T1.2✅,契约 C1/C5 稳定)。全仓 compose 门禁绿:ruff 干净、mypy 45 文件、pytest 27 passed(9 基线 +10 网关 +8 记忆)。T1.1 网关由 orchestrator 内联实现(原 fork 因 stream idle timeout 早夭、零产出);T1.2 记忆由 fork 完成。下一步 Wave B:T1.3(@llm 写章节点+SSE,依赖 C1+C5) + T1.7(@backend 凭据,依赖 C1)。
- [2026-06-18] @orchestrator — 进入 M1:把 Phase 1 九任务拉入台账并归档 Phase 0;新增 workspace 成员
packages/llm_gateway(ww-llm-gateway) +packages/core(ww-core),装 openai/instructor/langgraph/langgraph-checkpoint-postgres/cryptography/tenacity,根pyproject.tomlmembers+mypy_path 已更,uv sync通过,基线门禁全绿(ruff/mypy 27 文件/pytest 9 passed)。记录 decision:assemble返回中性文本以解耦 T1.1‖T1.2。启动 Wave A(T1.1 @llm + T1.2 @backend)。 - [2026-06-18] @devops/@db/@backend/@frontend — Phase 0 全部完成:monorepo(uv workspace + pnpm)、16 MVP 表迁移(无漂移)、FastAPI(structlog+request_id+错误信封+/jobs/:id)、Next.js(纸感 token + OpenAPI→TS gen:api)、CI。门禁全绿,API 实跑 200。下一步 M1/T1.1(网关接口)。
- [2026-06-18] @docs — DEV_PLAN 与规格对齐修订:T0.3 加可观测性底座(structlog+request_id)、T1.1 加
usage_ledger记账(从第一天)、T0.2/T2.3 统一建表口径(全 MVP 表一次建齐, T2.3 仅 Repository)、T4.2 把文风漂移并入第四审、新增PUT .../draft自动保存端点并回写 ARCH §7.2 + contracts C3。 - [2026-06-17] @docs — 四份规格 + CLAUDE.md + 协同系统(PROGRESS/memory)就绪;可进 Phase 0 / T0.1。