AHD Artificial Human Design

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 →  20100 →   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 → 100100 →   0 77 →   7 23 →  43
require-named-grid   0 →   0100 →   0100 →  47 30 →   0  0 →   0
require-type-pairing  23 →   0100 →   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.