Series note: This is Part 3 of the Coverage Benchmark. Part 1 tested Claude in the chat app on your warehouse; Part 2 gave it a real agent. Same 1,000 frozen calls, same five frozen questions. This time I stopped using anyone's product and wrote the code myself.
The setup every engineer tries first
By Part 2 it seemed obvious that we needed to try the API route.
Chat sampled the warehouse; the agent looped but still sampled. You naturally think that the harness is the problem.
Pull the raw transcripts and send them to Claude directly.
Cut out the middleman. No chat UI deciding to write SQL, no agent deciding to spawn sub-agents.
Just the model and the data.
So that's Part 3: the naive API path.
One script, one API call. Pull the transcripts newest-first, stuff as many as fit into the context window, ask the frozen question, get an answer back. It's the first benchmark run where I set the coverage dial by hand instead of Claude setting it for me.
It maxed out at about 10%. And this is the first test in the series that runs into an immovable object, unfortunately Claude isn’t any better than an unstoppable force.





