Problem
The gap analysis worker tries to run a LangChain tool-calling agent as its primary path, then falls back to a sequential pipeline when it fails. In prod, the agent always fails immediately:
```
WARN: llm [object Object] must define bindTools method.
INFO: LangChain agent failed, using fallback pipeline
```
Root cause: the `analysis` LLM purpose is configured as `ollama` provider (`gemma3:12b` via Ollama Cloud). The Ollama LangChain integration does not implement `bindTools()` — tool-calling is not supported on this provider path.
Impact
- Every gap analysis runs the fallback pipeline (not necessarily wrong, but the error log is misleading and the agent path is dead code in prod)
- If the fallback pipeline ever diverges from the agent's intended behavior, it will be invisible
Fix options
- Make fallback the official primary path — remove the try/catch agent wrapper, run the pipeline directly, delete dead agent code
- Switch analysis LLM to a provider that supports tool calling — e.g. Groq (`llama-3.3-70b-versatile`) supports `bindTools()`; set `LLM_ANALYSIS_PROVIDER=groq`
- Keep both paths but suppress the warning — if the fallback is intentional as a degraded mode
Recommended: option 2 (Groq for analysis) or option 1 (clean up dead code).
Problem
The gap analysis worker tries to run a LangChain tool-calling agent as its primary path, then falls back to a sequential pipeline when it fails. In prod, the agent always fails immediately:
```
WARN: llm [object Object] must define bindTools method.
INFO: LangChain agent failed, using fallback pipeline
```
Root cause: the `analysis` LLM purpose is configured as `ollama` provider (`gemma3:12b` via Ollama Cloud). The Ollama LangChain integration does not implement `bindTools()` — tool-calling is not supported on this provider path.
Impact
Fix options
Recommended: option 2 (Groq for analysis) or option 1 (clean up dead code).