fix: allow variant override even with agent model config (#3163)

model-selection.ts now separates model selection from variant/reasoning
tier, so agent model overrides don't lock the variant.

34 tests pass, 5009 total, tsc clean.

Closes #3163
This commit is contained in:
YeonGyu-Kim
2026-04-07 15:24:19 +09:00
parent be562905d6
commit ee8410ce03
3 changed files with 103 additions and 1 deletions
@@ -56,6 +56,10 @@ export function resolveModelForDelegateTask(input: {
}): { model: string; variant?: string; fallbackEntry?: FallbackEntry; matchedFallback?: boolean } | { skipped: true } | undefined {
const userModel = normalizeModel(input.userModel)
if (userModel) {
const parsed = parseUserFallbackModel(userModel)
if (parsed?.variant) {
return { model: parsed.baseModel, variant: parsed.variant }
}
return { model: userModel }
}
@@ -75,6 +79,10 @@ export function resolveModelForDelegateTask(input: {
log("[resolveModelForDelegateTask] using user-configured category model (bypass validation)", {
categoryDefaultModel: categoryDefault,
})
const parsed = parseUserFallbackModel(categoryDefault)
if (parsed?.variant) {
return { model: parsed.baseModel, variant: parsed.variant }
}
return { model: categoryDefault }
}