models.coolboxapp.com · coolbox · 2× RTX 5060 Ti 16 GB · measured 2026-10-10 to 2026-10-23

ariane, Gyro-M, Swift IQ3_XXS and Flash-Next IQ2_XS against Sonnet 5.5

Four local models — ariane on vLLM, three on the Strata expert engine — scored against Claude Sonnet 5.5 as the reference on the same suites: the 134-task web/UI webbench, the 23-task canonical grill (3 runs), the long-horizon agent round, and the 52-image vision test.

Sonnet 5.5reference · Anthropic API, 16k thinking129/134webbench strict passes (96%) · grill 22, 22, 22
arianeSwift-1.5 Qwen3.8-27B NVFP4 + MTP · vLLM, both cards95/134webbench strict passes (71%) · grill 22, 22, 22
Gyro-MQwen3.8-Flash-Next Gyro-M · strata 0.2.2 expert engine · 262k context111/134webbench strict passes (83%) · grill 21, 22, 22
Swift IQ3_XXSSwift 1.5 Qwen3.8 GSQ-RCO IQ3_XXS · strata expert engine · 200k context107/134webbench strict passes (80%) · grill 21, 22, 19
Flash-Next IQ2_XSQwen3.8-Flash-Next GSQ-RCO IQ2_XS · strata expert engine · 262k context88/134webbench strict passes (66%) · grill 22, 22, 22

Scoreboard

MeasureSonnet 5.5arianeSwift IQ3_XXSFlash-Next IQ2_XSGyro-M
Webbench · 134 tasks · first sample
Strict passes (every check passes)1299510788111
First 100 tasks / new 34 (React + Next.js)96 / 3367 / 2883 / 2470 / 1882 / 29
Mean score (partial credit)0.990.810.910.800.92
Score at least 0.80133106120100123
Output built and ran134122129126132
Hit the 32k output cap010420
Thinking cut off at budget (thinking budget flag)00110125102
Median output tokens per task2,87214,42025,42625,49425,679
Median wall time per task (s)18208262276380
Median decode speed per task (tok/s)15866959168
Whole suite, wall hours0.79.29.09.813.1 (incl. a 14-min pause)
Canonical grill · 23 tasks · 3 runs
Passes per run22, 22, 2222, 22, 2221, 22, 1922, 22, 2221, 22, 22
Mean22.0022.0020.6722.0021.67
Long-horizon agent round, /6 per run6, 6, 65, 5, 56, 5, 65, 6, 66, 6, 6
Output tokens per grill run12,02553,94961,57992,45591,529
Grill task time per run (min)1.612.912.518.223.2
Vision · 52 images · 3 runs
Passes per run43, 43, 44 (7 photos refused by API)48, 49, 4949, 50, 4949, 50, 4952, 49, 50
Easy / medium / hard (best run)14/17 · 24/28 · 6/716/17 · 26/28 · 7/717/17 · 27/28 · 6/717/17 · 26/28 · 7/717/17 · 28/28 · 7/7
lm-eval side axis (20 samples each, not in the grill score)
GSM8K strict1.000.950.950.900.95
IFEval prompt-level strict0.75, 0.75, 0.600.700.65, 0.70, 0.800.900.95, 0.90, 0.90
Serving on this box
Decode speedn/a (cloud)~66 t/s median on webbench, vLLM TP=2, 160k context~95 t/s median on webbench, 200k context, live service~108 t/s on engine 0.1.40, ~87 t/s on 0.1.47 (webbench), 262k context~68 t/s on 0.1.47 (webbench), 262k context
Weightsn/a21.9 GB NVFP4 (193 NVFP4 + 208 FP8 layers, vision tower and MTP head BF16), vLLM 0.31.076 GB IQ3_XXS (two parts), ~40 GiB expert arena in RAM, vision built in64 GiB IQ2_XS (two parts), ~14k experts cached on the two cards, vision built in92 GB in one file, experts in a 2-bit trellis format, ~13k of 24.6k experts cached on the two cards, vision built in

