Skip to content

Commit 09c6dee

Browse files
joshspicerCopilot
andcommitted
agentHost: drop the graduated bridge gate from docs and protocol tests
Follow-up to the gate graduation, from PR review: - The managed-settings skill guidance still listed the false-by-default experimental gate as a bridge invariant, which would instruct future work to restore the removed gate. Updated in sdk-runtime-policy.md, and in the two further places carrying the same claim (legacy-permission-policy.md and SKILL.md). - The protocol-boundary tests still supplied the deprecated opt-in to their forwarding fixtures, so they did not prove a local connection forwards restrictions without it. Removed, along with the now-unused import. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
1 parent 6898071 commit 09c6dee

4 files changed

Lines changed: 6 additions & 12 deletions

File tree

.github/skills/policy-and-managed-settings/SKILL.md

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -37,9 +37,8 @@ General rules:
3737
- New Copilot enterprise controls should target the shared managed-settings/SDK model.
3838
- The VS Code settings-to-managed-settings bridge is a compatibility path for legacy
3939
settings only. Do not add a new VS Code setting in order to bridge it; define new
40-
runtime-owned controls directly in the managed-settings/SDK contract. A temporary,
41-
false-by-default compatibility gate for the bridge itself is allowed; it is not a
42-
runtime control and must not become a template for new mapped settings.
40+
runtime-owned controls directly in the managed-settings/SDK contract. The bridge itself
41+
is unconditional; do not reintroduce a compatibility gate for it.
4342
- Run `npm run export-policy-data` for every VS Code or extension policy change. Never
4443
edit `build/lib/policies/policyData.jsonc` manually.
4544

.github/skills/policy-and-managed-settings/legacy-permission-policy.md

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -17,9 +17,8 @@ There are two related but distinct bounded migrations:
1717

1818
Neither path is open to newly designed settings or controls. Put new runtime-owned
1919
controls directly in the shared managed-settings schema and SDK contract.
20-
The legacy-setting bridge may have a false-by-default experimental gate for staged
21-
adoption; that gate controls the compatibility mechanism itself and is not a mapped
22-
runtime control.
20+
The legacy-setting bridge is unconditional; its former staged-adoption gate has been
21+
retired now that the bridge is the default enforcement path.
2322

2423
## Legacy permission policy rules
2524

.github/skills/policy-and-managed-settings/sdk-runtime-policy.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -59,7 +59,7 @@ public SDK contract, without introducing or translating a VS Code setting.
5959

6060
Bridge invariants:
6161

62-
- the bridge is guarded by its own false-by-default experimental compatibility setting;
62+
- the bridge is unconditional; it is not guarded by an opt-in setting. `chat.agentHost.copilot.mapLegacySettingsToManagedSettings` is retained only so existing entries do not read as unknown, and its value is ignored;
6363
- add mappings only for legacy settings that already exist; never create a new setting
6464
for this bridge;
6565
- mappings select one VS Code setting and use a callback typed against the host-owned managed

src/vs/platform/agentHost/test/electron-browser/agentHostProtocolClient.test.ts

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,6 @@ import { TestConfigurationService } from '../../../configuration/test/common/tes
3535
import { ITelemetryService, TelemetryConfiguration, TelemetryLevel, TELEMETRY_SETTING_ID } from '../../../telemetry/common/telemetry.js';
3636
import { NullTelemetryService } from '../../../telemetry/common/telemetryUtils.js';
3737
import { AgentHostDisableRepoInfoTelemetryConfigKey, AgentHostTelemetryLevelConfigKey, AgentHostTerminalAutoApproveRulesConfigKey, DISABLE_REPO_INFO_TELEMETRY_SETTING_ID, ELIGIBLE_FOR_AUTO_APPROVAL_SETTING_ID, GLOBAL_AUTO_APPROVE_SETTING_ID, telemetryLevelToAgentHostConfigValue, TERMINAL_AUTO_APPROVE_ENABLED_SETTING_ID, TERMINAL_AUTO_APPROVE_SETTING_ID, TERMINAL_IGNORE_DEFAULT_AUTO_APPROVE_RULES_SETTING_ID, type AgentHostTerminalAutoApproveRules } from '../../common/agentHostSchema.js';
38-
import { AgentHostMapLegacySettingsToManagedSettingsSettingId } from '../../common/agentHostManagedSettings.js';
3938
import { AgentHostConfigurationSyncScope, Extensions as ConfigurationExtensions, IConfigurationRegistry } from '../../../configuration/common/configurationRegistry.js';
4039
import { Registry } from '../../../registry/common/platform.js';
4140

@@ -1267,7 +1266,6 @@ suite('AgentHostProtocolClient', () => {
12671266

12681267
test('forwards and clears legacy managed permissions for the local host', async () => {
12691268
const configurationService = new ManagedPermissionsConfigurationService({
1270-
[AgentHostMapLegacySettingsToManagedSettingsSettingId]: true,
12711269
[TERMINAL_AUTO_APPROVE_ENABLED_SETTING_ID]: false,
12721270
});
12731271
const { client, transport } = createClientForIdentity(
@@ -1307,9 +1305,7 @@ suite('AgentHostProtocolClient', () => {
13071305
});
13081306

13091307
test('forwards and clears the mapped per-tool auto-approval policy for the local host', async () => {
1310-
const configurationService = new ManagedPermissionsConfigurationService({
1311-
[AgentHostMapLegacySettingsToManagedSettingsSettingId]: true,
1312-
});
1308+
const configurationService = new ManagedPermissionsConfigurationService({});
13131309
// Isolate this setting's notification path from the global auto-approve mapping.
13141310
configurationService.clearGlobalAutoApprovePolicy();
13151311
configurationService.setEligibleForAutoApprovalPolicy({ runTask: false });

0 commit comments

Comments
 (0)