Skip to main content

Executor tiers (T0–T4)

Every issue gets a tier during planning. The tier picks the executor + model variant. Cheapest model that can actually do the job.

TierExecutorTypical workEst. cost
T0Gemini flashTypo, copy tweak, hide a columncents
T1Codex mini / Claude sonnet mediumSimple CRUD, <150 LoClow
T2Claude sonnet highMulti-file, moderate complexitymoderate
T3Claude opusArchitecture, migration, cross-cuttinghigh
T4Claude opus + brainstorm phaseResearch, RFC, ambiguous spechighest

Routing rules

vibe-plan estimates tier from:

  • Scope: LoC estimate, # of files, # of repos
  • Novelty: exists-in-codebase pattern vs. new architecture
  • Ambiguity: is the spec crisp? If not → T4 with brainstorm

Overrides in .vibe-flow.yaml:

tier_overrides:
"ISSUE-42": T3
"ISSUE-17": T0

Fallback chain

If an executor fails (rate-limit, timeout, unrecoverable error), vibe-ship falls back down the chain:

fallback_chain:
- opus-4.6
- sonnet-4.6-high
- sonnet-4.6-medium

Never falls back below the issue’s original tier for review — max(tier, T2) is used as reviewer model regardless.

Cost budget

cost_budget_usd: 50
max_opus_per_wave: 2

Before starting a wave, vibe-flow sums estimated cost. If it exceeds budget, it asks you to confirm, suggest downgrades, or abort.