Notes from the work

One email when a tutorial or migration write-up goes live. Nothing else, and an unsubscribe link in every email.

LeanZero

Two people in Romania doing Atlassian migrations, Forge apps and practical AI work for teams that would rather talk to the person doing the job. Most of what we learn ends up on this site.

Services

  • Atlassian Migrations
  • Atlassian FastShift
  • Atlassian Maintenance
  • Forge App Development
  • AI Development Consultation

Topics

  • Jira
  • Jira Service Management
  • Confluence
  • Bitbucket
  • Atlassian Forge
  • Cloud Migration
  • Local AI
  • AI Coding
  • Certifications
  • Atlassian Team
  • All topics

Company

  • Blog
  • Tutorials
  • Contact

Community

  • Join Discord
  • Support this site

© 2026 LeanZero. All rights reserved.

Privacy PolicyTerms of Service24/7 SupportTrust CenterSecurityDPALegal notice
  1. Home
  2. Blog
  3. Jev Router Benchmark Gpt 6 1 Sol
Jev Router topped our coding benchmark. 117 of its 118 calls went to GPT-6.1 Sol
AI CodingAtlassian Forge

Jev Router topped our coding benchmark. 117 of its 118 calls went to GPT-6.1 Sol

Mihai Perdum
Mihai Perdum
Author
14 min readOctober 17, 2026

Key takeaways

  • TypeSafe's Jev Router (typesafe/jev-router on OpenRouter) has the highest median on our Forge 2.0 board as of 17 October 2026: 0.746, from builds of 0.6398 and 0.8523. Claude Opus 5.5 is second at 0.6745 and GPT-6.1 Sol third at 0.5933.
  • OpenRouter's generation records for both builds show where the work went: 74 of 75 calls to GPT-6.1 Sol and 1 to GPT-6 Astra in build 1, all 43 to GPT-6.1 Sol in build 2. On this task the router was GPT-6.1 Sol 117 times out of 118.
  • The single Astra call cost $1.80, which is 44.87% of build 1's $4.02 bill. It carried a 142,694-token prompt with nothing cached. Jev's two builds billed $5.17 together, against $2.38 for Sol's own pair.
  • Two builds per model can't separate a router from its model here. Jev's low build (0.6398) sits 0.0097 under Sol's high build (0.6495), the median gap between a model's two builds across the board is 0.0832, and Gemini 4 Argon, in the same comparison group as Jev, scored 0.7926 and then 0.2943.
  • Jev and Sol aren't in the same comparison group on our own board. Jev ran on goose 3.0.116 this morning, Sol's pair on a 3.0.110 build on 12 October, and our comparison tool refuses to compare the two because the engine build and settings differ.
  • Before you trust a router's rank, find out which model it ran. OpenRouter's /api/v1/generation endpoint returns the served model per call, and the X-OpenRouter-Metadata header shows the effort the router picked, which we didn't send and so couldn't see.

TypeSafe's Jev Router (typesafe/jev-router on OpenRouter) went to the top of our Forge 2.0 agentic coding benchmark this morning. Its two builds scored 0.6398 and 0.8523, a median of 0.746, ahead of Claude Opus 5.5 at 0.6745. OpenRouter's own generation records show where the work went. Of the 118 calls the router handled, 117 went to GPT-6.1 Sol and one to GPT-6 Astra. GPT-6.1 Sol's own pair, 0.6495 and 0.5371, sits third.

So the model that came first was, on this task, the model that came third, called through a router. I saw the board and thought it was a bit crazy. My first question was the obvious one: what is Jev anyway? Jev is TypeSafe's decision model, and it writes no text. Jev Router uses it to pick a model and a reasoning effort for each request, the picked model writes the answer, and you pay that model's price.

The second question was how a router that kept picking a third-place model can end up first. Sol's pair ran five days earlier on an older build of goose, our agent. And the router may have changed Sol's reasoning effort on some calls in a way our records don't show.

On our task, a router that sent 117 of 118 calls to one model behaved like that model, plus whatever effort it chose. Two long agentic builds per model are too few to rank things that close. If you want GPT-6.1 Sol for this kind of work, I'd call Sol directly.

