Model lab

The clean path is local-first: Ollama or llama.cpp behind the existing `/api/chat` and ROOK status, with vector memory optional.

Command deckROOK statusChat deck

Runtime

The server already checks `OLLAMA_SERVER_URL`, `OLLAMA_MODEL`, `LLAMA_SERVER_URL`, and falls back to `tinyllama:latest` if available.

Model choice

Do not train from scratch first. Start with a permissive local instruct model from Hugging Face/Ollama, run it through Ollama or llama.cpp, then tune prompts/profiles around your cleaned corpus.

Memory

OpenAI vector memory is optional via `OPENAI_VECTOR_STORE_ID`. Keep raw logs local and only ingest scrubbed text.

Training later

Fine-tuning comes after Import Lab works: cleaned text, tags, eval prompts, receipts, and a baseline model. Until then, make the local runtime stable and measurable.

Next action

Pick one local model, set `OLLAMA_MODEL`, verify `/api/status`, then wire ROOK to show loaded model, latency, and failure reason.