Models are the easy part.
Agents, retrieval, and evaluation harnesses that survive contact with real users. We ship the guardrails and the observability alongside the model, never after it.
What that actually means
Four things we do on every engagement, whether or not they were in the brief.
Retrieval that cites
A retrieval layer is only useful if a human can check it. We build indexes that return provenance with every span, so an answer can be argued with rather than believed.
Evaluation harnesses
The harness comes before the feature. Graded sets, regression suites, and a threshold wired into CI — so a model swap is a pull request with a result, not a leap of faith.
Agents with a blast radius
Tools exposed over MCP, scoped to what the task actually needs, with the destructive ones behind an explicit confirmation. An agent should not be able to do anything you would not let a new hire do unsupervised.
Observability for non-determinism
Traditional monitoring assumes the same input gives the same output. We instrument for the case where it does not: sampled traces, drift alarms, and a replay path for any conversation that went wrong.