The local models ran one webbench sample each, with no temperature sent, so each uses its server's own default. Swift's webbench and grill ran at its 131k context; it was raised to 200k afterwards. The three Strata models ran with a 24k-token reasoning budget; ariane ran with none, so a task it over-thinks runs to the 32k output cap. Sonnet's column is its first of three samples. Sonnet's token counts come through the API proxy and aren't comparable with the local models. Gyro-M's webbench was paused for 14 minutes during task A-029, so that task's wall time (1,022 s) and the suite's wall hours include the pause; the engine measured 388 s for it.

Sampling differs between the Strata models. With no temperature sent, Strata engine 0.1.40 always picks the most likely token, while engine 0.1.47 (Strata 0.2.2) applies the model card's sampling: temperature 1.0, top_p 0.95, top_k 20. Swift ran everything on 0.1.40. Flash-Next IQ2_XS answered webbench tasks A-001 to A-065 (62 tasks) on 0.1.40, and the other 72 tasks, the grill and the vision test on 0.1.47. All of its React and Next.js tasks were therefore sampled at temperature 1.0. Same weights and settings on both engines. Gyro-M ran everything on 0.1.47, so every one of its answers was sampled at temperature 1.0.

Webbench by category

Strict passes out of the tasks in each category. Bars are drawn to the same 0–100% scale.

Vanilla JS · 28 tasks

Sonnet 5.5
26/28
ariane
19/28
Swift IQ3_XXS
19/28
Flash-Next IQ2_XS
20/28
Gyro-M
22/28

Vanilla CSS · 15 tasks

Sonnet 5.5
14/15
ariane
11/15
Swift IQ3_XXS
12/15
Flash-Next IQ2_XS
10/15
Gyro-M
14/15

Bug fixing · 14 tasks

Sonnet 5.5
14/14
ariane
11/14
Swift IQ3_XXS
12/14
Flash-Next IQ2_XS
11/14
Gyro-M
12/14

Browser APIs · 13 tasks

Sonnet 5.5
12/13
ariane
6/13
Swift IQ3_XXS
11/13
Flash-Next IQ2_XS
9/13
Gyro-M
9/13

Framework · 11 tasks

Sonnet 5.5
11/11
ariane
7/11
Swift IQ3_XXS
11/11
Flash-Next IQ2_XS
10/11
Gyro-M
9/11

Canvas / SVG · 9 tasks

Sonnet 5.5
9/9
ariane
7/9
Swift IQ3_XXS
8/9
Flash-Next IQ2_XS
3/9
Gyro-M
8/9

Full-stack · 10 tasks

Sonnet 5.5
10/10
ariane
6/10
Swift IQ3_XXS
10/10
Flash-Next IQ2_XS
7/10
Gyro-M
8/10

React · 14 tasks

Sonnet 5.5
14/14
ariane
12/14
Swift IQ3_XXS
13/14
Flash-Next IQ2_XS
10/14
Gyro-M
13/14

Next.js · 20 tasks

Sonnet 5.5
19/20
ariane
16/20
Swift IQ3_XXS
11/20
Flash-Next IQ2_XS
8/20
Gyro-M
16/20
Task difficultyTasksSonnetarianeSwift IQ3_XXSFlash-Next IQ2_XSGyro-M
Difficulty 266 (100%)6 (100%)6 (100%)5 (83%)6 (100%)
Difficulty 37774 (96%)57 (74%)61 (79%)55 (71%)64 (83%)
Difficulty 44947 (96%)31 (63%)38 (78%)26 (53%)39 (80%)
Difficulty 1 and 5221222

Where the local models differ

Counted over the 134 tasks all four local models have finished.

