重构: ai_node.rs 拆分(836→423,抽 AiSelfReviewNode,REFACTOR-260619-06)

纯结构拆分,逻辑等价,Node trait/AiNode API 不变:
- 抽 ai_self_review_node.rs(447,AiSelfReviewNode 结构体+Node impl+build_review_prompt,
  符合 crate 一节点一文件约定:human_node/script_node/task_advance_node)
- ai_node.rs 瘦身至 423 行(保留 AiNode+测试,params/self_review 纯逻辑已在 ai_node_helpers.rs)
- 测试共置(9 自审测试移 ai_self_review_node::tests)
- state.rs 路径引用更新(ai_node::AiSelfReviewNode → ai_self_review_node::AiSelfReviewNode)
- 注册键 "ai_self_review" 字符串 + node_type() 不变

注:任务清单标 1107 行实为 836(标注有误),params/self_review 已在 ai_node_helpers(298)
自验: df-nodes 82 passed + workspace EXIT 0
This commit is contained in:
2026-06-19 22:11:48 +08:00
parent ad25925af7
commit c61a222db8
4 changed files with 464 additions and 429 deletions

View File

@@ -705,13 +705,13 @@ fn build_registry(db: Arc<Database>) -> NodeRegistry {
registry.register("ai", move |_config| {
Box::new(df_nodes::ai_node::AiNode::new(ai_db.clone()))
});
// AiSelfReviewNode(df_nodes::ai_node, impl Node trait):
// AiSelfReviewNode(df_nodes::ai_self_review_node, impl Node trait):
// 决策 a 步骤③:四维度自审(prompt 固定+JSON 解析兜底),写回 output_json 加 review 子字段,
// review 摘要塞 NodeOutput.data 供下游 human_review 经 DAG inputs 透传。
// testing 模板 ai_self_review 节点类型对齐此注册 key。
let review_db = db.clone();
registry.register("ai_self_review", move |_config| {
Box::new(df_nodes::ai_node::AiSelfReviewNode::new(review_db.clone()))
Box::new(df_nodes::ai_self_review_node::AiSelfReviewNode::new(review_db.clone()))
});
// TaskAdvanceNode(df_nodes::task_advance_node, impl Node trait):
// 推进链阶段 2 工作流联动入口 — DAG 内触发 advance_task。