MeridiansMeridians

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