AI Models — tiers, categories, and allocation profiles
Source path: knowledge-base/knowledge/conventions/ai-models/overview.md
# AI Models — tiers, categories, and allocation profiles > The single reference for how the engine picks a model for each kind of work. > Source of truth: [`src/lib/core/ai-profiles.ts`](../../../../src/lib/core/ai-profiles.ts) > (systems, tiers, categories, profiles) and [`src/lib/core/model-resolver.ts`](../../../../src/lib/core/model-resolver.ts) > (`modelFor(category)` for generation, `decisionModelFor(category)` for decisions). This doc mirrors that > data — if you change the code, update the tables here. ## Two systems first A call is either a **decision** (System 1 — a typed choice, score, or yes/no probability through `callDecide`) or a **generation** (System 2 — text and artifacts through `callGenerate*`). Decide that before anything below: tiers and profiles allocate capability to System 2; System 1 rides one decision model. [The two systems](00-two-systems.md) owns the rule and the migration ledger. ## Orthogonality is the routing principle Categories name **what kind of work** a call performs; profiles allocate **how much capability** that work receives. Keep those questions separate. This preserves useful model variety, puts capability where it compounds, and gives the system room to develop without turning a generic default into an unexamined bucket. A call that fits no category is a signal to refine the model, not to hide the distinction.Open on GitHub
Raw Markdown source