The tier’s end-to-end budget blew (primary + optional fallback both timed out). Message carries tool, tier, model, elapsed, budget, and whether a fallback was attempted.
If residency.evicted: true, restart Ollama or drop OLLAMA_MAX_LOADED_MODELS. If the input is genuinely huge, switch to a lighter tier or chunk the call. Retryable.
A caller-declared source_paths entry doesn’t exist, can’t be read, or resolves outside the allowed root.
Check the path spelling, existence, and whether it’s under INTERN_CORPUS_ALLOWED_ROOTS (for corpus tools) or source_paths (for research). Not retryable.
SCHEMA_INVALID
Tool arguments failed zod validation, or a corpus file / manifest on disk is an unknown schema version.
Read the message — it names the failing field or file. For on-disk schema mismatches, rebuild the corpus (ollama_corpus_index). Not retryable.
CONFIG_INVALID
Startup config is malformed — usually a bad OLLAMA_HOST URL or out-of-range port.
Fix the env var. Example: OLLAMA_HOST=http://127.0.0.1:11434. Not retryable.
draft(style="doc") produced marketing sludge (seamless, effortless, leverage, blazing fast, …) on all 3 regeneration attempts.
Rewrite the prompt to demand concrete, falsifiable claims (specific capability + measurable outcome). Consider style="concise" if tone matters less than brevity. Retryable.
CITATION_INVALID
Reserved for briefs / research where a model-cited evidence id fails server-side validation in a way stripping can’t recover. Unknown ids are normally stripped silently — this code fires when the citation shape itself is malformed.
Re-run the call. If it recurs, the evidence bundle is the suspect — inspect the inputs for truncation. Retryable.
COMPILE_FAILED
draft with a known language produced output that failed the compile / parse check.
The draft is returned with the compile error attached — fix-or-reject is the caller’s call. Not retryable by itself; rewrite the prompt if it keeps failing.
EXTRACT_UNPARSEABLE
extract couldn’t coerce the model output into the requested JSON schema after retries.
Simplify the schema (fewer required fields, looser types) or narrow the input. Retryable with different prompting.
Ollama returned fewer vectors than inputs sent — usually a mid-request model swap or transient embed-server glitch.
Retry. If it persists, check OLLAMA_HOST reachability and that the embed model isn’t being swapped under you. Retryable.
EMBED_DIMENSION_MISMATCH
Query vector and corpus vector have different dimensions — the corpus was indexed under a different embed model than the one live now.
Re-index the corpus (ollama_corpus_index) under the active embed model. Also check ollama_corpus_refresh for silent :latest drift. Not retryable without a reindex.
An unexpected error escaped structured handling. The server caught it at the outer boundary so no raw stack leaks.
Check ~/.ollama-intern/log.ndjson for the correlation id — that line has the full detail. File an issue with the envelope + log excerpt. Not retryable.