Summary
LLMs excel at pattern matching but struggle with optionality. Enforce exactly ONE way to solve each problem in your codebase—eliminate all alternatives through ESLint rules, CLAUDE.md constraints, and architectural decisions. This eliminates ‘should I use X or Y?’ decisions, making LLM output deterministic and reducing entropy to near-zero.
The Problem
When multiple valid approaches exist for the same problem (classes vs factory functions, throwing vs returning errors, multiple validation patterns), LLMs face decision paralysis. Pattern matching fails when patterns are inconsistent, leading to unpredictable outputs, mixed architectural styles, and cognitive overhead for both LLMs and human developers.
The Solution
Enforce exactly ONE canonical way to solve each recurring problem. Eliminate all alternative approaches through automated enforcement (ESLint rules, pre-commit hooks) and explicit constraints (CLAUDE.md documentation). When LLMs see the same pattern 100 times with zero alternatives, pattern matching becomes perfect and output becomes deterministic.
Related Concepts
- entropy-in-code-generation
- custom-eslint-rules-determinism
- hierarchical-context-patterns
- few-shot-prompting-project-examples
- semantic-naming-for-retrieval

