diff --git a/.blueprint/manifest.yaml b/.blueprint/manifest.yaml index ddc4976..f55999e 100644 --- a/.blueprint/manifest.yaml +++ b/.blueprint/manifest.yaml @@ -419,10 +419,10 @@ modules: - id: mcp-single-server name: MCP 单一服务器化 area: backend - status: in_progress - progress: 85 + status: done + progress: 100 updated: 2026-07-06 - note: "T1/T2/T3/T5/T6 代码完成(cargo test 93 绿 + typecheck 过 + grep 零残留),T6 经评估提前并入本次发版。剩 T4:构建新二进制 + 重启触发自动迁移 + 端到端验证" + note: "T1-T6 全部完成并端到端终验(2026-07-06):单一 lian-jing 服务器上线,~/.claude.json 12 条旧注册清零,3 项目抽查新格式通过,旧路由 404。T4 暴露并修复 git-bash 硬编码存量 bug(0d1427f)。遗留:同路径重复登记待清理(见模块 done_note)" position: [1750, 500] edges: diff --git a/.blueprint/modules/mcp-single-server.md b/.blueprint/modules/mcp-single-server.md index a68a87c..a807d06 100644 --- a/.blueprint/modules/mcp-single-server.md +++ b/.blueprint/modules/mcp-single-server.md @@ -84,12 +84,13 @@ - acceptance: "[Tauri command] inject_project_mcp(pid) → 项目 settings.json 含 key \"lian-jing\"(URL 以 /mcp 结尾)且无 lian-jing:group-* 残留;liangjing.json 含 project_id+mcp_port 且 group_id 键被删除;remove_group_member 仅在项目不属于任何组时移除 key;cargo test 全绿" - done_note: 2026-07-06 完成。额外实现 migrate_to_single_server 启动时一次性迁移(标记位 mcp_single_migrated,claude CLI 缺失时不落标记等重试);delete_group/remove_group_member 加"仍属其他组则保留"判断;文件实测归入 T4 -### 📋 T4. 存量批量迁移执行 + 端到端验证 -- status: todo +### ✅ T4. 存量批量迁移执行 + 端到端验证 +- status: done - complexity: S -- files: (执行操作,无新代码——迁移在新版启动时自动执行) -- depends: T1, T2, T3, T6(需先构建 + 重启炼境运行新二进制) -- acceptance: "[CLI] claude mcp list → lian-jing-* 旧条目清零、仅剩 lian-jing;[MCP] 抽查 3 个项目(含本项目 + enterprise-system)settings.json/liangjing.json 符合新格式;新 Claude 会话经 lian-jing 实调 get_diagnostics → 返回 JSON 无 error;[HTTP] POST /mcp/group/{gid} → 404" +- files: src-tauri/src/mcp_inject.rs(迁移暴露 git-bash 探测 bug,修复见 0d1427f) +- depends: T1, T2, T3, T6 +- acceptance: "[CLI] claude mcp list → lian-jing-* 旧条目清零、仅剩 lian-jing;[MCP] 抽查 3 个项目 settings.json/liangjing.json 符合新格式;经 /mcp 实调 get_diagnostics → 返回 JSON 无 error;[HTTP] POST /mcp/group/{gid} → 404" +- done_note: 2026-07-06 完成。端到端验证暴露真 bug:CLAUDE_CODE_GIT_BASH_PATH 回退路径硬编码 Program Files,Scoop 安装的 Git 导致 claude mcp add/remove 全挂(存量 bug,组级时代即存在)——修复为多位置探测 + already exists 视为成功 + 迁移标记位以注册成功为条件(0d1427f)。首次迁移的全局注册部分手动补齐(本会话 claude mcp remove ×12 + add lian-jing),文件迁移由 migrate_to_single_server 自动完成。验证:~/.claude.json 仅剩 lian-jing、3 项目(dev-manager-tauri/enterprise-system/life-memo)配置全部新格式、新路由握手 + get_diagnostics 实调通过、旧路由 404。遗留:同路径重复登记(legacy id "dev-manager-tauri" 组 0001 与 2c5b54ef 并存)导致批量重注入时 liangjing.json project_id 翻转,待用户决定是否 unregister legacy 条目 ### ✅ T5. 文档/模板/技能/UI 寻址说明同步 - status: done