diff --git a/extensions/qa-matrix/src/runners/contract/model-selection.test.ts b/extensions/qa-matrix/src/runners/contract/model-selection.test.ts index 5a49128416b..ede92b96d9c 100644 --- a/extensions/qa-matrix/src/runners/contract/model-selection.test.ts +++ b/extensions/qa-matrix/src/runners/contract/model-selection.test.ts @@ -45,6 +45,7 @@ describe("matrix qa model selection", () => { primaryModel: "custom-primary", alternateModel: "custom-alt", }); + expect(loadQaLabRuntimeModule).not.toHaveBeenCalled(); expect(defaultQaRuntimeModelForMode).not.toHaveBeenCalled(); }); }); diff --git a/extensions/qa-matrix/src/runners/contract/model-selection.ts b/extensions/qa-matrix/src/runners/contract/model-selection.ts index 1f3d4652be8..338378d85f8 100644 --- a/extensions/qa-matrix/src/runners/contract/model-selection.ts +++ b/extensions/qa-matrix/src/runners/contract/model-selection.ts @@ -13,14 +13,21 @@ export function resolveMatrixQaModels(params: { alternateModel?: string; }): ResolvedMatrixQaModels { const providerMode = normalizeQaProviderMode(params.providerMode ?? "live-frontier"); + const primaryModel = params.primaryModel?.trim(); + const alternateModel = params.alternateModel?.trim(); + if (primaryModel && alternateModel) { + return { + providerMode, + primaryModel, + alternateModel, + }; + } + const qaLabRuntime = loadQaLabRuntimeModule(); return { providerMode, - primaryModel: - params.primaryModel?.trim() || - qaLabRuntime.defaultQaRuntimeModelForMode(providerMode), + primaryModel: primaryModel || qaLabRuntime.defaultQaRuntimeModelForMode(providerMode), alternateModel: - params.alternateModel?.trim() || - qaLabRuntime.defaultQaRuntimeModelForMode(providerMode, { alternate: true }), + alternateModel || qaLabRuntime.defaultQaRuntimeModelForMode(providerMode, { alternate: true }), }; }