Failure modes

Anti-patterns

These are the repeatable ways AI work quietly goes off the rails: fuzzy specs, missing receipts, runaway loops, and systems that forget what they were doing.

Last updated:

Abraham Wald's survivorship bias diagram — armor where the bullet holes aren't
Abraham Wald, 1943 — armor goes where the holes aren't. The returning bombers showed damage in the places that don't matter.
Use this page when

Review gets slippery, the same failure keeps returning under new names, or an agent starts acting faster than the team can audit it.

Rule of thumb: if two of these signals show up in the same sprint, stop treating them as isolated bugs. You are looking at a workflow problem.
Start with the first visible signal
Specs and evidence

Work that looks finished before it becomes legible

These failures usually surface as ambiguity, hand-waving, or status updates that collapse the moment someone asks for proof.

Vibes-as-spec

Smell "It should feel more… you know" Damage Unreviewable specs, moving goalposts Replace with Written constraints with pass/fail criteria Guardrail No spec, no build

No receipts, no audit

Smell "Just trust me, it works" Damage Invisible failures, zero accountability Replace with Artifact-backed provenance (links, diffs, screenshots) Guardrail Every claim gets a receipt

Silent failure

Smell "Task completed" with no evidence Damage Downstream decisions built on bad data Replace with Explicit success/failure signals with artifacts Guardrail No green light without a receipt
Control and state

Systems that keep moving after human judgment should have stepped in

These are the failures that burn budget, widen blast radius, or force the team to rediscover the same conclusion every time the page reloads.

Context-dump dependency

Smell 10k-token system prompts that grow weekly Damage Brittle sessions, wasted tokens, drift Replace with Structured state objects, scoped context Guardrail If the context doesn't fit in a card, refactor it

Infinite loop bias

Smell Revision 14 of the same deliverable Damage Diminishing returns, burnt budget, no ship date Replace with Timeboxes and stop rules (see DR) Guardrail Set the stop rule before you start

Unbounded autonomy

Smell Agent making production changes unasked Damage Blast radius without rollback Replace with Confirmation gates on destructive actions Guardrail No risky change without explicit sign-off

Tool spaghetti

Smell 40 tools wired together, no tests Damage Silent cascading failures Replace with Typed contracts, rollback paths, integration tests Guardrail Every tool gets a contract and a kill switch

Tabula rasa

Smell Dashboard filters reset on every page load Damage Context overflow death spiral — re-fetch raw data, fill the window, crash, start over Replace with Persist conclusions: localStorage, Redis, memory files, cached state Guardrail If the agent can't remember what it was doing 5 minutes ago, fix the architecture
Environment and power

Interfaces that make the wrong thing easy

These traps come from environment design, permission design, or defaults that quietly push people into avoidable mistakes.

Identical chrome

Smell Every terminal, editor, and channel looks the same Damage Wrong-context commands, lost provenance, "which machine was that?" Replace with Ambient context anchoring — color, emoji, prompt structure Guardrail If a paste doesn't self-identify its origin, the environment is misconfigured

Paternalistic gating

Smell Restricting what consenting users can access because you've decided they can't handle it Damage Frustrated experienced users, undermined trust, paternalism dressed as UX Replace with Subsidiarity-tested defaults — lightest sufficient intervention, no ceilings on competent users Guardrail If you're restricting access “for the user's own good,” check whether the restriction is actually for yours

Common questions

What is the difference between an anti-pattern and a one-off bug?

An anti-pattern is a repeatable behavior that produces predictable failures across projects, not a single implementation mistake.

How should teams use this page during delivery?

Use it as a preflight checklist before risky changes and as a postmortem index when failure signals appear.

Where do the mitigation steps come from?

Every anti-pattern mitigation maps back to patterns and workshop receipts that show the replacement behavior in practice.

Keep reading

Sycophancy spirals. Generation addiction. Phantom capability. New traps need new moves.