mirror of
https://github.com/NanmiCoder/cc-haha
synced 2026-07-17 13:13:35 +08:00
Desktop MCP local and project scopes were still anchored to the active session workDir when adding or editing servers, which made a selected session worktree look like the target project. The form now treats the target project as explicit input for local/project scopes, and the server update path can remove the old scoped config before writing to the newly selected directory. Constraint: Local MCP scope is private user config keyed by project path; project scope writes the selected project's .mcp.json Rejected: Keep using the active session workDir as the implicit target | it can point at transient session worktrees and hides where config is written Confidence: high Scope-risk: moderate Directive: Do not reintroduce implicit active-session cwd writes for MCP create/edit; local and project scopes need an explicit target project Tested: cd desktop && bun run test -- mcpSettings.test.tsx Tested: bun test src/server/__tests__/mcp.test.ts Tested: cd desktop && bun run check:desktop Tested: bun run check:server Tested: bun run quality:gate --mode baseline --allow-live --only 'provider-smoke:*' --provider-model deepseek:main:deepseek-main Tested: Live filesystem MCP probes with DeepSeek deepseek-v4-pro across local/project scopes; see artifacts/quality-runs/mcp-live-split-2026-05-25T09-15-18-245Z/summary.json Not-tested: Full bun run verify was not rerun after the live MCP smoke Related: #585