π Benchmark overview β
Public summary of the 50-scenario WCI grounding benchmark shown on the demo site. For full commands, scoring math, and per-model tables, see the developer guide in evals/README.md.
π― What we measure β
Can an LLM pick the right control for a task when given different views of the same page?
Each scenario is a fictional web UI (checkout, banking, job board, etc.) with a verified ground-truth target. Models answer via OpenRouter chat completions β not proprietary agent SDKs or live browser loops.
π¬ Five approaches (same task, different context) β
| Approach | What the model sees |
|---|---|
| Raw HTML | Full unannotated page (truncated if huge) |
| DOM outline | Shallow tag tree with interactive nodes marked |
| Interactive candidates | Numbered list of up to 50 scraped controls |
| WCI full | All annotated WCI nodes from annotated.html |
| WCI grounding | Actionable WCI nodes only β the headline WCI score |
WCI grounding is what you ship to an agent: a compact menu of controls with descriptions, state, and preconditions. WCI full is an ablation on the same annotations (full graph, no actionable filter).
Baseline approaches simulate agents without WCI annotations. The gap between baselines and WCI grounding is the benefit of the annotation layer β that asymmetry is intentional.
β Pass rule (all approaches) β
A run passes when all of the following hold:
- Correct
final_actionβ the model's chosen control matches ground truth (WCI node id or CSS selector, depending on approach). - No decoy β on WCI paths, the model did not pick a competitor trap node (
data-wci-competitor="true"). - Flow coverage β₯ 0.8 β the model's action plan covers enough of the expected flow types (observe, act, verify).
Published leaderboard numbers use this unified pass rule with minCoverage 0.8.
ποΈ Dataset β
- 50 scenarios β five handmade (flight booking, banking, checkout, admin dashboard, social feed) and 45 synthetic layouts.
- Each scenario ships raw HTML, annotated HTML, and five context representations.
- Published on Zenodo (CC BY 4.0). Browse live at
/demo/scenarios.html.
βοΈ What the numbers support β
| Claim | Supported? |
|---|---|
| WCI grounding helps models pick the right control vs raw DOM | Yes β primary comparison |
| WCI grounding uses far fewer tokens than raw HTML | Yes β typically ~5β8Γ fewer per call |
| Which OpenRouter models ground best on this fixture set | Yes β compare models on the same input |
β What the numbers do not prove β
- Not a full autonomous agent benchmark β each task is one LLM plan + one scored
final_action, not a multi-turn observeβact loop. - Not live web browsing β static HTML fixtures in headless Chromium, not dynamic SPAs or auth flows.
- Not annotation-free β WCI paths assume correct
data-wci-*annotations already exist. - Not end-user outcomes β success means the chosen element matches ground truth, not "payment cleared" or "form submitted to a backend."
π Where to go next β
| Resource | Contents |
|---|---|
| Demo results | Live charts, leaderboard, model prompts |
| Benchmark eval config | OpenRouter slugs, temperature, system prompts |
evals/README.md | Full methodology, commands, limitations, analysis |
| Zenodo dataset | Download scenarios.zip to reproduce |
Reproduce locally
npm install
npx playwright install chromium
export OPENROUTER_API_KEY=sk-or-...
npm run eval:multistep -- --models=gpt5Nano --scenarios=banking,checkout
npm run eval:merge-leaderboard