Forge 2.0 is our Jira app benchmark, with a budget of 300 model calls, twice Forge 1.0's. Goose, the open-source coding agent we build on, gets a Jira app built on Atlassian Forge and a long spec, and upgrades it with no help. A scorer then runs 105 checks against three seeded Jira sites. How it's built and scored is in the DeepSeek V4.1 Flash piece and in the Forge 2.0 scoring notes on the board.

The Forge 2.0 board on 17 October

This is the board as I read it on Saturday 17 October 2026, late morning EEST. The live board is the current word. It can move. Every model on it has exactly two independent builds, and the board ranks by the median of the two.

rank

model

build 1

build 2

median

comparison group

1

Jev Router (typesafe/jev-router)

0.6398

0.8523

0.746

1

2

Claude Opus 5.5

0.7294

0.6196

0.6745

2

3

GPT-6.1 Sol

0.6495

0.5371

0.5933

2

4

Qwen3.8 Max Prime

0.6515

0.5015

0.5765

3

5

Claude Sonnet 5.5

0.5485

0.5899

0.5692

3

6

Gemini 4 Argon

0.7926

0.2943

0.5434

1

7 rows × 6 columnsHeader row enabled
The top of the Forge 2.0 leaderboard on leanzero.net. Row 1, jev-router, typesafe/jev-router, 2 independent builds, Comparison group 1, range 0.6398 to 0.8523, median 0.7460. Row 2, Opus 5.5, Comparison group 2, range 0.6196 to 0.7294, median 0.6745. Row 3, GPT 6.1 Sol, openai/gpt-6.1-sol, Comparison group 2, range 0.5371 to 0.6495, median 0.5933
The live Forge 2.0 board, 17 October 2026. Note the purple Comparison group labels: Jev Router is in group 1, Opus and Sol in group 2. The board's own text says to compare models within the same group. Screenshot from leanzero.net/agentic-benchmarks.

The column that matters most is the one people skip. A comparison group on our board is a set of builds made with the same verified task, scorer and goose build, among other things. Jev Router shares group 1 with exactly one other model, Gemini 4 Argon. Opus and Sol are in group 2. The board says, in its own words, "Compare models within the same comparison group." By our own rules, the first row and the third row aren't a fair pair.

What we found

  1. Jev Router sent 117 of its 118 calls to GPT-6.1 Sol, verified one generation at a time through OpenRouter's API. The one exception went to GPT-6 Astra and cost 44.87% of its build's bill.
  2. Both Jev builds beat both Sol builds on three of the 105 checks. No check went the other way for both Sol builds. Two of those three are checks where Sol's builds lost part of the marks, and on Forge 2.0 a partial miss costs as well as an outright failure.
  3. Jev's lower build and Sol's higher build are near twins, 0.6398 and 0.6495. Under the rule our own comparison tool uses, that overlap alone is enough to call the pair unresolved.
  4. On 23 of 117 routed calls, Sol thought for longer than Sol ever did when we called it directly, up to 3,327 reasoning tokens against a direct ceiling of 516. That's consistent with the router raising the effort, and I can't prove it.
  5. The spread between two builds of one model is large on Forge 2.0. The median gap is 0.0832, Jev's is 0.2125, and Gemini 4 Argon's, in Jev's own comparison group, is 0.4983.

What is a model router, and what is Jev Router?

A model router is a model, or a policy, that sits in front of other models and decides which one answers each request. The pitch is cost. Send the easy request to a cheap model and the hard one to an expensive one, and you pay less for about the same quality. The RouteLLM paper from LMSYS puts it as routers "that dynamically select between a stronger and a weaker LLM during inference, aiming to optimize the balance between cost and response quality". Their blog post reported "cost reductions of over 85% on MT Bench" at 95% of GPT-4's performance. RouterBench starts from the premise that "no single model can optimally address all tasks and applications, particularly when balancing performance with cost." RouterEval found that a capable router can even "surpass the performance of the best single model in the pool", and that most existing methods "still have significant room for improvement".

Jev and Jev Router are two different things, and the search results mix them up.

