firehose> #llmops

Harness / Model Fit

A harness is separable from its model (Harness / Model Separation), but it is not indifferent to it. Every harness encodes an implicit contract the model must satisfy, and the contract is almost never written down. The source names three clauses of Claude Code's: the model must have been trained on the harness's tools; its context window must be large enough to hold the harness's system prompt (and leave room to work); and it must emit the exact tool-call protocol the harness parses. A model that misses any clause does not fail cleanly — it "seems to misbehave." His analogy: a motorcycle engine in a truck, or the wrong grade of fuel.

The failure signature is what makes this worth its own page. In the source's runs, a violated contract presented as: state loss the model never reported (context overflow, mistaken for forgetfulness); loss of tool-call visibility, so the harness stopped streaming steps and "just spins forever until it responds"; and — the cleanest instance — a harness tool firing into a void. Asked to research a model, the substituted engine invoked Web Search, received "Did 0 searches in 42ms" twice, narrated its own confusion, fell back to raw fetches, and finally answered from training data. The tool survived the swap; the capability behind the tool did not. This is the sharp edge of Agent-Computer Interface (ACI): tool definitions are written for a model that was trained to use them, and a tool the substituted model cannot actually execute still appears in its toolbox.

The practical consequence is that a substituted model must be evaluated against the harness, not against a benchmark. A model's SWE-bench score says nothing about whether it emits the JSON the harness parses.

Claims


Linked from