3only ariane passes
2only Swift passes
4only Flash-Next IQ2_XS passes
3only Gyro-M passes
55all four pass
4no local model passes · Sonnet passes 4 of them
Only ariane passes (3)
  • A-002 holy grail Vanilla CSS
  • A-121 next search params Next.js
  • A-139 next ts server action Next.js
Only Swift passes (2)
  • A-045 treeview Vanilla JS
  • A-089 react optimistic Framework
Only Flash-Next IQ2_XS passes (4)
  • A-041 markdown preview Vanilla JS
  • A-058 clipboard copy Browser APIs
  • A-061 web worker Browser APIs
  • A-073 fix a11y audit Bug fixing
Only Gyro-M passes (3)
  • A-005 css accordion Vanilla CSS
  • A-048 url state Vanilla JS
  • A-138 next cookie cart Next.js
No local model passes (4)
  • A-034 cart money Vanilla JS
  • A-042 mini spreadsheet Vanilla JS
  • A-050 svg line chart Canvas / SVG
  • A-124 next middleware auth Next.js
Tasks Sonnet failed on its first sample
  • A-002 holy grail: run 1 scored 0.93, passed 1 of 3 runs; ariane passed
  • A-041 markdown preview: run 1 scored 0.95, passed 1 of 3 runs; Flash-Next IQ2_XS passed
  • A-048 url state: run 1 scored 0.30, passed 2 of 3 runs; Gyro-M passed
  • A-061 web worker: run 1 scored 0.90, passed 1 of 3 runs; Flash-Next IQ2_XS passed
  • A-139 next ts server action: run 1 scored 0.88, passed 1 of 3 runs; ariane passed

How each model fails on webbench

strict passbuilt, score ≥ 0.80built, lower scoredid not build or no files

Sonnet 5.5

Failed tasks
5
near misses (≥ 0.80)
4
no build
0

Four of Sonnet's five misses fail one or two checks. The fifth, URL state, scored 0.30 on run 1 and passed the other two runs.

ariane

Failed tasks
39
near misses (≥ 0.80)
11
no build
12
hit 32k output cap
10

It ran with no thinking budget, so its misses skew toward over-thinking: 10 of its 12 no-build answers stopped at the 32k output cap mid-answer.

Swift IQ3_XXS

Failed tasks
27
near misses (≥ 0.80)
13
no build
5
hit 32k output cap
4

Swift almost always ships complete code. Its misses are mostly one check short on an otherwise working page.

Flash-Next IQ2_XS

Failed tasks
46
near misses (≥ 0.80)
12
no build
8
hit 32k output cap
2

Flash-Next IQ2_XS hit its thinking budget on 125 of 134 tasks. 6 of its 8 no-build results are Next.js tasks: five builds that fail, and one answer (A-127) that the model ended 141 tokens into its thinking.

Gyro-M

Failed tasks
23
near misses (≥ 0.80)
12
no build
2
hit 32k output cap
0

Gyro-M hit its thinking budget on 102 of 134 tasks. Its two no-build results are A-124, whose Next.js build fails, and A-103, where the model stopped 11,600 tokens into its thinking without writing an answer.

Canonical grill, task by task

Each square is one run, three runs per model. Highlighted rows are the tasks where the models differ.

passfail
TaskSonnetarianeSwift IQ3_XXSFlash-Next IQ2_XSGyro-M
Round 1
median two sorted
expr eval
damerau levenshtein
articulation points
lru ttl
kth smallest bst
wildcard match
search rotated
Round 2
regex dot star
weighted interval scheduling
dijkstra
bounded blocking queue
text justify
Round 3
tool weather
tool select
tool restraint
json strict
format lines
Round 4
chain book
error recovery
clarify missing
repo fix
gather aggregate
Round 5 · long-horizon agent tasks, scored separately
multifile refactor
test driven loop
search navigate
constraint recovery
interrupt replan
already done

expr_eval rejects inputs like 1++2; the local models miss that edge case almost every run, as nearly every model tested here does. Sonnet's one miss is damerau_levenshtein, which every local model passes.

