From 17471ea280cc0146181b1856d0bea6a0c4976bee Mon Sep 17 00:00:00 2001 From: Jeremy McSpadden Date: Tue, 31 Mar 2026 12:47:38 -0500 Subject: [PATCH] feat(model-routing): enable dynamic routing by default (#3120) * feat(model-routing): enable dynamic routing by default Change defaultRoutingConfig().enabled from false to true so that dynamic model routing (tier-based downgrading for light/standard tasks) is active out of the box. Users can still disable it via dynamic_routing.enabled: false in PREFERENCES.md. This is a behavioral change: sessions that previously used the configured model for all tasks will now automatically downgrade to cheaper models for light and standard complexity tasks. * test(model-routing): verify dynamic routing enabled by default Tests that defaultRoutingConfig returns enabled: true and all routing features are active. --- src/resources/extensions/gsd/model-router.ts | 2 +- .../gsd/tests/dynamic-routing-default.test.ts | 20 +++++++++++++++++++ 2 files changed, 21 insertions(+), 1 deletion(-) create mode 100644 src/resources/extensions/gsd/tests/dynamic-routing-default.test.ts diff --git a/src/resources/extensions/gsd/model-router.ts b/src/resources/extensions/gsd/model-router.ts index ebc110b6f..f97a69561 100644 --- a/src/resources/extensions/gsd/model-router.ts +++ b/src/resources/extensions/gsd/model-router.ts @@ -225,7 +225,7 @@ export function escalateTier(currentTier: ComplexityTier): ComplexityTier | null */ export function defaultRoutingConfig(): DynamicRoutingConfig { return { - enabled: false, + enabled: true, escalate_on_failure: true, budget_pressure: true, cross_provider: true, diff --git a/src/resources/extensions/gsd/tests/dynamic-routing-default.test.ts b/src/resources/extensions/gsd/tests/dynamic-routing-default.test.ts new file mode 100644 index 000000000..f3cd15300 --- /dev/null +++ b/src/resources/extensions/gsd/tests/dynamic-routing-default.test.ts @@ -0,0 +1,20 @@ +/** + * Dynamic routing default — verifies routing is enabled by default. + */ + +import test from "node:test"; +import assert from "node:assert/strict"; +import { defaultRoutingConfig } from "../model-router.js"; + +test("defaultRoutingConfig returns enabled: true", () => { + const config = defaultRoutingConfig(); + assert.equal(config.enabled, true, "dynamic routing should be enabled by default"); +}); + +test("defaultRoutingConfig enables all routing features", () => { + const config = defaultRoutingConfig(); + assert.equal(config.escalate_on_failure, true); + assert.equal(config.budget_pressure, true); + assert.equal(config.cross_provider, true); + assert.equal(config.hooks, true); +});