Jev is TypeSafe's own model. TypeSafe launched it on 15 September 2026 in a post by its founder, Diogo Almeida, as its first "System One" model. In TypeSafe's docs, a System One model "evaluates a state and returns typed answers and probabilities", and the name comes from Kahneman's fast System 1 in Thinking, Fast and Slow. OpenRouter's Jev page answers the question I had directly: "Is Jev an LLM? No. Jev is a System One decision model. It returns typed answers, with probabilities associated with them. Jev doesn't return text, reasoning, or explanations."

Jev Router is the thing on our board. OpenRouter lists it as "TypeSafe: Jev Router", released on 25 September 2026, and its model page describes it like this:

"Jev Router picks the best model and reasoning effort for each request, balancing quality, speed, and cost. It runs on Jev, TypeSafe's first System One model, and adapts as your conversation evolves."

OpenRouter's Jev Router docs are more precise: "Jev makes the routing decision; the selected model generates the response." The router picks a model and an effort for each request, and "during supported agentic workflows, the router can retain a model, adjust its effort, or switch models as the task progresses." It has no price of its own. Each request is billed at the price of whichever model served it. I couldn't find a published list of the models it can pick from, and the docs say "the available models and routing policies can change over time." I couldn't find Jev Router mentioned anywhere on TypeSafe's own site. It's documented on OpenRouter, and I couldn't find either side saying who wrote the routing policy. At launch, crypto-news aggregators reported that OpenRouter's internal tests had Jev Router solving 237 of 423 agent tasks to the Auto Router's 130. I couldn't find that on OpenRouter's own pages, so I'm not leaning on it.

One more thing from TypeSafe that I'd rather quote than paraphrase. Their September post on benchmarks, "Lies, Damned Lies, and Benchmarks", tells readers to "run your own private evals, treat public ones with a grain of salt, and don't amplify every number or plot you see." I agree. That goes for our board too.

Jev Router vs GPT-6.1 Sol: 117 of 118 calls went to Sol

Each call goose makes through OpenRouter gets a generation id. Our build trees keep them. We asked OpenRouter's /api/v1/generation endpoint about every id from both Jev builds. Each record carries a model field (the model that served the call) and a router field.

Jev build 1

Jev build 2

openai/gpt-6.1-sol-20260929, router typesafe/jev-router

74

43

openai/gpt-6-astra-20260903, router typesafe/jev-router

1

0

google/gemini-2.5-flash, no router

1

1

score

0.6398

0.8523

billed

$4.02

$1.15

build time

45m 52s

21m 13s

7 rows × 3 columnsHeader row enabled

The Gemini 2.5 Flash call in each build belongs to goose, our agent. It's goose's own small helper model, which ran once in each build with no router, and Sol's own builds have one as well. Take it out and the router handled 75 calls in build 1 and 43 in build 2. Sol calls, routed or direct, all hit the same upstream OpenAI endpoint on OpenRouter.

Cartoon of a cheerful robot receptionist at a desk in front of seven coloured doors. A queue of small robots carrying parcels all walk toward the one door marked SOL, beside a tall stack of envelopes, while the other doors have cobwebs on their handles
Illustration, generated locally with ERNIE-Image. Jev Router can pick from many models. On our task it picked GPT-6.1 Sol 117 times out of 118. The one trip through another door, to GPT-6 Astra, was the expensive one.

I'd only claim this for our task. OpenRouter's model page has a "Top models used by Jev Router" table for all of its traffic. When I read it on 17 October, DeepSeek V4.1 Flash led with about 36% of the tokens and GPT-6.1 Sol was second at about 18%. The page doesn't say over what window. On a long Atlassian Forge build with a 1-million-token context, the router chose Sol on 117 of 118 calls. Nothing here says it would decide that on your work.

The one call that went to GPT-6 Astra cost 44.87% of the build

Call 47 of build 1 went to GPT-6 Astra, OpenAI's flagship, which OpenRouter lists at five times Sol's price. It carried a 142,694-token prompt with 0 tokens cached, wrote 408 tokens back, and cost $1.8040675. The 74 Sol calls in the same build cost $2.2157321 together, so one call was 44.87% of a $4.02 bill. The Sol calls just before and after it cost $0.0526 and $0.0416.

