AI model evaluation

Divine Power · Shopify client work

Can open-weight models do real store work? I tested them on 18 real client scenarios.

Open-weight models are far cheaper than Claude. The question was whether they could take over routine Shopify work on live client stores. I designed an evaluation on 18 real scenarios from client projects, scored by objective build, render and accessibility gates, with a model judge for craft on top. It ended in a routing rule: localized bug fixes go to models 10 to 60 times cheaper at reference-equivalent quality, and judgment calls stay on the frontier model.

Problem
Open-weight models are far cheaper than Claude, but price says nothing about whether they can do real client work.
My role
Designed the test set, the scoring and the routing rules; built the harness with AI coding tools.
What I did
18 scenarios mined from real client git history, each run twice, scored by build, render and accessibility gates, with a model judge for craft on top.
Outcome
A routing guide by task type: localized bug fixes on models 10 to 60 times cheaper at reference-equivalent quality, judgment on the frontier model.
Grid of a model judge's craft scores, 0 to 4 against the reference fix, for DeepSeek V4 Pro, GLM 5.2, Kimi 2.7 Code, MiniMax M3 and Qwen 3.7 Plus. The four localized bugs score 3 or 4 except one 2; the judgment trap scores 1 to 3; the multi-file feature scores 0 to 3.
From the evaluation's results: a model judge's craft score (0–4), six of the 18 scenarios, one run per cell. The same scores are in the table below.

How the test worked

  1. Real scenarios

    • 18 scenarios mined from the git history of real client projects
    • The answer key is the fix that actually shipped
  2. Harsh on purpose

    • A trap where the right answer was to change nothing
    • A multi-file feature I expected every model to fail
    • Each scenario run twice: from a symptom-level ticket, then with the diagnosis given
  3. Objective checks first

    • Build, render and accessibility gates decide pass or fail; a build that fails one can't pass on craft
    • Same tools, instructions, runtime and judge for every model

Running each scenario twice separates "can it think" from "can it type", and the two route differently. I wanted the boundary, not the average, so the set was built to find where each model stops. Before publishing, I tested the harness itself and fixed two bugs in it.

What the models did

TaskDeepSeek V4 ProGLM 5.2Kimi 2.7 CodeMiniMax M3Qwen 3.7 Plus
Localized bug: linked-only render34432
Localized bug: text echo removal44444
Localized bug: cross-sells self-hide34443
Localized bug: variant price on load34444
Judgment trap: admin overflow23313
Multi-file feature: renamable nicknames23301

Each cell is the symptom-ticket run. Single runs are directional. On localized bugs, all but one score was a 3 or a 4. On the judgment trap the best result was a workaround. On the multi-file feature, none finished: the best were partials. Quality depended on the task type, not on the model, so one overall pass rate would have hidden exactly the class that fails.

How the scores were made

Every run was isolated from the repository and history holding the shipped fix, so no model could read the answer. Objective gates decide pass or fail: it builds, renders with zero console errors, passes accessibility checks and meets scripted acceptance criteria.

The 0–4 score in the table and chart is a judge model's rating against the shipped fix, on top of the gates. It is not objective, and each cell is a single run (n = 1).

The judge was Claude and the reference fixes were Claude-authored. I documented that self-reference risk myself and leaned on the gates; every result shipped as the score, the actual diff and the judge's reasoning.

What it decided

Task typeRouteWhy
Localized bug: one surface, clear symptomOpen-weight modelReference-equivalent quality, 10 to 60 times cheaper
Judgment: is a change even needed?Frontier modelPassing the gates isn't enough; none matched the reference answer: write no code
Hard multi-file featureFrontier modelOpen-weight models deliver partials

The output is a routing guide the build agents read: task type, model, expected cost and confidence, with every claim tagged proven, directional or single observation.

Results

18

real client scenarios, each scored against the fix that actually shipped

Every run was isolated from the code history that held the fix

10–60x

cheaper models on localized fixes, at reference-equivalent quality

Judgment calls stay on the frontier model

Client details are omitted or blurred for confidentiality.