What problem does this solve?
agent/doctor.py already checks "is Ollama running" and "is the configured model pulled". But it doesn't actually send a test prompt — so a half-broken Ollama install (model corrupted, GPU OOM on first inference, etc.) won't get caught until the loop crashes mid-cycle.
What to do
Add an 11th check, check_llm_inference():
- After the model-pulled check passes, send a minimal prompt to the LLM
- Use a 5-second timeout
- Prompt:
"Reply with the single word 'ok' and nothing else."
- Pass if the response contains "ok" (case-insensitive); fail otherwise with the response in
detail
Proposed solution
Acceptance
python doctor.py shows an 11th line for "LLM inference works"
--json mode includes the new check
- A broken model (e.g. corrupted weights) makes the check fail with a useful error message
Notes
- Use the existing OpenAI client setup (
backend/services/llm_client.py) so you get the same code path the loop uses
- Don't add a new Ollama-specific HTTP call; go through the abstraction
Alternatives you considered
No response
Are you up for contributing this?
What problem does this solve?
agent/doctor.pyalready checks "is Ollama running" and "is the configured model pulled". But it doesn't actually send a test prompt — so a half-broken Ollama install (model corrupted, GPU OOM on first inference, etc.) won't get caught until the loop crashes mid-cycle.What to do
Add an 11th check,
check_llm_inference():"Reply with the single word 'ok' and nothing else."detailProposed solution
Acceptance
python doctor.pyshows an 11th line for "LLM inference works"--jsonmode includes the new checkNotes
backend/services/llm_client.py) so you get the same code path the loop usesAlternatives you considered
No response
Are you up for contributing this?