From d9d4a0fcf60c4982caf75049686a89627a0a5dc0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=BB=9D=E5=B0=98?= <237809796@qq.com> Date: Sun, 14 Jun 2026 14:28:24 +0800 Subject: [PATCH] =?UTF-8?q?=E6=96=B0=E5=A2=9E:=20todo=20=E6=A0=87=20Workfl?= =?UTF-8?q?ow=20A/B/C/D=20=E5=AE=8C=E6=88=90=20+=20Sprint=2020=20=E6=89=B9?= =?UTF-8?q?1/2/3=20=E6=94=B6=E5=B0=BE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit B-06/B-07/B-03a 标✅(commit 22964a2),B-03b 取消机制待做。已完成段补 WF-A/B/C/D 四条(commit 3f0839a/d5a6417/02ff88f/22964a2) --- docs/todo.md | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) diff --git a/docs/todo.md b/docs/todo.md index 5d81640..1734935 100644 --- a/docs/todo.md +++ b/docs/todo.md @@ -30,11 +30,12 @@ - [x] B-260614-02 — ~~df-workflow ConditionEngine 默认 true~~ ✅ mission:T-260614-02 已修复(conditions.rs:31 `Ok(true)`→`Ok(false)` 保守拒绝;5 个原断言错误行为的测试同步改断言;df-workflow 7 test pass)(06-14) - [x] B-260614-04 — ~~df-workflow NodeRegistry::default() script 工厂 unimplemented!~~ ✅ mission:T-260614-03 已修复(删除整个 Default impl——零调用方 + 违反铁律;state.rs build_registry 已用 new() + 手动注册真实 ScriptNode)(06-14) -### P0 — 阻断性 bug(df-workflow 审批闭环,依赖链:B-06/B-07 → B-03) +### ✅ 已完成 — df-workflow 审批闭环(Workflow D, commit 22964a2) -- [ ] B-260614-06 — **[P0→前置]** df-workflow DagExecutor execution_id 硬编码 "dummy-execution-id" — `executor.rs:76` 所有执行 ID 相同,追踪/审计失效。改为从外部传入(run_workflow IPC 已生成真 execution_id 但未下沉到 executor) — source:代码审查 (06-14) -- [ ] B-260614-07 — **[P0→前置]** df-workflow executor 每节点拿全新空 StateMachine — `executor.rs:78` 每节点 `StateMachine::new()`,self.state_machine 从不传入 NodeContext,HumanNode is_cancelled 恒 false。改为共享 self.state_machine — source:多代理探索 (06-14) -- [ ] B-260614-03 — **[P0→依赖 B-06/B-07]** df-workflow HumanNode 假实现 — `human_node.rs:55` 注释"等待审批"但首次迭代直接 return "同意",与 ai.rs 严谨审批链路矛盾。**📐 设计完成 [B-03-人工审批响应机制.md](./02-架构设计/B-03-人工审批响应机制.md)**(subscribe→send→select! 广播过滤;execution_id+node_id 双键;拆 B-03a 响应等待/超时 + B-03b 取消机制;通道选型 = **工作流独立审批通道**复用 EventBus / HumanApprovalResponse 事件 / approve_human_approval IPC,非 ai.rs AiApprovalRequired)。核对修正原注:B-06 = 并发隔离前置(非单流功能前置),B-07 = 取消必要非充分,**B-03a 不依赖 B-07** — source:多代理探索 + 设计 (06-14) +- [x] B-260614-06 — ~~execution_id 硬编码 "dummy-execution-id"~~ ✅ DagExecutor::new 接收 execution_id 下沉 NodeContext(workflow.rs 传真 ID)(06-14) +- [x] B-260614-07 — ~~每节点全新空 StateMachine~~ ✅ NodeContext.node_status 共享 self.state_machine.clone()(is_cancelled 可工作)(06-14) +- [x] B-260614-03a — ~~HumanNode 假返回"同意"~~ ✅ execute 重写 subscribe→send→select!(响应/超时/取消 + execution_id+node_id 双键 + Lagged 容忍),照 [B-03 设计](./02-架构设计/B-03-人工审批响应机制.md);7 单测;eventbus 删死代码 (06-14) +- [ ] B-260614-03b — **[P2→待做]** HumanNode 取消机制 — StateMachine::set_cancelled + cancel_workflow_node IPC + 前端取消按钮(B-07 已满足,缺 setter/IPC/UI 三件)— source:B-03 设计第七节 (06-14) ### P1 — 重要缺陷 @@ -81,7 +82,11 @@ - [x] T-260614-05 工具结果入库前截断 50KB(含 3 单测)— mission:T-260614-04 - [x] B-260614-08 promote_idea 补偿删除保最终一致性 — mission:T-260614-05 - [x] T-260614-07 诊断日志清理(3 删 + 3 改 debug)— mission:T-260614-06 -- [x] D-260614-01 B-03 人工审批响应机制**设计**完成 — 新建 [B-03-人工审批响应机制.md](./02-架构设计/B-03-人工审批响应机制.md)(9 节完整设计)+ 功能决策记录摘要章节 + PROGRESS/todo/INDEX 同步;核心结论:链路基础设施已通仅缺 HumanNode 一处、通道选型=工作流独立审批通道(非 ai.rs AiApprovalRequired)、拆 B-03a(响应等待+超时,不依赖 B-07)/B-03b(取消机制);**实施待 B-06/B-07 前置** +- [x] D-260614-01 B-03 人工审批响应机制**设计**完成 — 新建 [B-03-人工审批响应机制.md](./02-架构设计/B-03-人工审批响应机制.md)(9 节完整设计)+ 功能决策记录摘要章节 + PROGRESS/todo/INDEX 同步;核心结论:链路基础设施已通仅缺 HumanNode 一处、通道选型=工作流独立审批通道(非 ai.rs AiApprovalRequired)、拆 B-03a(响应等待+超时,不依赖 B-07)/B-03b(取消机制);**✅ B-06/B-07 前置已由 Workflow D 完成,B-03a 已实施(commit 22964a2)** +- [x] WF-A 数据安全(Sprint 20 ①②)— AI delete→soft_delete + restore/purge/list_trash 三工具 + list_projects 排除回收站(commit 3f0839a) +- [x] WF-B 阻塞去重(Sprint 20 ③④⑤)— spawn_blocking 三处+补漏 + normalize_path 抽公共 + 复用 is_allowed_column(commit d5a6417) +- [x] WF-C 前端(Sprint 20 ⑥⑦⑧)— 扫描文案 i18n + parseStack 抽公共 + 8 处 alert/confirm 换组件(commit 02ff88f) +- [x] WF-D 审批闭环(B-06/B-07/B-03a)— execution_id 下沉 + 共享状态机 + HumanNode select! 实现(commit 22964a2) ## Bug