All 134 webbench tasks

IDTaskCategoryDiff.Sonnet run 1Sonnet runsarianeSwift IQ3_XXSFlash-Next IQ2_XSGyro-M
A-001pricing tableVanilla CSS11.00●●●1.001.001.00thinking cut off1.00thinking cut off
A-002holy grailVanilla CSS30.93○●○1.000.93thinking cut off0.93thinking cut off0.87thinking cut off
A-003card grid specVanilla CSS31.00●●●1.001.00thinking cut off1.00thinking cut off1.00
A-004theme toggleVanilla CSS21.00●●●1.001.00thinking cut off1.00thinking cut off1.00
A-005css accordionVanilla CSS31.00●●●0.00no build, hit max tokens0.910.30thinking cut off1.00
A-006form statesVanilla CSS31.00●●●1.001.00thinking cut off1.00thinking cut off1.00thinking cut off
A-007reduced motion loadersVanilla CSS21.00●●●1.001.00thinking cut off1.00thinking cut off1.00
A-008fluid heroVanilla CSS30.95●●●0.00no build, hit max tokens0.30thinking cut off1.00thinking cut off1.00thinking cut off
A-009sticky tableVanilla CSS31.00●●●0.890.95thinking cut off0.95thinking cut off1.00thinking cut off
A-010data tableVanilla JS31.00●●●1.001.00thinking cut off1.001.00thinking cut off
A-011accessible modalVanilla JS21.00●●●1.001.00thinking cut off1.00thinking cut off1.00thinking cut off
A-012aria comboboxVanilla JS41.00●●●0.00no build, hit max tokens1.00thinking cut off1.00thinking cut off1.00thinking cut off
A-013aria tabsVanilla JS21.00●●●0.951.00thinking cut off1.00thinking cut off1.00
A-014signup wizardVanilla JS41.00●●●0.951.00thinking cut off0.94thinking cut off1.00thinking cut off
A-015debounced searchVanilla JS31.00●●●1.001.00thinking cut off1.00thinking cut off1.00thinking cut off
A-016kanban dndVanilla JS41.00●●●0.00no build, hit max tokens0.62thinking cut off1.00thinking cut off1.00thinking cut off
A-017canvas snakeCanvas / SVG31.00●●●1.001.00thinking cut off0.63thinking cut off1.00thinking cut off
A-018svg clockCanvas / SVG31.00●●●1.001.000.25thinking cut off1.00thinking cut off
A-019svg bar chartCanvas / SVG31.00●●●1.001.00thinking cut off0.94thinking cut off1.00thinking cut off
A-020text truncationVanilla CSS30.95●●●0.950.950.95thinking cut off0.95thinking cut off
A-022print stylesheetVanilla CSS20.95●●●0.931.000.89thinking cut off0.95
A-023container queriesVanilla CSS30.95●●●1.000.90thinking cut off1.00thinking cut off1.00
A-024rtl logicalVanilla CSS30.95●●●0.301.000.30thinking cut off1.00
A-025grid areas dashboardVanilla CSS31.00●●●1.001.00thinking cut off1.00thinking cut off1.00
A-026responsive imagesVanilla CSS31.00●●●1.000.950.00no build, thinking cut off, hit max tokens0.95thinking cut off
A-027undo redoVanilla JS31.00●●●0.950.36thinking cut off0.21thinking cut off1.00thinking cut off
A-028todomvcVanilla JS30.95●●●1.000.95thinking cut off1.00thinking cut off0.95thinking cut off
A-029infinite scrollVanilla JS31.00●●●1.001.00thinking cut off1.00thinking cut off1.00thinking cut off
A-030virtual listVanilla JS41.00●●●0.981.00thinking cut off0.30thinking cut off1.00thinking cut off
A-031date pickerVanilla JS41.00●●●1.001.00thinking cut off1.00thinking cut off0.74thinking cut off
A-032history routerVanilla JS31.00●●●1.000.92thinking cut off1.00thinking cut off1.00thinking cut off
A-033error summaryVanilla JS31.00●●●1.001.00thinking cut off1.00thinking cut off1.00thinking cut off
A-034cart moneyVanilla JS41.00●●●0.830.94thinking cut off0.30thinking cut off0.94thinking cut off
A-035sortable listVanilla JS31.00●●●1.001.00thinking cut off1.00thinking cut off1.00thinking cut off
A-036toast queueVanilla JS41.00●●●0.981.00thinking cut off1.00thinking cut off1.00thinking cut off
A-037stopwatchVanilla JS31.00●●●0.951.00thinking cut off1.00thinking cut off0.30thinking cut off
A-038command paletteVanilla JS41.00●●●0.941.00thinking cut off0.94thinking cut off1.00thinking cut off
A-039xss comment fixBug fixing31.00●●●1.001.00thinking cut off1.00thinking cut off1.00
A-040carouselVanilla JS31.00●●●1.000.79thinking cut off1.00thinking cut off1.00thinking cut off
A-041markdown previewVanilla JS40.95○○●0.160.11thinking cut off0.94thinking cut off0.30thinking cut off
A-042mini spreadsheetVanilla JS40.94●●●0.300.00no build, hit max tokens0.30thinking cut off0.30thinking cut off
A-043file uploadVanilla JS31.00●●●0.931.00thinking cut off0.98thinking cut off1.00thinking cut off
A-044color pickerVanilla JS31.00●●●0.300.30thinking cut off1.00thinking cut off1.00thinking cut off
A-045treeviewVanilla JS41.00●●●0.871.00thinking cut off0.87thinking cut off0.87thinking cut off
A-046menu buttonVanilla JS31.00●●●1.001.00thinking cut off1.00thinking cut off1.00thinking cut off
A-047password rulesVanilla JS31.00●●●1.001.00thinking cut off1.00thinking cut off1.00thinking cut off
A-048url stateVanilla JS30.30○●●0.300.92thinking cut off0.00no build, hit max tokens1.00thinking cut off
A-049canvas drawCanvas / SVG31.00●●●1.000.951.00thinking cut off1.00thinking cut off
A-050svg line chartCanvas / SVG41.00●○○0.930.93thinking cut off0.93thinking cut off0.93thinking cut off
A-051game of lifeCanvas / SVG31.00●●●1.001.00thinking cut off1.00thinking cut off1.00
A-052svg donutCanvas / SVG41.00●●●0.951.001.00thinking cut off1.00thinking cut off
A-053sparkline elementCanvas / SVG31.00●●●0.301.00thinking cut off0.77thinking cut off1.00
A-054crop toolCanvas / SVG41.00●●●1.001.00thinking cut off0.27thinking cut off1.00thinking cut off
A-055fetch retryBrowser APIs41.00●●●0.921.00thinking cut off0.92thinking cut off1.00thinking cut off
A-056indexeddb notesBrowser APIs31.00●●●0.301.00thinking cut off1.00thinking cut off1.00thinking cut off
A-057cross tab syncBrowser APIs31.00●●●1.001.00thinking cut off1.00thinking cut off0.20thinking cut off
A-058clipboard copyBrowser APIs30.90●●●0.860.890.94thinking cut off0.90thinking cut off
A-059autosave draftBrowser APIs31.00●●●0.951.00thinking cut off1.00thinking cut off1.00thinking cut off
A-060intl formattingBrowser APIs31.00●●●1.001.00thinking cut off1.00thinking cut off1.00thinking cut off
A-061web workerBrowser APIs30.90○○●0.890.00no build, hit max tokens1.00thinking cut off0.30thinking cut off
A-063utm builderBrowser APIs31.00●●●0.00no build, hit max tokens1.00thinking cut off1.00thinking cut off0.95thinking cut off
A-065search lru cacheBrowser APIs41.00●●●1.001.00thinking cut off1.00thinking cut off1.00
A-066line diffBrowser APIs41.00●●●0.201.00thinking cut off1.00thinking cut off0.30thinking cut off
A-067template engineBrowser APIs40.92●●●0.940.93thinking cut off0.30thinking cut off0.92thinking cut off
A-068csv toolBrowser APIs31.00●●●1.001.00thinking cut off0.93thinking cut off1.00thinking cut off
A-069range sliderBrowser APIs41.00●●●1.001.00thinking cut off0.30thinking cut off1.00thinking cut off
A-070fix mobile overflowBug fixing31.00●●●1.001.00thinking cut off1.00thinking cut off1.00thinking cut off
A-071fix event bugsBug fixing21.00●●●1.001.00thinking cut off1.00thinking cut off1.00
A-073fix a11y auditBug fixing31.00●●●0.830.86thinking cut off1.00thinking cut off0.83thinking cut off
A-074fix scroll jankBug fixing31.00●●●1.001.00thinking cut off0.30thinking cut off1.00thinking cut off
A-075fix listener leakBug fixing31.00●●●1.001.00thinking cut off1.001.00
A-076fix optimistic postBug fixing31.00●●●1.001.00thinking cut off1.00thinking cut off1.00thinking cut off
A-077fix dates dstBug fixing41.00●●●1.001.00thinking cut off1.00thinking cut off1.00thinking cut off
A-078fix invoice mathBug fixing31.00●●●0.251.00thinking cut off1.00thinking cut off0.11thinking cut off
A-079fix focus orderBug fixing31.00●●●1.001.00thinking cut off1.00thinking cut off1.00thinking cut off
A-080fix stackingBug fixing41.00●●●1.001.001.00thinking cut off1.00thinking cut off
A-081fix form payloadBug fixing31.00●●●0.880.88thinking cut off1.001.00thinking cut off
A-082fix grapheme counterBug fixing31.00●●●1.001.00thinking cut off0.30thinking cut off1.00thinking cut off
A-083fix file sortBug fixing31.00●●●1.001.000.891.00
A-084react fetch listFramework31.00●●●1.001.00thinking cut off1.00thinking cut off1.00thinking cut off
A-085react context cartFramework31.00●●●1.001.00thinking cut off1.00thinking cut off1.00thinking cut off
A-086react ts formFramework41.00●●●1.001.00thinking cut off1.001.00
A-087react virtual listFramework40.93●●●0.930.91thinking cut off0.91thinking cut off0.91thinking cut off
A-088react stale closureFramework31.00●●●1.001.00thinking cut off1.00thinking cut off1.00
A-089react optimisticFramework41.00●●●0.00no build, hit max tokens0.94thinking cut off0.30thinking cut off0.88thinking cut off
A-090vue filter panelFramework41.00●●●0.941.00thinking cut off0.92thinking cut off1.00thinking cut off
A-091vue v modelFramework31.00●●●0.950.94thinking cut off0.94thinking cut off0.94thinking cut off
A-093svelte store cartFramework31.00●●●0.00no build1.00thinking cut off1.00thinking cut off0.90thinking cut off
A-094svelte toastsFramework31.00●●●0.231.00thinking cut off1.00thinking cut off1.00thinking cut off
A-095ts typed emitterFramework41.00●●●0.00no build, hit max tokens1.00thinking cut off1.00thinking cut off1.00thinking cut off
A-096express notesFull-stack30.98●●●0.691.00thinking cut off1.00thinking cut off0.98thinking cut off
A-097fastapi uploadFull-stack31.00●●●1.001.00thinking cut off1.00thinking cut off1.00
A-098session loginFull-stack40.98●●●0.940.98thinking cut off0.95thinking cut off0.95thinking cut off
A-099websocket chatFull-stack40.98●●●0.141.00thinking cut off1.00thinking cut off1.00thinking cut off
A-100jinja ssr searchFull-stack30.92●●●0.921.00thinking cut off0.78thinking cut off0.12thinking cut off
A-101sse progressFull-stack40.98●●●0.980.98thinking cut off0.98thinking cut off1.00thinking cut off
A-102etag conditionalFull-stack40.98●●●0.940.94thinking cut off0.79thinking cut off0.94thinking cut off
A-103progressive formFull-stack31.00●○●0.00no build, hit max tokens1.00thinking cut off1.00thinking cut off0.00no build
A-104rate limit loginFull-stack40.98●●●0.301.00thinking cut off0.82thinking cut off1.00thinking cut off
A-105strict cspFull-stack40.98●●●0.981.00thinking cut off0.98thinking cut off1.00thinking cut off
A-106react error boundaryReact31.00●●●1.001.00thinking cut off1.00thinking cut off0.91thinking cut off
A-107react portal modalReact41.00●●●1.000.92thinking cut off0.54thinking cut off1.00thinking cut off
A-108react external storeReact31.00●●●1.001.00thinking cut off1.00thinking cut off1.00thinking cut off
A-109react otp imperativeReact31.00●●●1.001.00thinking cut off1.00thinking cut off1.00thinking cut off
A-110react memo gridReact41.00●●●1.001.00thinking cut off0.08thinking cut off1.00thinking cut off
A-111react use formReact41.00●●●0.00no build, hit max tokens1.00thinking cut off1.00thinking cut off1.00thinking cut off
A-112react query cacheReact41.00●●●1.001.00thinking cut off1.00thinking cut off1.00thinking cut off
A-113react lazy retryReact41.00●●●1.001.00thinking cut off1.00thinking cut off1.00
A-114react checkbox treeReact31.00●●●1.001.00thinking cut off1.00thinking cut off1.00thinking cut off
A-115react compound tabsReact31.00●●●1.001.00thinking cut off1.00thinking cut off1.00thinking cut off
A-116react key resetReact31.00●●●1.001.00thinking cut off1.00thinking cut off1.00
A-117react layout tooltipReact31.00●●●1.001.00thinking cut off0.00thinking cut off1.00thinking cut off
A-118react ts generic tableReact41.00●●●1.001.00thinking cut off1.00thinking cut off1.00thinking cut off
A-119react ts reducer unionReact41.00●●●0.301.00thinking cut off0.30thinking cut off1.00
A-120next static blogNext.js31.00●●●0.950.300.30thinking cut off1.00
A-121next search paramsNext.js31.00●●●1.000.00no build, hit max tokens0.79thinking cut off0.93
A-122next route handlersNext.js31.00●●●1.000.93thinking cut off1.00thinking cut off1.00thinking cut off
A-123next server action formNext.js41.00●○●1.001.00thinking cut off0.09thinking cut off1.00thinking cut off
A-124next middleware authNext.js41.00●●●0.00no build0.87thinking cut off0.00no build, thinking cut off0.00no build, thinking cut off
A-125next loading errorNext.js41.00●●●1.001.001.00thinking cut off1.00
A-126next client islandNext.js31.00●●●1.000.00no build, thinking cut off1.00thinking cut off1.00thinking cut off
A-127next metadata seoNext.js31.00●●●0.301.000.00no build1.00thinking cut off
A-128next i18n segmentsNext.js41.00●●●1.001.00thinking cut off1.00thinking cut off1.00thinking cut off
A-129next layout templateNext.js31.00●●●1.001.000.00no build1.00
A-130next intercepting modalNext.js51.00●●●0.00no build, hit max tokens1.001.001.00
A-131next streamingNext.js31.00●●●1.001.000.89thinking cut off1.00
A-132next revalidateNext.js41.00●●●1.001.00thinking cut off1.00thinking cut off1.00
A-133next cursor apiNext.js41.00●●●1.000.00no build, hit max tokens1.00thinking cut off1.00thinking cut off
A-134next config routingNext.js31.00●●●1.001.000.00no build, thinking cut off1.00
A-135next ts typed routesNext.js41.00●●●1.000.880.00no build, thinking cut off1.00
A-136next search params clientNext.js31.00●●●1.001.00thinking cut off1.00thinking cut off0.90thinking cut off
A-137next use optimisticNext.js41.00●●●1.001.00thinking cut off0.00no build, thinking cut off1.00thinking cut off
A-138next cookie cartNext.js41.00●●●0.300.30thinking cut off0.30thinking cut off1.00thinking cut off
A-139next ts server actionNext.js40.88○○●1.000.30thinking cut off0.30thinking cut off0.88thinking cut off

