diff --git a/docs/待审查.md b/docs/待审查.md index 023fdd7..ff336bc 100644 --- a/docs/待审查.md +++ b/docs/待审查.md @@ -23,12 +23,20 @@ ## 当前队列 -### CR-260616-58 F-260616-07 阶段3 AiNode 自审闸门(verdict=fail 作 DAG 节点闸门阻断下游)(e16d038) — 🟡 待审 +### CR-260616-58 F-260616-07 阶段3 AiNode 自审闸门(verdict=fail 作 DAG 节点闸门阻断下游)(e16d038) — ✅ 已审(PASS) -- **范围**: F-260616-07 阶段3 AiNode 自审闸门。方案 A(AiNode 内部门控)落地:`gate_should_block(gate, verdict)` 纯函数 + AiSelfReviewNode.execute 末尾 `config["gate"]==true && verdict=="fail"` → return Err,复用 executor first_err 中止后续层 → 工作流 failed → ②-4 回调退回 in_review。verdict=unknown/pass 放行(unknown 保人定权)。testing 模板 ai_self_review 节点 config `"gate": true` 启用。schema 加 gate 布尔字段。 -- **commit**: e16d038。 -- **文件锁**: `crates/df-nodes/src/ai_node.rs` + `crates/df-nodes/src/task_workflow_templates.rs`(独占,df-workflow 零改动)。 -- **维度**: ①gate_should_block 决策矩阵完备(gate=false 全放行 / gate=true 仅 fail 阻断 / unknown/非标 verdict 不阻断保守) ②execute 末尾 Err 路径正确(落库在前,审查痕迹不丢) ③复用 executor first_err + ②-4 回调语义(零 executor 核心改动核验) ④gate 默认 false 向后兼容(阶段2 行为不变,前端/其他调用方零强制改动) ⑤testing 模板 gate:true 启用 + 单测断言 ⑥schema 契约(gate 布尔字段) ⑦选型论证(方案 A vs B 条件引擎暂缓 vs C executor 改核心,最简不破坏) ⑧主代亲跑 cargo check EXIT 0 + df-nodes 82 passed(79→82,+3 gate)+ df-workflow 23 passed。 +- **复审结论(2026-06-17·审查 agent 亲跑 cargo+test+独立 grep/read 核验)**: ✅ **PASS** — 🔴0 🟡0 ⚪1 + - **验证**: `cargo check --workspace` **EXIT 0**(6 pre-existing dead_code warnings 无关本 CR)/ `cargo test -p df-nodes --lib` **82 passed; 0 failed; 1 ignored** (+3 gate 单测:1076-1103)。 + - **①gate_should_block 决策矩阵完备 PASS**:ai_node.rs:426-428 `gate && verdict == "fail"` 简洁正确,gate=false 全放行(阶段2 兼容),gate=true+仅 fail 阻断,unknown/非标 verdict 保守不阻断(单测:1096-1103 覆盖)。 + - **②execute 末尾 Err 路径正确 PASS**:ai_node.rs:574-582 update_field 落库在前(审查痕迹不丢) + :615-629 闸门检查后置,verdict=fail 返回 Err 正确。 + - **③复用 executor first_err + ②-4 回调语义 PASS**:df-workflow/src/executor.rs:128-178 first_err 捕获首个 Err 后立即中止后续层(下游 human_review 不跑) + workflow.rs:292-310 failed 触发 regression_target 退回 in_review(review_rounds+1,task_advance_node.rs:515-547 验证)。 + - **④gate 默认 false 向后兼容 PASS**:ai_node.rs:619 `.unwrap_or(false)` 阶段2 行为不变,AiNode schema(:331-346)无 gate 字段,仅 AiSelfReviewNode 有(:644)。 + - **⑤testing 模板 gate:true 启用 PASS**:task_workflow_templates.rs:65-69 `"gate": true` 正确注入 + 单测:139-144 断言验证。 + - **⑥schema 契约正确 PASS**:ai_node.rs:644 gate 布尔字段,非 required,description 完整。 + - **⑦文件锁独立性 PASS**:ai_node.rs + task_workflow_templates.rs 独占,df-workflow 零改动(git show e16d038 确认)。 + - **⑧选型论证 PASS**:ai_node.rs:605-613 注释完整(方案 A 最简 vs B 暂缓条件引擎 vs C executor 改核心),选 A 语义贴近「自审结果作为闸门」且可开关。 + - **⚪ CR-58-1(low,注释冗余)**:ai_node.rs:605-613 选型注释 9 行,但提供设计决策历史,对后续维护有价值,可保留。 + - **待修项回流 todo**: **无**(8 维度全 PASS,1 low 注释冗余非阻断)。 ### CR-260616-59 波16 F-04c前端Settings池编辑(enabled toggle+weight输入+IPC绑定)(3f90aad) — 🟡 待审 @@ -48,6 +56,15 @@ - **审查 agent 待复审重点**: ⑤终态清 execution_id 匹配逻辑(防误清)+ ⑦互斥 _approvalInFlight try/finally 释放(异常路径不泄漏)。 - **待修项回流 todo**: **无**(⑤⑦ 实施,④ 推迟有理由)。 +### CR-260616-61 波18 ARC df-core改名df-types(机械全workspace 54处)(4be1591) — 🟡 待审 + +- **范围**: 单 agent workflow wkptjpojo。git mv crates/df-core → df-types + 9 Cargo.toml(name+依赖+path)+ perl 替换 .rs df_core→df_types 54 处 + lib.rs doc + 8 注释连字符 df-core→df-types + Cargo.lock 自动迁移。 +- **维度**: ①机械改名无逻辑(波15 走查核验 0 宏自引用/0 字符串字面量自引用) ②grep df_core 代码侧归零 ③cargo build --workspace EXIT 0 + 分 crate test 全绿(≥基线:df-nodes 82/df-workflow 23/df-ai 107/df-ideas 20/df-storage 40)④Cargo.lock 自动迁移 ⑤glob members crates/* 自动适应。 +- **commit**: 4be1591。 +- **主代核查**: cargo check --workspace EXIT 0 + grep df_core 代码侧 0 残留 + df_types 新名确认。 +- **审查 agent 待复审重点**: ①grep df[_-]core 代码侧(.rs+Cargo.toml)归零 ②分 crate test 无回归 ③无字符串/宏自引用遗漏。 +- **待修项回流 todo**: **无**(机械改名,文档同步 .md/project.ts 注释 deferred 非阻塞)。 + ### CR-260616-36 batch60 F-09A 隔离补清 + F-13 性能优化 + AE-03 write_file diff 预览(路径B) — ✅ 已审(PASS) - **复审结论(2026-06-16·CR-36 agent 亲跑 cargo+vue-tsc+test,723s)**: ✅ **PASS** — 🔴0 🟡0 ⚪1