新增: todo 补 6 项缺口 + PROGRESS Sprint 21(workflow 推进)
todo: T-03 标✅(WF-B⑤解决)+ 补 F-07 df-ai-core/F-08 决策治理/F-09 status治理/F-10 知识库MCP/T-11 条件引擎/T-12 df-ideas死代码(决策记录+PROGRESS 缺口补进看板)
PROGRESS: Sprint 21 记录 A/B/C/D 四 workflow(commit 3f0839a/d5a6417/02ff88f/22964a2)+ 验证结论
This commit is contained in:
13
PROGRESS.md
13
PROGRESS.md
@@ -678,6 +678,19 @@
|
|||||||
|
|
||||||
**下一步**:B-06(execution_id 下沉)/ B-07(共享 StateMachine)前置修复 → 落 B-03a 实现 → B-03b 取消机制补全。
|
**下一步**:B-06(execution_id 下沉)/ B-07(共享 StateMachine)前置修复 → 落 B-03a 实现 → B-03b 取消机制补全。
|
||||||
|
|
||||||
|
### [Sprint 21] 2026-06-14 — Workflow 编排推进 Sprint 20 批次 + 审批闭环实施
|
||||||
|
|
||||||
|
**工作内容**: 以 workflow(实施 + 对抗验证两阶段,文件域隔离 + prompt 钉死约束)并行推进 Sprint 20 审查发现 + df-workflow 审批闭环。先 commit 基线 cf017f8(Phase2 阶段收尾 167 文件,排除无关的 `src-tauri/儿童每日打卡应用/`),后 A/B/C/D 四 workflow 各独立 commit 隔离可审。失控教训内化:workflow 确定控制流替代 background agent stop hook 循环,全程禁碰决策记录 + 禁自主续推。
|
||||||
|
|
||||||
|
**A 数据安全**(commit 3f0839a): AI `delete_project` 由 `repo.delete` 物理删改 `soft_delete` + 新增 `restore_project`/`purge_project`/`list_trash` 三工具(复用 ProjectRepo 回收站方法)+ `list_projects` 改 `list_active` 排除回收站(验证捕的漏网:LLM 原能看到已软删项目)。tool_registry.rs。
|
||||||
|
**B 阻塞去重**(commit d5a6417): `collect_sample`/`detect_stack` 四处 `spawn_blocking`(含验证捕的 bind_directory 漏网)+ `normalize_path` 抽公共到 `df-project/scan` + tool_registry `update_project` 复用 crud `is_allowed_column`(删硬编码白名单,与 CRUD 同源)。scan.rs/crud.rs/project.rs/tool_registry.rs。
|
||||||
|
**C 前端**(commit 02ff88f): 扫描/目录状态文案走 `$t`(zh-CN+en)+ `parseStack` 抽公共 `src/utils/project.ts` + 8 处原生 `alert`/`confirm` 全换(confirm→ConfirmDialog / alert→Arco Message),控制流语义不变。vue-tsc 0 error。8 文件。
|
||||||
|
**D 审批闭环**(commit 22964a2): B-06 DagExecutor 接收 `execution_id` 下沉 NodeContext(消除 dummy)+ B-07 `node_status` 共享 `self.state_machine.clone()` + B-03a HumanNode `execute` 重写 `subscribe→send→select!`(响应/超时/取消 + execution_id+node_id 双键过滤 + Lagged 容忍,照 B-03 设计)+ eventbus 删 `try_recv_human_approval` 死代码 + human_node 7 单测。executor.rs/workflow.rs/human_node.rs/eventbus.rs。
|
||||||
|
|
||||||
|
**验证**: cargo check 0 error / df-storage 32 + df-project 4 + df-workflow 11 + df-nodes 14 test 全过 / vue-tsc 0 error。A/B 各 1 issue(list_projects 泄漏 / bind_directory 漏网)主代理补修;C/D 验证 safe 0 issue。
|
||||||
|
|
||||||
|
**遗留 / 下一步**: B-03b 取消机制(`set_cancelled` + cancel IPC + 前端按钮)待做;T-09/T-10 非阻断记 todo;架构前置 df-ai-core(F-07)待设计解锁 F-03。
|
||||||
|
|
||||||
<!--
|
<!--
|
||||||
|
|
||||||
### [Sprint N] YYYY-MM-DD — 简述
|
### [Sprint N] YYYY-MM-DD — 简述
|
||||||
|
|||||||
@@ -61,7 +61,7 @@
|
|||||||
### P2 — 不阻断缺陷 / 增强
|
### P2 — 不阻断缺陷 / 增强
|
||||||
|
|
||||||
- [ ] B-260614-05 — **[P2→降级]** 分离窗口(detached)跨窗口状态 — **核对修正**:reattachPanel 已接线(不再死代码)+ `tauri://destroyed` 监听已复位状态,"detached 永真卡死"已修复;剩余 localStorage `df-ai-gen`/`df-ai-text` 是 Sprint 19 **有意保留**(流式临时快照高频写),非 bug。仅在出现新场景失效时再评估改全局 emit/listen — source:代码审查 + Sprint 19 (06-14)
|
- [ ] B-260614-05 — **[P2→降级]** 分离窗口(detached)跨窗口状态 — **核对修正**:reattachPanel 已接线(不再死代码)+ `tauri://destroyed` 监听已复位状态,"detached 永真卡死"已修复;剩余 localStorage `df-ai-gen`/`df-ai-text` 是 Sprint 19 **有意保留**(流式临时快照高频写),非 bug。仅在出现新场景失效时再评估改全局 emit/listen — source:代码审查 + Sprint 19 (06-14)
|
||||||
- [ ] T-260614-03 — 工具层白名单与 crud 白名单双份去重(架构债) — source:经验记录 (06-14)
|
- [x] T-260614-03 — ~~工具层白名单与 crud 白名单双份去重~~ ✅ WF-B ⑤ 已解决(tool_registry update_project 复用 is_allowed_column,与 CRUD 白名单同源,删硬编码 match)(06-14)
|
||||||
- [ ] F-260614-02 — 技能联想「使用」 — 首批 3 类联想已做,联想后实际触发/执行技能未实现 (06-14)
|
- [ ] F-260614-02 — 技能联想「使用」 — 首批 3 类联想已做,联想后实际触发/执行技能未实现 (06-14)
|
||||||
- [ ] F-260614-03 — **[需设计]** 灵感对抗评估接 LLM — 核对 adversarial.rs:`evaluate()` 纯启发式,接 LLM 需改签名注入 provider。3 种注入方式待定:A.trait 解耦(df-ideas 定义 IdeaAnalyzer trait,推荐)/ B.df-ideas 直接依赖 df-ai / C.closure。属架构决策非直接做 (06-14)
|
- [ ] F-260614-03 — **[需设计]** 灵感对抗评估接 LLM — 核对 adversarial.rs:`evaluate()` 纯启发式,接 LLM 需改签名注入 provider。3 种注入方式待定:A.trait 解耦(df-ideas 定义 IdeaAnalyzer trait,推荐)/ B.df-ideas 直接依赖 df-ai / C.closure。属架构决策非直接做 (06-14)
|
||||||
- [x] T-260614-04 — ~~路径校验根治~~ ✅ 已完成(resolve_workspace_path 加 canonicalize 防 symlink 逃逸 + 词法 starts_with 兜底;仅校验、返回词法路径保持前端友好;cargo check 0 err / 22 test pass)(06-14)
|
- [x] T-260614-04 — ~~路径校验根治~~ ✅ 已完成(resolve_workspace_path 加 canonicalize 防 symlink 逃逸 + 词法 starts_with 兜底;仅校验、返回词法路径保持前端友好;cargo check 0 err / 22 test pass)(06-14)
|
||||||
@@ -70,6 +70,12 @@
|
|||||||
- [ ] F-260614-06 — 导入历史项目(scan 第二步) — 复用 scan/relocate/checkBinding,加 monorepo 子目录识别 + README 首段抽 description + 批量 (06-14)
|
- [ ] F-260614-06 — 导入历史项目(scan 第二步) — 复用 scan/relocate/checkBinding,加 monorepo 子目录识别 + README 首段抽 description + 批量 (06-14)
|
||||||
- [ ] T-260614-09 — **[P2→非阻断]** idea.rs:149 立项回滚补偿删走 `state.projects.delete()` 物理删不级联 — 当前删刚 insert 的孤儿项目(无子记录)安全;若该路径在项目已有子记录时复用会留孤儿 tasks/branches。建议改 `purge_with_descendants` — source:Workflow A 验证 (06-14)
|
- [ ] T-260614-09 — **[P2→非阻断]** idea.rs:149 立项回滚补偿删走 `state.projects.delete()` 物理删不级联 — 当前删刚 insert 的孤儿项目(无子记录)安全;若该路径在项目已有子记录时复用会留孤儿 tasks/branches。建议改 `purge_with_descendants` — source:Workflow A 验证 (06-14)
|
||||||
- [ ] T-260614-10 — **[P2→可选]** project.rs findBinding_conflict 内 normalize_path 同步 canonicalize — 开销小(单路径)且用于比较,spawn_blocking 收益低;批量绑定场景出现阻塞再评估包 — source:Workflow B 验证 (06-14)
|
- [ ] T-260614-10 — **[P2→可选]** project.rs findBinding_conflict 内 normalize_path 同步 canonicalize — 开销小(单路径)且用于比较,spawn_blocking 收益低;批量绑定场景出现阻塞再评估包 — source:Workflow B 验证 (06-14)
|
||||||
|
- [ ] F-260614-07 — **[架构前置]** df-ai-core trait 下沉拆 crate — F-03 注入方式前置(决策记录已收敛:原 F-03 的 A/B/C 选型作废,统一为全局 AI trait 下沉独立 crate,df-ideas/df-nodes 依赖 trait 而非 df-ai 具体 impl)。解锁 F-03 — source:功能决策记录 (06-14)
|
||||||
|
- [ ] F-260614-08 — 决策治理产品化 — 活契约/规格契约自检机制产品化为可操作功能(当前散落文档机制) — source:功能决策记录缺口
|
||||||
|
- [ ] F-260614-09 — 项目 status 字段治理 — status 状态机规范化(planning/active/archived 等枚举约束) — source:功能决策记录缺口
|
||||||
|
- [ ] F-260614-10 — 知识库 MCP Server + Tier 2/3 — 对外 MCP 暴露 + 分层存储(当前仅 Tier 1 全栈) — source:PROGRESS Sprint15
|
||||||
|
- [ ] T-260614-11 — 全局#6 条件表达式引擎升级 — df-workflow conditions 仅支持 true/false 字面量,升级为真表达式求值 — source:PROGRESS 全局问题
|
||||||
|
- [ ] T-260614-12 — df-ideas 死代码/双套抽象组(capture/graph 死码、两套 Recommendation、PromotionPolicy 死枚举、Idea 构造分散)— 需重审去留 — source:PROGRESS Sprint12
|
||||||
|
|
||||||
## 已完成
|
## 已完成
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user