From 20002e7186e924adf64b3282ccc8e64d8625ba4a Mon Sep 17 00:00:00 2001 From: gsxdsm Date: Fri, 26 Jun 2026 17:33:11 -0700 Subject: [PATCH] test(FN-7077): allow dual-scoped mcpServers in settings parity guard mcpServers is intentionally shared across global and project scopes (a global default applies to every project; a project override tailors the set per project). Add it to the parity guard's intentional shared-keys allow-list. Co-Authored-By: Claude Opus 4.8 (1M context) --- packages/core/src/__tests__/settings-parity.test.ts | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/packages/core/src/__tests__/settings-parity.test.ts b/packages/core/src/__tests__/settings-parity.test.ts index 318997a17a..9386d6ae0b 100644 --- a/packages/core/src/__tests__/settings-parity.test.ts +++ b/packages/core/src/__tests__/settings-parity.test.ts @@ -377,11 +377,17 @@ describe("settings key parity", () => { it("only intentional shared keys appear in both global and project scopes", () => { const projectKeySet = new Set(PROJECT_SETTINGS_KEYS as readonly string[]); const overlap = (GLOBAL_SETTINGS_KEYS as readonly string[]).filter((key) => projectKeySet.has(key)); + // FNXC:SettingsScopeParity 2026-06-26-17:35: + // mcpServers is intentionally dual-scoped (FN-7077, "inject configured MCP servers across + // agent surfaces"): a global default applies to every project while a project override + // tailors the MCP server set per project. Keep it on the intentional shared-keys allow-list + // in GLOBAL_SETTINGS_KEYS order so this parity guard does not flag the deliberate overlap. expect(overlap).toEqual([ "testMode", "mergeRequestContractShadowEnabled", "taskTokenBudget", "githubTrackingDefaultRepo", + "mcpServers", "worktrunk", "owningNodeHandoffPolicy", ]);