The arithmetic matches Astra's cache-write price applied to the whole prompt. I read it as a cache write. The record doesn't say why the router picked Astra for that one call. OpenRouter itself warns about this cost in its router benchmark post: "Switching between models means requests get more expensive while the input cache is rebuilt." Our agent resends the whole conversation on each call, and 96% of each Jev build's input was a cache hit. One switch threw that away for one call. I'd have missed it without the per-call records.

What the router did to Sol's thinking, as far as we can see

Goose sent reasoning: {effort: "medium"} on every request we have logs for, in all four builds. OpenRouter's docs are clear that with Jev Router that's a suggestion: "a hint is not a guarantee of the setting sent to the final model."

The generation record has 45 fields. We checked them all and the effort isn't there. It does carry native_tokens_reasoning, and that shows something I can't prove. Called directly, Sol never used more than 516 reasoning tokens on a call, across 95 calls in two builds. Routed through Jev, it went over 516 on 19 of 74 Sol calls in build 1, up to 3,327, and on 4 of 43 in build 2. That's consistent with the router raising the effort on some calls. It's also consistent with other things I haven't ruled out.

The effort was knowable. OpenRouter documents an X-OpenRouter-Metadata: enabled request header that returns, for each request, the candidate models with their effort and the router's reason. Goose doesn't send it, so we have nothing. If you run a router through your own agent, send it.

The same docs say that "when the policy permits it, an expert advisor can assist the model doing the work." No generation record names a second model on any Sol call, and routed Sol calls billed at the same rate per token as Sol called directly, so I see no sign of one. Without the metadata header I can't rule it out.

Where Jev's builds beat Sol's, check by check

A Forge 2.0 score is two numbers multiplied. "Tests earned" is the weighted average of 105 checks. Reliability then multiplies it down: each of 19 groups of tests costs 1 − 0.10 × the shortfall of its worst test, so a group whose worst test fails completely costs ×0.90. The run pages show it step by step.

Four score breakdowns from the leanzero.net run pages, two per model. Jev Router build 1: 0.9409 tests earned times 0.6800 reliability equals 0.6398, with zero-score worst tests s_limits, u_not_started and r2_person_never_quota_refused. Jev Router build 2: 0.9856 times 0.8647 equals 0.8523, with one zero, a_action_result. GPT-6.1 Sol build 1: 0.9498 times 0.6838 equals 0.6495, with zeros on u_llm_explain, a_action_result and r2_person_never_quota_refused. GPT-6.1 Sol build 2: 0.9383 times 0.5724 equals 0.5371, with zeros on u_widget_live and a_action_result
The score, step by step, for all four builds. Tests earned sits between 0.9383 and 0.9856 in all four. The spread comes from the reliability column, which charges each group for its worst test. In Sol's build 2, partial misses in seven groups cost more than its two zeros. Screenshots from the four run pages, 17 October 2026.

Look at tests earned first: 0.9409 and 0.9856 for Jev, 0.9498 and 0.9383 for Sol. On the average check the two are within a few hundredths. The gap opens in reliability, 0.68 and 0.8647 against 0.6838 and 0.5724.

Jev's build 1 and Sol's build 1 are the same story. Each had three groups with a check at zero, each lost a little more in a few others, and they finished 0.0097 apart. The other two builds are where the medians part. Jev's build 2 had one check at zero and only small misses elsewhere. Sol's build 2 had two zeros and then partial misses in seven more groups, half marks on two of them and about a quarter on three, which together cost it more than its two zeros did.

Three checks went to Jev in both builds and to neither Sol build:

check

what it tests

Jev b1

Jev b2

Sol b1

Sol b2

b_comment_adf_as_user

posting the sprint comment as the user, in Atlassian's document format

1

1

0.8333

0.5

t_reestimate_followed

following an issue's re-estimate through the event pipeline

1

1

0.8333

0.5

u_llm_explain

the app's AI explain button returning an answer

1

1

0

0.9565

4 rows × 6 columnsHeader row enabled

Two of Jev's three wins are checks where Sol's builds lost part of the marks, 0.8333 and 0.5. There's no check where both Sol builds beat both Jev builds. Sol's build 2 edged both Jev builds on two checks, by small margins: event economy and the admin panel's labels. Sol's build 1 lost u_llm_explain outright. That single zero cost it ×0.90.

