diff --git a/orchestrator/src/client/pages/SettingsPage.test.tsx b/orchestrator/src/client/pages/SettingsPage.test.tsx index ba334f3..93bdd86 100644 --- a/orchestrator/src/client/pages/SettingsPage.test.tsx +++ b/orchestrator/src/client/pages/SettingsPage.test.tsx @@ -23,14 +23,14 @@ vi.mock("sonner", () => ({ })) const baseSettings: AppSettings = { - model: "openai/gpt-4o-mini", - defaultModel: "openai/gpt-4o-mini", + model: "google/gemini-3-flash-preview", + defaultModel: "google/gemini-3-flash-preview", overrideModel: null, - modelScorer: "openai/gpt-4o-mini", + modelScorer: "google/gemini-3-flash-preview", overrideModelScorer: null, - modelTailoring: "openai/gpt-4o-mini", + modelTailoring: "google/gemini-3-flash-preview", overrideModelTailoring: null, - modelProjectSelection: "openai/gpt-4o-mini", + modelProjectSelection: "google/gemini-3-flash-preview", overrideModelProjectSelection: null, pipelineWebhookUrl: "", defaultPipelineWebhookUrl: "", @@ -160,7 +160,7 @@ describe("SettingsPage", () => { const modelField = screen.getByText("Override model").parentElement ?? screen.getByRole("main") const modelInput = within(modelField).getByRole("textbox") - + // Change to > 200 chars fireEvent.change(modelInput, { target: { value: "a".repeat(201) } }) diff --git a/orchestrator/src/client/pages/settings/components/ModelSettingsSection.tsx b/orchestrator/src/client/pages/settings/components/ModelSettingsSection.tsx index 7632ee2..29a9297 100644 --- a/orchestrator/src/client/pages/settings/components/ModelSettingsSection.tsx +++ b/orchestrator/src/client/pages/settings/components/ModelSettingsSection.tsx @@ -31,7 +31,7 @@ export const ModelSettingsSection: React.FC = ({ ({ diff --git a/orchestrator/src/server/services/projectSelection.ts b/orchestrator/src/server/services/projectSelection.ts index d78d56b..36c63fc 100644 --- a/orchestrator/src/server/services/projectSelection.ts +++ b/orchestrator/src/server/services/projectSelection.ts @@ -43,7 +43,7 @@ export async function pickProjectIdsForJob(args: { getSetting('modelProjectSelection'), ]); // Precedence: Project-specific override > Global override > Env var > Default - const model = overrideModelProjectSelection || overrideModel || process.env.MODEL || 'openai/gpt-4o-mini'; + const model = overrideModelProjectSelection || overrideModel || process.env.MODEL || 'google/gemini-3-flash-preview'; const prompt = buildProjectSelectionPrompt({ jobDescription: args.jobDescription, diff --git a/orchestrator/src/server/services/scorer.ts b/orchestrator/src/server/services/scorer.ts index e6a09e8..7c64bdb 100644 --- a/orchestrator/src/server/services/scorer.ts +++ b/orchestrator/src/server/services/scorer.ts @@ -49,7 +49,7 @@ export async function scoreJobSuitability( getSetting('modelScorer'), ]); // Precedence: Scorer-specific override > Global override > Env var > Default - const model = overrideModelScorer || overrideModel || process.env.MODEL || 'openai/gpt-4o-mini'; + const model = overrideModelScorer || overrideModel || process.env.MODEL || 'google/gemini-3-flash-preview'; const prompt = buildScoringPrompt(job, profile); diff --git a/orchestrator/src/server/services/settings.ts b/orchestrator/src/server/services/settings.ts index 76e47b1..907f6ce 100644 --- a/orchestrator/src/server/services/settings.ts +++ b/orchestrator/src/server/services/settings.ts @@ -19,7 +19,7 @@ export async function getEffectiveSettings(): Promise { const envSettings = await getEnvSettingsData(overrides); - const defaultModel = process.env.MODEL || 'openai/gpt-4o-mini'; + const defaultModel = process.env.MODEL || 'google/gemini-3-flash-preview'; const overrideModel = overrides.model ?? null; const model = overrideModel || defaultModel; diff --git a/orchestrator/src/server/services/summary.ts b/orchestrator/src/server/services/summary.ts index d339a78..9a9e27b 100644 --- a/orchestrator/src/server/services/summary.ts +++ b/orchestrator/src/server/services/summary.ts @@ -74,7 +74,7 @@ export async function generateTailoring( getSetting('modelTailoring'), ]); // Precedence: Tailoring-specific override > Global override > Env var > Default - const model = overrideModelTailoring || overrideModel || process.env.MODEL || 'openai/gpt-4o-mini'; + const model = overrideModelTailoring || overrideModel || process.env.MODEL || 'google/gemini-3-flash-preview'; const prompt = buildTailoringPrompt(profile, jobDescription); const result = await callOpenRouter({ diff --git a/resume-generator/generate_summary.py b/resume-generator/generate_summary.py index a6c7ea0..0c12065 100644 --- a/resume-generator/generate_summary.py +++ b/resume-generator/generate_summary.py @@ -110,7 +110,7 @@ def generate_resume_summary( load_dotenv() api_key = os.getenv("OPENROUTER_API_KEY") - model = os.getenv("MODEL", "openai/gpt-4o-mini") + model = os.getenv("MODEL", "google/gemini-3-flash-preview") if not api_key: raise RuntimeError("Missing OPENROUTER_API_KEY in .env")