Anti-patterns
- Find the symptom you see, then follow the link to the fix
- Principles list theirs under “Signal of Violation”; patterns and stack pages under “Anti-patterns”
- Each linked section has the full list; this index keeps the most common
Correction Loops
Section titled “Correction Loops”| Symptom | Anti-pattern | Fix |
|---|---|---|
| Same correction, again and again | Steering by chat correction | Correction Diagnosis |
| Twenty turns of “no, not like that” | Prescribing before stating constraints | Problem Before Prescription |
| Solved the wrong problem | No problem statement or constraints; verifying first, framing never | Problem Before Prescription, Correction Diagnosis, Cause Chain |
| Wandered mid-task | No plan review or milestone | Spec, Then Build, Cause Chain |
| No check can say the work is done | “Make it work” as the only criterion | Spec, Then Build |
| Prompt grows while misses recur | Tuning the prompt over an inconsistent codebase; adding context to fix a context problem | Consistency as Leverage, Correction Diagnosis, Memory & Context |
| The same miss on the second attempt | Re-rolling a systematic miss | Fail Fast, Recover Smart |
| Refinement never ends | No stopping criteria | Iterative Refinement |
| Each pass reverses the last one | Passes that undo each other’s work | Iterative Refinement |
| Wrong format or style | No exemplar to mirror | Few-Shot Examples, Structured Output, Cause Chain |
| Shallow answers on hard steps | Tier too small for the step | Chain of Thought, Step-Level Routing, Cause Chain |
| Model over-fits to specifics | Examples that are too similar | Few-Shot Examples |
| Diminishing returns; context waste | Too many examples | Few-Shot Examples |
Context and Memory
Section titled “Context and Memory”| Symptom | Anti-pattern | Fix |
|---|---|---|
| Context fills; signal gets buried | Dumping whole files or logs “just in case” | Memory & Context |
| Ignored a repo convention | Convention not written down, or inconsistent | Consistency as Leverage, Cause Chain |
| Output got worse after material was added | Irrelevant or conflicting context | Memory & Context, Cause Chain |
| Long run drifts or loses the thread | Automatic summary as the only memory | Context Handoff, Progress Breadcrumbs |
| Confident answers about your own data that are wrong | Relying on what the model memorized | RAG |
| A constraint is lost across compaction or handoff, and the next model or session breaks it | Treating compaction as free; a handoff summary that drops a constraint | Memory & Context, Context Handoff, Step-Level Routing |
| Output quality falls as the session ages | Never resetting a drifting session | Correction Diagnosis |
| Same fix made in two sessions | Correction never captured | Discovery Propagation, Cause Chain |
| Model uses content that does not apply | Retrieving too much or irrelevant content | RAG |
| Agent cites code that has moved | Stale code index | Repository Context |
| Wrong tool picked; context fills | Too many tools loaded at once | Tool Integration |
Review and Verification
Section titled “Review and Verification”| Symptom | Anti-pattern | Fix |
|---|---|---|
| Review finds nothing the author missed | Same agent and context generates and reviews | Adversarial Review |
| Critique praises or lists generic tweaks | “Is this good?” as the critique prompt | Self-Critique |
| A “tests pass” claim that cannot be checked, or that hides a failing exit code | “Tests pass” with no command or output; trusting subagent summaries over artifacts | Reviewable Output, Subagent Fanout, Agent Architecture |
| Diffs too large to review | Refactor mixed with behavior change; task too large for one brief | Reviewable Output, Cause Chain |
| Green checks, broken behavior | The loop edits the test until it passes | Verification Loops |
| Plausible code that does not run | No runnable check | Verification Loops, Cause Chain |
| Valid JSON with wrong values | Treating schema-valid as correct | Structured Output |
| The scaffold keeps emitting the old shape | Scaffold drifts from the target schema | Mechanical Scaffolding |
| The two copies disagree over time | Validation duplicated in prompt and code | Mechanical Scaffolding |
| A check nobody has seen fail | Gates that always pass | Pipeline Orchestration |
| Agreement accepted without reasons | Using consensus to avoid thinking | Multi-Model Consensus |
| Conclusions that do not follow ship | Not reading the reasoning | Chain of Thought |
| Bad data flows downstream | Trusting tool output without validation | Tool Integration |
Delegation and Orchestration
Section titled “Delegation and Orchestration”| Symptom | Anti-pattern | Fix |
|---|---|---|
| Architecture corrected in review | Delegating the architecture decision | Delegation Fit |
| Fixing output takes longer than writing it | Wrong work delegated | Delegation Fit, Cause Chain |
| The diff grows past the task | A brief with no non-goals | Delegation Fit |
| Edits collide | Parallel agents sharing a branch | Subagent Fanout, Agent Architecture |
| Coordination context runs out | Orchestrator doing the work itself | Agent Architecture |
| The prompt grows with every new task | One mega-agent instead of decomposition | Agent Architecture |
| A late failure restarts the whole pipeline | No resumability | Pipeline Orchestration |
| Agents spawned for work one thread finishes sooner | Fanout by habit | Subagent Fanout |
Long Runs
Section titled “Long Runs”| Symptom | Anti-pattern | Fix |
|---|---|---|
| The run never knows it is done | No stop condition | Unattended Runs |
| One request burns tokens and returns nothing | Uncapped retries | Unattended Runs, Fail Fast, Recover Smart |
| The human babysits an unattended run | Checking in every ten minutes | Unattended Runs |
| Nobody can tell where the run stands | Status only in chat scrollback | Progress Breadcrumbs |
| The next session redoes or breaks it | Half-implemented feature with no note | Context Handoff |
| Progress file says done; behavior is not | Agent rewrites acceptance tests | Context Handoff |
| The first outage is when a fallback gets written | Failure handling added after launch | Fail Fast, Recover Smart |
Human Checkpoints
Section titled “Human Checkpoints”| Symptom | Anti-pattern | Fix |
|---|---|---|
| Sign-off depends on who ran the agent | Undefined human boundary | Human in the Loop |
| Near-100% approval in seconds | Rubber-stamping | Human in the Loop, Checkpoint Gates |
| Agent took an irreversible action unasked | Approval requested by prompt text only | Checkpoint Gates |
| Reviewer rebuilds context to decide | A card with no recommendation | Checkpoint Gates |
| Work idles in the approval queue | Blocking the whole run on one decision | Checkpoint Gates, Human in the Loop |
| External effects with no recorded approval | Outward-facing actions with no approval step | Tool Integration |
Models and Routing
Section titled “Models and Routing”| Symptom | Anti-pattern | Fix |
|---|---|---|
| Cost explodes on simple tasks | Biggest model for everything | Task Routing, Model Selection |
| Quality collapses on hard tasks | Cheapest model for everything | Task Routing |
| Short, hard steps get a weak model | Routing on input length | Task Routing, Step-Level Routing |
| Cold caches on every call | Switching models every step | Step-Level Routing |
| An outage stops the work | No fallback model | Task Routing, Model Selection |
| A regression nobody logged | Floating model alias | Model Selection, Reproducibility |
Testing and Evaluation
Section titled “Testing and Evaluation”| Symptom | Anti-pattern | Fix |
|---|---|---|
| A prompt change broke something that worked | No baseline | Prompt Regression Testing, Evaluation & Benchmarking |
| Tests fail on rephrasing alone | Exact string matching on free prose | Prompt Regression Testing, Reproducibility |
| Flaky tests get retried or deleted | Single runs on nondeterministic output | Prompt Regression Testing, Reproducibility |
| A bug “fixed” because a rerun passed | Debugging by regenerating | Reproducibility |
| The metric rises; the work does not improve | Trusting a score without reading transcripts | Evaluation & Benchmarking |
| Real use breaks what tests passed | Testing on synthetic examples only | Dogfooding |
| Generation fails silently | Not testing retrieval | RAG |
Governance and Currency
Section titled “Governance and Currency”| Symptom | Anti-pattern | Fix |
|---|---|---|
| The same convention argued each review | Settled questions reopened | Authority Cascade |
| Work stalls when they rotate off | Conventions held in one person’s head | Authority Cascade |
| Skills tuned for a retired model still load | Drift | Deliberate Currency |
| Tooling reopened on every release | Churn | Deliberate Currency |
| Nobody knows why a clause is there | Prompt archaeology | Skills & Prompts, Memory & Context |
| No sweep has deleted a skill | A skill library that only grows | Skills & Prompts |
| Shared instructions change unnoticed | Silent mutations without review | Discovery Propagation |
| Skills and patterns lost in the move | Switching harnesses without migrating skills | Harness Selection |
Cost and Attention
Section titled “Cost and Attention”| Symptom | Anti-pattern | Fix |
|---|---|---|
| Bill falls; rework and steering rise | Optimizing raw token spend | TTV, Cost Management |
| Total cost per outcome rises | Optimizing per-call price | Step-Level Routing |
| Nobody can state the cost of a win | Tokens logged with no outcome ID | Observability & Logging, TTV |
| Spend surprises with no breakdown | Ignoring cost until the bill arrives | Cost Management |
| Limits stop work that mattered | Hard limits on critical paths | Cost Management |
| Failures visible in logs, unnoticed | Traces nobody reads | Observability & Logging |
