AHD · Eval report · 9 June 2026 · weekly · CF OSS n=30
Three reduced. Two couldn't follow.
The first run on the automated weekly cadence. Five Cloudflare
Workers AI open-source models against swiss-editorial,
n=30 per cell, source-linter only. Three models cut tells by 54 to
73 percent under the compiled prompt. Two stayed flat. The flat
cells are the interesting result: the prompt transmitted fine, but
two models could not execute the per-size hierarchy it asks for.
Per-model reduction
| Model | Raw mean tells | Compiled mean tells | Reduction |
|---|---|---|---|
@cf/google/gemma-4-26b-a4b-it | 2.67 | 1.23 | 53.8% |
@cf/meta/llama-4-scout-17b-16e-instruct | 2.00 | 2.00 | 0.0% |
@cf/mistralai/mistral-small-3.1-24b-instruct | 3.40 | 1.07 | 68.6% |
@cf/openai/gpt-oss-120b | 3.17 | 0.87 | 72.6% |
@cf/qwen/qwen3-30b-a3b-fp8 | 1.93 | 2.00 | -3.4% |
Mean source-level tells per scored sample, raw versus compiled. All five cells scored 30 of 30 attempted, both conditions. Lower is better.
What the flat cells mean
llama-4-scout does not fail by ignoring the prompt. It
fails by trading one set of tells for another. Under the compiled
prompt it stops firing ahd/require-named-grid and
ahd/require-type-pairing (both 100 percent to 0
percent), which is the prompt working. In the same move it starts
firing ahd/line-height-per-size and
ahd/radius-hierarchy at 100 percent, where the raw
condition fired neither. Net change: zero.
Those two rules fire only when a page declares a single
line-height across every size, or a single medium border-radius
across every surface. The swiss-editorial token
states the opposite outright: three line-heights (display 1.05,
h2 1.2, body 1.5) and a sharp-by-default radius scale. The three
models that reduce follow that guidance, so the rules cannot fire
on them. llama-4-scout collapses it to one global
line-height and one uniform radius, so both rules fire. The same
compiled prompt produces ahd/line-height-per-size at
0 percent on gpt-oss-120b and at 100 percent on
llama-4-scout. That gap is the model, not the rule.
The 0-to-100 jump reads as a regression only because the linter
scores what a page declares, not what it omits. Raw
llama-4-scout declared no line-height and no single
radius at all, so the rules stayed silent on browser defaults.
Compiled llama-4-scout declared both, uniformly, and
earned the flag. The page genuinely has flat type and surface
hierarchy where the raw page had none to measure.
qwen3-30b follows the same shape at a smaller
magnitude, which is why it lands at minus 3.4 percent rather than
flat.
What this run measures, and what it does not
Web and UI surface only. Five Cloudflare Workers AI open-source
models, served by one host. The deterministic source linter (38
rules) over rendered-free HTML. No vision critic on rendered
pixels, so the fourteen vision rules are out of scope here. No
frontier cells. No image generation. One brief
(briefs/landing.yml), one token. Tells per page is a
proxy: a thin page gives the rules little to fire against, so read
each delta next to the rendered output, not in isolation.
Per-tell frequency
| Tell | gemma-4 | llama-scout | mistral | gpt-oss | qwen3 |
|---|---|---|---|---|---|
body-measure | 0 → 0 | 0 → 0 | 0 → 0 | 0 → 0 | 0 → 3 |
line-height-per-size | 87 → 0 | 0 → 100 | 53 → 20 | 100 → 0 | 80 → 57 |
no-default-grotesque | 0 → 0 | 0 → 0 | 0 → 0 | 0 → 3 | 0 → 0 |
no-em-dashes-in-prose | 0 → 0 | 0 → 0 | 0 → 0 | 7 → 0 | 0 → 0 |
no-flat-dark-mode | 7 → 0 | 0 → 0 | 0 → 0 | 0 → 0 | 10 → 0 |
radius-hierarchy | 50 → 10 | 0 → 100 | 100 → 0 | 77 → 7 | 23 → 43 |
require-named-grid | 0 → 0 | 100 → 0 | 100 → 47 | 30 → 0 | 0 → 0 |
require-type-pairing | 23 → 0 | 100 → 0 | 87 → 0 | 53 → 0 | 70 → 0 |
tracking-per-size | 0 → 27 | 0 → 0 | 0 → 30 | 0 → 3 | 0 → 0 |
weight-variety | 100 → 87 | 0 → 0 | 0 → 10 | 50 → 73 | 10 → 97 |
Percent of scored samples in each cell where the rule fired, raw
→ compiled. Column heads abbreviate the model ids from the table
above; rule names drop the ahd/ prefix. Rules that
fired in no cell are omitted. The llama trade reads straight off
the middle rows: named-grid and type-pairing collapse to zero
while line-height and radius jump to 100 percent.
The receipts
This run: ahd 0.11.0, token swiss-editorial (hash
380a3d833d94), brief briefs/landing.yml
(hash 8b7d42759643), run manifest with sixty captured
provider request IDs per model. The canonical report with the full
replay manifest and exact replay command is committed to the
framework repository at
docs/evals/weekly/2026-06-09.md, generated by the
weekly workflow and merged through the same test
gate as any change to the repository.
Adjacent: all runs, methodology, the taxonomy, contribute a run.