Score is the functional score of the first sample (1.00 = every check passes). Green is a strict pass, amber a near miss at 0.80 or above, red means nothing built. Sonnet runs: ● pass, ○ fail, for each of its three samples.

Sonnet 5.5, ariane and Swift on SGLang

The same Swift-1.5 Qwen3.8-27B NVFP4 weights served two ways: ariane is vLLM 0.31, "Swift on SGLang" is SGLang 0.5.22 with its own MTP draft head. Both split the model across two RTX 5060 Ti cards. Sonnet 5.5 is the reference. Measured 2026-10-27 with the same webbench, grill and lm-eval harness.

MeasureSonnet 5.5ariane (vLLM)Swift on SGLang
Webbench · 134 tasks · first sample
Strict passes1299596
First 100 tasks / new 34 (React + Next.js)96 / 3367 / 2868 / 28
Mean score (partial credit)0.990.810.83
Score at least 0.80133106105
Output built and ran134122129
Hit the 32k output cap0105
Median output tokens per task2,87214,42014,816
Median decode speed per task (tok/s)1586674
Whole suite, wall hours0.79.27.7
Canonical grill · 23 tasks · 3 runs
Passes per run22, 22, 2222, 22, 2220, 22, 22
Mean22.0022.0021.33
Long-horizon agent round, /6 per run6, 6, 65, 5, 55, 5, 6
Output tokens per grill run12,02553,94959,726
Grill task time per run (min)1.612.914.3
Vision · 52 images · 3 runs
Passes per run43, 43, 44 (7 photos refused by API)48, 49, 49not run: served text-only
lm-eval side axis (20 samples each, not in the grill score)
GSM8K strict1.000.950.80
IFEval prompt-level strict0.75, 0.75, 0.600.700.75
Serving on this box
Enginen/a (cloud)vLLM 0.31.0, TP=2, MTP with 3 speculative tokensSGLang 0.5.22, TP=2, MTP with 3 speculative tokens
Context windown/a182,978 tokens (163,840 when graded)131,072 tokens (KV pool 136,569; the MTP draft head loads its own 2.8 GiB embed/head on each card)
Concurrent requestsn/a41 (more does not fit with MTP)
Visionyesyes, up to 4 images per promptno, text-only configuration

Same weights, same score; different tasks. Over the 134 webbench tasks both have finished: 74 passed by both, 21 by ariane only, 22 by Swift on SGLang only, 17 by neither. With one sample each, the two lists differ by sampling noise, so the one-task gap in total passes means nothing. SGLang built more of its projects (129 against 122), hit the output cap half as often and decoded faster per task, but the pass count did not follow.

Sampling differs: webbench sent no temperature to either server; Swift on SGLang then runs the model card's temperature 1.0 (top_p 0.95, top_k 20) with reasoning effort set to the maximum. The grill ran at temperature 0.2 for ariane and at the server default for Swift on SGLang, so the grill rows are not exactly like for like. Neither server had a reasoning budget. SGLang needed a patched launch (--enable-linear-replayssm-spec, single request, 0.98 memory fraction) to fit MTP at all; without MTP its pool grows to 239,516 tokens at about 38 tok/s.