Why do my prompt rules to fix AI failures never stick? Because you’re probably fixing the wrong class of failure. “The model messed up” is a label — it categorizes but prescribes nothing. What you want is a taxonomy that routes each failure to a different remedy.

The six classes

Reasoning · execution · tool · context · cascade · goal-misspecification. Each maps to a distinct recovery path. Classify from observability data, not output inspection.

The most expensive mistake

Treating a tool or context failure as a reasoning failure and adding a prompt rule. The rule doesn’t stick; you add another; three rules later, no improvement — because the agent understood the task fine. Something else failed.

The diagnostic that saves the most time: when a prompt rule “doesn’t stick,” that’s the signal the problem was never reasoning. Stop adding rules. Re-classify. Structured classification cuts misdiagnosis rates from over 40% to under 15%, enabling fixes that match the actual root cause.

The seventh class worth adding: plan infidelity

The agent produces a plan, then deviates from it during execution. Not a hallucination (it isn’t confusing facts), not a spec failure (the plan was clear) — a compliance failure, and invisible without a plan-vs-execution diff. Add that diff as a post-execution step and flag deviations.

Installable move: the next time an agent fails, classify before you remediate. If you can’t classify it, that’s your observability gap talking — you can’t route what you can’t see. The same observability surfaces gate erosion before it ships.

The full 6-bucket + the observability layer it runs on: curiochat.ai/software-engineer