What happened?
I noticed that all our AI/LLM features (like the difficulty classifier fallback in issues-sweep.ts) are failing in production.
Looking at src/lib/llm/router.ts, the providerOverride variable starts as null and it's only ever updated in our unit tests. Because we don't have a default production provider (like Groq or Gemini) initialized in the router, pickProvider() always returns null when running live.
This means any call to llmCall will immediately fail with the "no LLM provider configured" error, completely disabling our AI features.
Steps to Reproduce
- Run the
issues-sweep background job on a repo that has issues without difficulty labels.
- The sweep will trigger the
llmFallback to classify the issue.
- Check the logs—the LLM call fails with
llm_unavailable because no provider was loaded.
Expected Behavior
We should set up a default LLM provider in router.ts so the system has a production fallback when no test override is set.
Where does this occur?
Contributor Dashboard
Environment
No response
Screenshots / Logs
No response
What happened?
I noticed that all our AI/LLM features (like the difficulty classifier fallback in
issues-sweep.ts) are failing in production.Looking at
src/lib/llm/router.ts, theproviderOverridevariable starts asnulland it's only ever updated in our unit tests. Because we don't have a default production provider (like Groq or Gemini) initialized in the router,pickProvider()always returnsnullwhen running live.This means any call to
llmCallwill immediately fail with the "no LLM provider configured" error, completely disabling our AI features.Steps to Reproduce
issues-sweepbackground job on a repo that has issues without difficulty labels.llmFallbackto classify the issue.llm_unavailablebecause no provider was loaded.Expected Behavior
We should set up a default LLM provider in
router.tsso the system has a production fallback when no test override is set.Where does this occur?
Contributor Dashboard
Environment
No response
Screenshots / Logs
No response