Then there's the other comparison, Jev against itself. Its two builds disagreed on 12 of 105 checks, Sol's two on 22. Build 1 answered "5/5 active sprints" exactly on the Rovo action check and build 2 answered "0/5". Build 1 hit 47 storage limit errors on one seeded site and build 2 none. Build 1 refused 1 of 958 person-facing requests for quota and build 2 refused 0 of 984. All three of build 1's zeros came from one of the three seeded Jira sites, the one where it scored 0.6399. Each check keeps its lowest result across the three sites (the excellence measurements take the mean), so one bad site can drag a whole build down.

Cartoon of a three-step winners podium on a blue background. On the top step a robot in a cheap disguise of round glasses, a fake moustache and a little brown hat stands proudly, with a gold trophy beside it. On the third step an identical robot with no disguise wears a bronze medal and stares up at it, mouth open
Illustration, generated locally with ERNIE-Image. First place on our Forge 2.0 board ran GPT-6.1 Sol on 117 of its 118 calls. Third place is GPT-6.1 Sol. OpenRouter's records name the model under the hat.

Why a two-build agentic coding benchmark can't separate a router from its model

Jev's builds won a few checks where Sol's lost marks, and the scorer's reliability multiplier makes a handful of checks count for a lot. Whether that's the router helping, the newer goose, or a coin landing differently on a 20 to 45 minute build, I don't think two builds each can say.

A chart of the Forge 2.0 top eight by median, both builds of each shown as dots joined by a bar, with a black tick at the median. Jev Router in purple from 0.6398 to 0.8523, median 0.7460, group 1. Claude Opus 5.5 from 0.6196 to 0.7294, group 2. GPT-6.1 Sol in orange from 0.5371 to 0.6495, group 2. Qwen3.8 Max Prime 0.5015 to 0.6515. Claude Sonnet 5.5 0.5485 to 0.5899. Gemini 4 Argon in teal from 0.2943 to 0.7926, group 1. MiMo V2.6 Flash 0.5028 to 0.5538. Ember 1 0.471 to 0.5312. A yellow band marks the 0.0097 between Jev's low build and Sol's high build
The Forge 2.0 top eight, both builds. Ranges overlap almost everywhere, and Argon's two builds are 0.4983 apart. Our chart, from the public benchmark dataset, 17 October 2026.

The ranges overlap

Jev's lower build, 0.6398, is 0.0097 below Sol's higher build, 0.6495. Our comparison tool, forge2_compare.py, only names a winner between two models when every build of one beats every build of the other. Otherwise it prints:

"Unresolved comparison: insufficient independent builds or overlapping episode ranges."

To be exact: the report our benchmark session produced ran that tool on Jev's two builds alone, so its "unresolved" there means one model with no partner. Fed Jev and Sol together, the tool doesn't get as far as the ranges. It refuses, with "Cannot compare mixed task, engine, settings or scoring fixtures", because the goose build and the settings record differ. Even if they matched, 0.6398 against 0.6495 would fail its rule.

One model's two builds can be 0.5 apart

Across the 26 models with two Forge 2.0 builds, the median gap between a model's builds is 0.0832. Jev's is 0.2125, sixth largest. Gemini 4 Argon, in the same comparison group as Jev and on the same goose build, though called directly on Google rather than through OpenRouter, scored 0.7926 and then 0.2943 an hour and a quarter later. Its first build scored 0.9982, 0.7904 and 0.9981 on the three seeded sites, and its second 0.3725, 0.3753 and 0.3671. Same model, same comparison group, a different app. Every Forge 2.0 pair is worth reading with that in mind.

That isn't peculiar to us. "On Randomness in Agentic Evals" collected 60,000 trajectories on SWE-bench Verified and found single-run scores "vary by 2.2 to 6.0 percentage points depending on which run is selected", with trajectories that "diverge early, often within the first few percent of tokens". Anthropic's statistical approach to model evaluations makes the general point that an eval with few questions has wide intervals, so "models will need to have a large underlying difference in capabilities in order to register a statistically significant result". Forge 2.0 is one long build scored on three seeded sites, which is very few samples per model.

The engines differ

