Every few months a better base model lands and a wave of "this kills your product" takes follows. They're usually wrong, and the reason is the harness: the scaffolding of tools, memory, evals, retries, and recovery that turns a raw model into something that reliably does a job.

That scaffolding is where the accumulated product knowledge lives, and it's far stickier than any single model choice. Swapping the model underneath a good harness is a config change; rebuilding the harness is a company.

Two pieces of it I keep coming back to: treating tool calls as I/O and spending the context budget deliberately.