ADR-0018:web/channel 共用 Runtime 修 drift

ADR-0018:web/channel 共用 Runtime 修 drift 由 Archify 生成的架构图。 web 手抄(旧) · 缺 internalToolDeps · 架构组件 · BEFORE web 手抄(旧) 缺 internalToolDeps BEFORE channel 手抄(旧) · 有 internalToolDeps · 架构组件 · BEFORE channel 手抄(旧) 有 internalToolDeps BEFORE web · /api/chat · 架构组件 · 入口 web /api/chat 入口 channel / scheduler · IM · cron · 架构组件 · 入口 channel / scheduler IM · cron 入口 OrchestratorRuntime · resolveAndRun · 修复后:单一 Runtime · ADR-0018 OrchestratorRuntime resolveAndRun ADR-0018 internalToolDeps · 启动持有 · 修复后:单一 Runtime · startup internalToolDeps 启动持有 startup promptSegments · TurnConfig · 修复后:单一 Runtime · per-turn promptSegments TurnConfig per-turn composeDeps · 唯一装配点 · 修复后:单一 Runtime composeDeps 唯一装配点 orchestrate · input, deps · 架构组件 orchestrate input, deps 旧手抄 旧手抄 resolveAndRun 同一实例 持有 composeDeps narrow 后注入 TurnConfig 写入 OrchestratorDeps 修复后:单一 Runtime 图例 前端 后端 数据库 云服务

修复前真实 bug

  • • web 主聊天缺 internalToolDeps → 无 rememberPreference / createScheduledTask
  • • promptSegments 有数据但 orchestrate 漏传
  • • channel 路径有完整桶 → 飞书用户两边都能

ADR-0018 结构修复

  • • OrchestratorRuntime 启动装配一次,web/IM/scheduler 共用
  • • 入口只调 resolveAndRun,无第二份手抄清单
  • • composeDeps 统一带上 internalToolDeps / promptSegments

与 memory 收窄的关系

  • • internalToolDeps 启动持有;每轮 narrowInternalToolDeps
  • • memory on 时 web 与 channel 同样能拿到写记忆工具
  • • drift 消灭 = web bug 与门控语义一并落地