The gap between "the demo worked" and "it runs unattended at 2am" is not a model problem. In our own production fleet, every single scheduled-job failure we have recorded came down to dependency drift, delivery configuration, an upstream outage, or a missing guardrail.None of them were the model being wrong.
So this diagnostic ignores model quality entirely. It scores the five classes that actually stop agents from running unsupervised, and tells you which one to fix first.
If you have not built the agent yet, you want thereadiness checklist instead — that one asks whether a workflow is worth automating at all. This one assumes you already have something that works when you watch it.
Why these five classes and not model quality
We survey our own fleet and record what breaks. At last count, of 47 scheduled jobs, 34 were healthy, 6 were in error and 7 had not yet run. The six failures sorted into exactly four buckets: a provider revoking free-tier access to a model mid-flight, jobs that completed with no delivery target resolved, upstream 500s, and one profile left without a model selected after a config change.
Not one was the model producing a bad answer. That is the argument for spending your next week on guardrails rather than prompts — and it is why this diagnostic does not ask a single question about model choice.
The two fixes that prevent the expensive failures
If you only do two things: put a hard spend ceiling in code, and make delivery part of your success condition.
The ceiling is what turns a runaway loop from an invoice into a log line. It has to stop execution, not page a human — by the time someone reads the alert the money is spent. Set it per task and per day, because a thousand cheap runs can do damage a single expensive run cannot.
The delivery check is the one nobody thinks of. An agent that does its work perfectly and drops the output on the floor looks healthy in every metric that matters to the model, and is completely useless to the business. Alert on the gap between completed anddelivered.
Why independent verification is structural
The most common architecture mistake is one capable agent that researches, decides, builds, and checks its own work. It will pass its own output, because it already believes the output is correct. No amount of prompt engineering fixes a conflict of interest.
The fix is boring and effective: a separate step that reads the acceptance criteria itself, without being told what the result was supposed to be, and which can block the result from shipping. Advisory verification gets overridden the first time someone is in a hurry.
What this diagnostic will not tell you
It will not tell you whether the agent is worth running — that is a scoping question, and thereadiness checklist covers it. It will not tell you whether your model choice is right, because in our experience that is rarely the binding constraint. And it cannot see your actual system, so a high score means your architecture is sound on paper, not that it has been proven under load.