Jev's builds ran this morning on goose 3.0.116. Sol's ran overnight on 11 to 12 October on a 3.0.110 build. The two cohorts differ only in the engine binary and its settings record. Everything else in the cohort record matches, down to the seeds and the effort we asked for. We checked what the model actually saw: the first request of each build had the same five tools and the same 2,621-character system prompt, and the task text differs only in the timestamp, the working directory and the context-window line. None of the four builds hit a retry or a rate-limit wait.

There are 73 commits between those two goose versions, 13 of them in the engine. Two touch the OpenRouter path. One changes when goose sends a reasoning effort to a model it doesn't recognise, the other how it waits out a rate limit that arrives mid-stream. Our logs show effort: medium going out on all four builds, and no build hit a rate limit, so I don't think either made the requests differ. I'm inferring that from the logs. The board still puts the two in different groups, and it should.

Epoch AI found that changing the scaffold alone moved SWE-bench Verified by up to 11% for GPT-5 and 15% for Kimi K2 Thinking. Our change between versions is far smaller than swapping scaffolds. It's still a change.

The router may have chosen a different effort

If the router raised the effort on hard steps, the "Jev" builds weren't Sol at medium. We asked for medium in Sol's own pair. That could be a real benefit of the router. We didn't record the effort, so it stays a hypothesis.

What it cost

Claude Opus 5.5's two builds billed $42.50 for a 0.6745 median. Jev Router's billed $5.17 for 0.746, and Sol's own $2.38 for 0.5933.

build 1

build 2

pair

per call

Jev Router

$4.02 (75 calls, 45m 52s)

$1.15 (43 calls, 21m 13s)

$5.17

$0.0536 and $0.0268

GPT-6.1 Sol

$1.15 (47 calls, 19m 59s)

$1.23 (48 calls, 25m 28s)

$2.38

$0.0245 and $0.0256

3 rows × 5 columnsHeader row enabled

Take out the Astra call and build 1's 74 Sol calls came to $2.22, or $0.0299 a call, against $0.0245 and $0.0256 for Sol called directly. Jev's build 2 cost almost exactly what Sol's build 1 cost. The router has no fee of its own. It does carry the chance of a switch, and here one switch cost 81% as much as the 74 Sol calls in the same build.

The Jev run pages don't show a bill. Those figures come from OpenRouter's generation records, and the build's own cost file marks both bills complete. Sol's run pages show theirs.

What could be wrong with my reading

  1. Two builds per model is a small sample. Everything above describes four builds. I wouldn't defend it as a ranking.
  2. The engines differ, as described. I checked that the model saw the same tools and prompt. I didn't measure what 73 commits do to a score.
  3. Our request logs keep only the last 10 requests per build, so "goose sent medium" is verified for those 10 in each build.
  4. Our own run pages title Jev's builds "typesafe/jev-router, single model via OpenRouter". That label is ours, and it's wrong for a router.
  5. Jev Router's earlier results don't settle it. On Gauntlet 7.2, our payments-app benchmark, its single run scored 0.6975 against Sol's 0.7978. Both are score caps, 0.699 for Jev after one failed check and 0.799 for Sol. Their raw scores were 0.9706 and 0.9768. I don't have that run's generation ids, so I don't know which models it routed to there.

How to check which model Jev Router actually ran

If you're about to pick a router because of where it sits on a leaderboard, ours included, check what it ran first. The API calls below are from OpenRouter's docs. Step 3 is my advice.

  1. Keep the generation id of each call. OpenRouter returns it on each response.
  2. Ask GET https://openrouter.ai/api/v1/generation?id=<id> for each one, with your API key. Read model and router first, then total_cost. We did this for all 120 generation ids from Jev's two builds, the 118 routed calls plus goose's two helper calls.
  3. Count the models. If one model served nearly every call, compare the router's result with that model's own result on the same harness, same version, same week.
  4. To see the reasoning effort, send X-OpenRouter-Metadata: enabled on the request. The router's metadata then lists the candidates with their effort and the reason for the pick.

Then look at the spread. Jev's lead over Sol's median is 0.1527, and Jev's own two builds are 0.2125 apart. When a router's lead is smaller than the gap between its own builds, I wouldn't trust the order, however the medians sort.

