From d25a7d6fb78a04df938f82d49516c7ed550e4b79 Mon Sep 17 00:00:00 2001 From: Jeremy Date: Tue, 7 Apr 2026 10:09:58 -0500 Subject: [PATCH] fix(gsd): suppress model change notification in auto-mode unless verbose The Model [phase] [tier] notification fired on every unit dispatch during auto-mode, cluttering the notification widget. The dashboard header already displays the active model, making this redundant. Gate behind verbose flag consistent with all other model routing notifications in the same function. --- src/resources/extensions/gsd/auto-model-selection.ts | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/src/resources/extensions/gsd/auto-model-selection.ts b/src/resources/extensions/gsd/auto-model-selection.ts index ad26edca8..e1ef81e3a 100644 --- a/src/resources/extensions/gsd/auto-model-selection.ts +++ b/src/resources/extensions/gsd/auto-model-selection.ts @@ -246,11 +246,13 @@ export async function selectAndApplyModel( const ok = await pi.setModel(model, { persist: false }); if (ok) { appliedModel = model; - const fallbackNote = modelId === effectiveModelConfig.primary - ? "" - : ` (fallback from ${effectiveModelConfig.primary})`; - const phase = unitPhaseLabel(unitType); - ctx.ui.notify(`Model [${phase}]${routingTierLabel}: ${model.provider}/${model.id}${fallbackNote}`, "info"); + if (verbose) { + const fallbackNote = modelId === effectiveModelConfig.primary + ? "" + : ` (fallback from ${effectiveModelConfig.primary})`; + const phase = unitPhaseLabel(unitType); + ctx.ui.notify(`Model [${phase}]${routingTierLabel}: ${model.provider}/${model.id}${fallbackNote}`, "info"); + } break; } else { const nextModel = modelsToTry[modelsToTry.indexOf(modelId) + 1];