The difference between an agent demo and an agent system is not model quality. It is whether anyone can tell, on any given Tuesday, that it still works.
Vibes do not survive contact with production
Agent behaviour drifts for reasons unrelated to your code: a model version changes, an upstream API alters its response shape, your own data distribution shifts. Without a harness, the first person to notice is a customer.
Treating an agent as software means the same expectations you would place on any other deployment: a test suite, a regression gate, tracing, and a cost budget.
Golden sets, built from real cases
We assemble fifty to two hundred real inputs with agreed-correct outcomes, drawn from your actual history rather than invented examples. Each case carries the reason it is in the set, so a future failure is diagnosable rather than merely red.
The set is versioned alongside the code and grows every time production surprises us.
Gates, traces, and budgets
Changes run against the golden set in CI and cannot ship if accuracy on the critical subset regresses. Every production run is traced end to end, so a bad outcome can be replayed step by step instead of guessed at.
Each workflow carries a per-run cost budget. An agent that quietly starts costing four times as much is a defect, even when its answers are still correct.
Why this is in every engagement
Evaluation is not a phase we sell separately, because a system without it cannot be honestly handed over. The Measure phase of every engagement exists to leave your team with the harness, the dashboard, and the ability to change the system without our involvement.
The takeaway
If you cannot prove the agent still works this morning, you do not have a production system, you have a demo with users attached.