Skip to content

Difficulty levels

A task, subtask or bug can carry a difficulty: how much reasoning the work demands, not how much of it there is. Story points and estimates measure size. Difficulty says how hard the work is to get right, so a one-line change to lock ordering can be high while a large, mechanical rename is trivial.

Motir states a work item’s difficulty in the prompt it hands to your agent. Motir does not choose the model for you: use the levels below to decide which model to run each work item on. Epics and stories do not carry a difficulty.

The four levels

  • trivial Mechanical work with an unambiguous spec and no judgement calls. The change is fully described by the work item. For example: A rename, a copy change, a config flip, bumping a version.
  • low Routine work that follows a pattern the codebase already has. Some reading is needed, but the right answer is clear once it is found. For example: A new field through an existing form, an endpoint shaped like its neighbours, a contained bug with a clear reproduction.
  • medium Work with real design choices: several files or services, trade-offs to weigh, or a spec that leaves room for interpretation. For example: A feature across the API and the interface, a refactor with callers to migrate, a bug whose cause is not yet known.
  • high Work where a subtle mistake is costly: concurrency, security, data migrations, authentication, or a design with no precedent to follow. For example: Lock ordering, a permission model change, a schema migration on live data, a new subsystem.

When no difficulty is set, treat the work item as medium. An unset level means nobody has judged it yet, and that is not a reason to send it to the cheapest model.

Suggested models for each level

Each level lists its candidates in order. Take the first one your project is allowed to use. The table shows each model’s price per million tokens (input / output), its score on two coding benchmarks, and what one task cost on SWE-rebench. That benchmark uses fresh tasks a model cannot have trained on, so its cost per task is the closest public figure to what one of your subtasks will cost.

trivial · about $0.05–0.15 per task

ModelPrice per 1M tokensSWE-bench ProSWE-rebenchCost per task
DeepSeek V4 Pro$0.435 / $0.8755.440.2$0.15
GPT-5.6 Luna$0.20 / $1.2062.743.6$0.11
DeepSeek V4 Flash$0.14 / $0.2852.6≈ $0.05 (V4 Pro, by price)

low · about $0.85–1.45 per task

ModelPrice per 1M tokensSWE-bench ProSWE-rebenchCost per task
GPT-5.6 Sol$2 / $1064.662.3$0.85
GLM-5.2$0.65 / $2.0462.162.9$1.40
Claude Sonnet 5$2 / $1063.256.8$1.43

medium · about $2.80–3.50 per task

ModelPrice per 1M tokensSWE-bench ProSWE-rebenchCost per task
Claude Opus 5.5$4 / $2089.9≈ $2.80 (Opus 5, by price)
Claude Opus 5$5 / $2579.263.4$3.47

high · about $4.40 and up per task

ModelPrice per 1M tokensSWE-bench ProSWE-rebenchCost per task
Claude Fable 5.1$10 / $5081.2≈ $4.40 (Fable 5, same price)
GPT-6 Astra$10 / $50

A cost marked ≈ has not been measured. It takes a measured model from the same family and scales it by the difference in token price. A dash means no public score or cost exists yet.

Reading the numbers

  • The two benchmarks disagree, so neither decides alone. SWE-bench Pro covers more models, but about 30% of its public tasks are known to be broken. SWE-rebench is harder to game, and it is the reason DeepSeek V4 Pro and GPT-5.6 Luna sit in trivial: both score 15 to 19 points lower on its fresh tasks.
  • Compare cost per finished task, not price per token. A cheaper model that fails and has to be run again costs more than a stronger one that succeeds the first time. GPT-5.6 Sol and Claude Sonnet 5 cost the same per token, but Sol finished more tasks at a lower cost per task.
  • Move up one level when a run fails. If a work item’s checks fail or its review is refused, run it again on the next level up rather than on the same model.
  • Check where your data may go. Not every provider can be used for every project. See Model providers for how each one treats the content it is sent.

How current this is

Prices and scores on this page were read on 23 September 2026. Token prices come from Motir’s model gateway, which refreshes them from OpenRouter; Claude Opus 5.5 was added from OpenRouter directly because it launched after the gateway’s last refresh. Models change every few months, so treat the candidates as a starting point and keep the ones that finish your own work items.