When we started building Investigations, the word "harness" wasn't really a thing. But over the course of the build, it's become clear that that's exactly what it is.
To draw a parallel, Claude Code isn't a model. It's a loop, a set of tools, guardrails, and a surface where you can watch and interact.
The LLM provides the raw intelligence, but it's everything surrounding it that turns that intelligence into something genuinely useful for builders.
Where Claude Code is a harness for coding, Investigations is the same idea, applied to production incidents.
It encodes a similar loop, but hyper optimised for figuring out what's going on and helping you fix it.
Its tools connect it to changes, live telemetry, and historical incidents. Its guardrails force it to distinguish between facts, assumptions, and guesses, while keeping hallucinations out of the output. And its surfaces span our mobile app, web dashboard, Slack, and Claude Code itself.
But production incidents come with a particularly unforgiving set of constraints.
It has to be fast. It has to be right. And it has to be cost effective.
You can't just give a powerful model access to a handful of tools and hope for the best. You have to engineer the loop around it: what context it gathers, which tools it reaches for, how it reasons, when it stops, and how it communicates what it knows.
It's going to be interesting to see how the current wave of AI native products shakes out.
My bet is that the durable ones will be those that invested in the harness: the loops, tools, guardrails, and interfaces that turn raw LLM output into something useful. If all you've built is a wrapper around an LLM, I think you're going to have a much harder time.