Harness engineering

A coding harness that runs on local models.

Three requirements, and most harnesses fail at least one of them.

Download for macOS
v0.1.33 · .dmg · Apple Silicon & Intel
Signed & notarized by Apple · opens without a Gatekeeper warning
sha256 698955a0187bc039f4c74f5d05a9f10fbb27376a45788a0a241d1326b73873c7
Download for Windows instead
$curl -fsSL https://lucidtrain.com/install.sh | sh

A coding harness for local LLMs must be a desktop or terminal binary rather than a web app, must accept an arbitrary OpenAI-compatible endpoint rather than routing through a vendor, and must work with no outbound connection at all, which means bundling its assets rather than fetching them. Lucid Train meets all three and runs fully offline against local Ollama models with no API key and no telemetry. Most harnesses fail at least one of the three.

The three requirements

First, the application has to be a desktop or terminal binary; a browser product cannot be offline no matter what its marketing says. Second, it has to accept an arbitrary model endpoint rather than routing through a vendor's infrastructure. Third, it has to work with no outbound connection at all, which in practice means bundled icons, bundled assets and no first-run call home. All three are true of Lucid Train, which is why offline is a supported mode rather than a degraded one.

Setup

Install Ollama, pull a coding-oriented model, and point the harness at the local endpoint. There is no account and no API key. Disconnect the machine afterwards and behaviour is unchanged, which is the only test of an offline claim that means anything.

What a smaller model changes about harness design

This is the part that gets skipped. A local model has less headroom, so the harness has to do more: tighter context so the relevant files actually fit, more computational verification because the model self-corrects less reliably, and smaller task decomposition. Anthropic's design principle applies exactly here, that every harness component encodes an assumption about what the model cannot do alone. On a local model, more of those assumptions are true.

Mixing local and hosted by role

Roles can use different models, so a local model handles everything that touches source while a hosted one handles work that does not. That is a middle position many organisations can approve when an all-or-nothing choice would be rejected, and it is more useful than treating the decision as binary.

The quality tradeoff, stated plainly

Local open models are behind frontier hosted ones. The gap is largest on long multi-step reasoning and smallest on structured extraction, which is why generating an architecture diagram from a repository holds up locally better than open-ended refactoring does. If your constraint permits a hosted model you will get better results; this exists for when it does not.

What offline actually requires

RequirementWhy most tools fail it
Desktop or terminal binaryA browser product cannot run without a server
Arbitrary model endpointMost route through vendor infrastructure
No outbound calls at allFetched icons and assets break on an isolated network
No account or first-run activationA licence check on launch is a network call
Credentials in the OS keychainConfig files leak into backups and repos
No telemetry by defaultOpt-out is not the same as off

Fully local

shell
$ ollama pull qwen3-coder
$ ollama serve
# Point Lucid Train at http://localhost:11434. No API key, no network.
FAQ

Questions

What is the best coding harness for a local LLM?

One that is a native binary, accepts any OpenAI-compatible endpoint, and needs no network for anything including its own assets. Lucid Train meets all three; many popular harnesses fail the second or third.

Which local model should I use?

A coding-oriented model sized to your machine's memory. Larger is better where it fits; a model that swaps is unusable regardless of its benchmark scores.

Can I use a self-hosted inference server instead of Ollama?

Yes, anything OpenAI-compatible including vLLM or a shared internal endpoint. Ollama is the easy path rather than the only one.

Is any telemetry sent?

None unless you opt in. That is the default rather than a setting to find, and credentials live in the OS keychain.

Related