diff --git a/DEPTH_ROADMAP.md b/DEPTH_ROADMAP.md index 6e4f35b..f9a9cb9 100644 --- a/DEPTH_ROADMAP.md +++ b/DEPTH_ROADMAP.md @@ -79,7 +79,7 @@ RBAC 未做,暂以单管理员账号代理;概览口径必须是**系统级* 其它=按序备用),无需新 admin UI;ModelConfig 加 Fallbacks 骑主配置下发(不改 bus 签名) - [x] 主调用失败/超时自动切备:`failoverModel`(model.ToolCallingChatModel)按序切,compose/ReAct/Chat 全路径透明;调用方取消不切;备用 api_key 一并解密 -- [ ] 按任务类型/成本选模(可选,v1 跳过);熔断器联动(failover 在 model 层、熔断在编排层,互补未整合) +- [ ] 按任务类型/成本选模(可选,v1 跳过);熔断器联动(failover 在 model 层、熔断在编排层)—— ✅ 已整合,见 T4.E「熔断器接回 failover」 - 验收 ✅ live:active=死 ollama 主 + deepseek 备 → 任务连主拒连→自动切 deepseek→4s 完成。 - v1 局限:Stream 仅建流同步报错时切(已回流 token 的中途失败不切)。 @@ -215,7 +215,6 @@ RBAC 未做,暂以单管理员账号代理;概览口径必须是**系统级* ### [x] T4.E 编排引擎边角 ✅(5/5 全清) - [x] Map 节点错误传播 + 汇总 ✅ —— writeSection 返回 (body,err) 仅真·LLM 失败计错(预算/无模型是主动降级不算);writeSections 汇总失败数、失败项 Body 带可见标记;mapNode 全失败→置 b.fatalErr(判 failed 非静默 done-空)、部分失败→trace+流式告警。report handleReport 同步提示部分失败。3 单测(全失败/部分精确计数/mapNode 置 fatalErr)。 -- [ ] 熔断器接回 failover(harness/circuitbreaker.go 与 llm/failover.go 未接合,可能长卡备用)| M - [x] coordinator 专家超时 ✅ —— specialistTool 加 timeout(默认 specialistTimeout=3min),InvokableRun 包 WithTimeout;超时作为"观察"跳过该专家(err=nil,lead 据其余综合,不中断协调)。2 单测(超时~50ms 跳过 / 正常不受影响)。 - [x] Branch else 兜底 ✅ —— branchNode 识别 default/else 边,主选择(true/false)未命中时走它;trace 明确区分「走 default / 未匹配收口结束(END) / 正常选路」,杜绝静默落 END 被误当 bug。3 断言单测(default 命中/条件真走 true/无 default 仍空)。compose 层原有 len==0→END 收口保留。 - [x] DSL 拓扑校验 ✅ —— gateway ParseAndAssemble 加 validateTopology:拦重复/空 id + 悬挂边(source/target 指向不存在节点);对空图/报告任务{topic}/非标准载荷宽松放过不误伤。单测(合法/重复id/空id/悬挂边×2/空端点/空图放过) + live(悬挂边→422,合法→202)。节点-工具映射校验需工具注册表,留后续。 diff --git a/EINO_ADOPTION.md b/EINO_ADOPTION.md index b3774c8..749be98 100644 --- a/EINO_ADOPTION.md +++ b/EINO_ADOPTION.md @@ -165,7 +165,7 @@ github.com/cloudwego/eino-ext/... # ⚠️ 官方组件实现(open 主题:把"执行"从一次性 DAG 升级为**可持久化、可恢复的状态机**。三件事同一条线,一起做。 - **任务生命周期 FSM** ✅ 已完成:`submitted → running → done / failed / timeout` 显式状态机。 - - dispatcher 经新主题 `sundynix.tasks.status` 回写(`TaskStatusEvent`):进入执行→running、收尾→done/failed、整体超时上限 `taskExecTimeout=3min`→timeout;网关 `SubscribeTaskStatus` 落 PG(`Task.Status/Detail`)。 + - dispatcher 经新主题 `sundynix.status.task` 回写(`TaskStatusEvent`):进入执行→running、收尾→done/failed、整体超时上限 `taskExecTimeout=3min`→timeout;网关 `SubscribeTaskStatus` 落 PG(`Task.Status/Detail`)。 - UI 轮询:`GET /api/v1/tasks/:id` 返回 `{status, detail}`。 - 验收:submitted→running→done 实测流转、PG 持久化、3min 超时兜底——根治"卡运行中看不出来"。 - 桌面端轮询接线仍可补(当前后端 + 端点已就绪)。