So why is Jev number one?

Because its two builds of GPT-6.1 Sol had a better median than Sol's own two, which ran five days earlier on an older goose, and the router was free to change Sol's effort. Its first build finished level with Sol's first. Its second build had a single check at zero and small misses elsewhere, while Sol's second lost marks across nine groups. I can't say from these records whether the router's effort choices helped.

I can say something narrower, and I think more useful. On a long agentic build, Jev Router picked GPT-6.1 Sol on 117 of 118 calls, and paid more per call than Sol called directly, with one expensive switch as the biggest single piece. If you want GPT-6.1 Sol for this kind of work, calling Sol directly gets you the same model without the switch risk. You give up the router's effort choices. I don't know what those were worth. If you want a router for mixed traffic, where its own usage table puts DeepSeek V4.1 Flash first, at about a third of its tokens, this benchmark doesn't test that at all.

Goose built all four apps, and the next thing it builds should be a third and fourth Jev build on 3.0.116 next to a fresh Sol pair on the same engine, with the metadata header on. Until then, the Forge 2.0 board links the four run pages: Jev build 1, Jev build 2, Sol build 1 and Sol build 2, with all their checks and recordings. Argon's pair, 0.7926 and 0.2943, is the best argument for reading all of them with the spread in mind. For how GPT-6.1 Sol did on our earlier boards, see Claude Sonnet 5.5 vs Opus 5.5 vs GPT-6.1 Sol, and for small against big inside one family, Qwen3.8 Flash vs Max Prime.

ShareXLinkedIn
Previous“This app might stop working soon”: what admins do before Connect end of support

Tags

#benchmarks#agentic-coding#jev-router#openrouter#gpt-6-1-sol#llm-routing#llm-evaluation

Comments

0

Add a comment

Confirm your address using the email we send. You can unsubscribe at any time. Your email stays private and this does not sign you up for the newsletter.

Enjoyed?

Join our Discord community to discuss this article and get help with your own migration projects.

Discuss in Discord

On this page

  • The Forge 2.0 board on 17 October
  • What we found
  • What is a model router, and what is Jev Router?
  • Jev Router vs GPT-6.1 Sol: 117 of 118 calls went to Sol
  • The one call that went to GPT-6 Astra cost 44.87% of the build
  • What the router did to Sol's thinking, as far as we can see
  • Where Jev's builds beat Sol's, check by check
  • Why a two-build agentic coding benchmark can't separate a router from its model
  • The ranges overlap
  • One model's two builds can be 0.5 apart
  • The engines differ
  • The router may have chosen a different effort
  • What it cost
  • What could be wrong with my reading
  • How to check which model Jev Router actually ran
  • So why is Jev number one?

Join the Community

Join the community to ask questions, share your work, and connect with other professionals.

Join Discord

Found My Advice Helpful?

If I helped you solve something for free, coffee money is always appreciated (but never expected).

Buy Me a Coffee

Related reading

Best local image generation model on a Mac? ERNIE-Image Turbo won our blind test

I ran six open image models through six prompts in mflux on a Mac Studio M3 Ultra and had two blind AI judges score the 48 images. ERNIE-Image Turbo scored 4.28 of 5 at about 80 seconds an image, ahead of its own 13-minute base model. FLUX.2 klein 4B is 3.6 times faster, scored 3.07 and misspelled the shop banner on both seeds. I also read each model's license for commercial use.

10/16/2026

Claude Code Hits a Jira Workflow Validator: CogniRunner Blocks the Change Request

I gave Claude Code a service-desk agent's API token and asked it to move a change request to Ready for CAB. Two plain-English CogniRunner validators sent back HTTP 400 with both reasons. Claude fixed the backout plan, left the failed rehearsal report alone and handed it back. I ran it three times and got the same outcome.

10/15/2026

Jira local LLM integration: pin one HR project to LM Studio with CogniRunner

One Jira Cloud project sends its AI checks to a Qwen model in LM Studio on our Mac Studio, and the site stays on its cloud provider. I ran it 8 times on 14 October 2026: 8 refusals and 8 passes, about three seconds per click. Then I saved a wrong token and the request went straight through.

10/14/2026