Skip to content

⚙️ Benchmark evaluation configuration

Generated from evals/lib/eval-config.ts at 2026-06-07T10:59:48.499Z. Regenerate: npm run eval:export-config.

Provider

FieldValue
APIOpenRouter
Endpointhttps://openrouter.ai/api/v1/chat/completions
HTTP-Refererhttps://github.com/wci-framework
X-TitleWCI Benchmark Eval

Inference settings

Published multi-step (eval:multistep)

ParameterValue
temperature0
max_tokens800
reasoning.effortlow
minCoverage (default)0.8
passRuleunified

Single-shot (eval:benchmark, not on demo leaderboard)

ParameterValue
temperature0
max_tokens1000
reasoning.effortlow

Models (OpenRouter slugs)

IDDisplay nameOpenRouter modelInput $/1M tokens
gpt5NanoGPT-5 Nanoopenai/gpt-5.4-nano0.05
gpt5GPT-5openai/gpt-5.41.25
gemini35FlashGemini 3.5 Flashgoogle/gemini-3.5-flash0.2
qwen25_7bQwen 2.5 7Bqwen/qwen-2.5-7b-instruct0.04
llama31_8bLlama 3.1 8Bmeta-llama/llama-3.1-8b-instruct0.03
gptoss20BGPT-OSS 20Bopenai/gpt-oss-20b0.04

Context limits

Multi-step

  • raw HTML cap: 12000 chars
  • DOM outline: 55 lines
  • interactive candidates: 40
  • WCI pipe budget (grounding): 2400 chars
  • WCI pipe budget (full): 3200 chars

Single-shot

  • raw HTML cap: 28000 chars
  • DOM outline: 100 lines
  • interactive candidates: 60

Multi-step system prompts (published leaderboard)

raw-html

You are a web automation agent on raw HTML. Reply with JSON only: {"actions":[{"type":"observe|reason|act|verify","step":"brief","target":"..."}],"final_action":"valid CSS selector"}. No markdown or text outside JSON. final_action is the single scored control that completes the goal (not a follow-up confirm/checkout step). Use actions for prerequisite observe/recovery steps. final_action must be one valid CSS selector.

dom-outline

You are a web agent using a DOM outline. Reply with JSON only: {"actions":[{"type":"observe|reason|act|verify","step":"brief","target":"..."}],"final_action":"valid CSS selector"}. No markdown or text outside JSON. final_action is the single scored control that completes the goal (not a follow-up confirm/checkout step). Use actions for prerequisite observe/recovery steps. final_action must be one valid CSS selector.

interactive-candidates

You are a Mind2Web-style agent. Candidates omit #ids on purpose. Use button text, classes, and data-* context to disambiguate. Reply with JSON only: {"actions":[{"type":"observe|reason|act|verify","step":"brief","target":"..."}],"final_action":"candidate index (e.g. "12") or CSS selector"}. No markdown or text outside JSON. final_action is the single scored control that completes the goal (not a follow-up confirm/checkout step). Use actions for prerequisite observe/recovery steps.

wci-full

WCI agent. WCI_NODES v2: N[]=pipe rows id|a|d|p|x|s|r (omit empty). a: c=click f=fill s=select S=submit. s: k:v (!=disabled). x=competitor trap — never final_action. p=1 is high salience but may include traps; use desc+goal. final_action=exact row id that completes the goal. Never CSS.

wci-grounding

WCI agent. WCI_NODES v2: N[]=pipe rows id|a|d|p|x|s|r (omit empty). a: c=click f=fill s=select S=submit. s: k:v (!=disabled). x=competitor trap — never final_action. p=1 is high salience but may include traps; use desc+goal. final_action=exact row id that completes the goal. Never CSS.

Single-shot system prompts (eval:benchmark)

raw-html

You are a web automation agent. Reply with ONE line only: a valid CSS selector for the element that achieves the goal. No markdown, no quotes, no explanation.

dom-outline

You are a web agent using a DOM outline. Output ONLY one CSS selector for the element that best achieves the goal. No explanation.

interactive-candidates

You are a Mind2Web-style agent. Candidates omit #ids on purpose. Use button text, classes, and data-* context to disambiguate. Output ONLY the candidate index number (e.g. 12) OR a CSS selector for the best match. No explanation.

wci-full

You are a WCI agent on the full distilled graph (landmarks, forms, actions). Apply every constraint in the GOAL. Prefer node ids that have an "action" field (click/select/fill) over landmarks or displays. Reply with ONE line: the exact "id" only. No CSS, no markdown, no explanation.

wci-grounding

You are a WCI grounding agent. The JSON lists only actionable nodes (click/select/fill), with state and scope_context (e.g. stops, price). Apply every constraint in the GOAL. Pick the single node id that completes the goal given current state. Do not invent ids. Reply with ONE line: the exact "id" only. No CSS, no markdown, no explanation.

Multi-step user block

Each call sends one user message built from (in order):

  • GOAL: task goal
  • FLOW: expected flow-type bucket sequence (sanitized)
  • up to 3 PREREQ: lines
  • RULE: completion criteria (filtered) + scored final_action rule
  • context block (WCI_NODES:, DOM_OUTLINE:, CANDIDATES:, or HTML:)
  • reply format line

Scored final_action rule:

Scored final_action: the one control that completes this goal .

Reply format suffix:

Reply JSON only: {"actions":[{"type":"observe|reason|act|verify","step":"brief","target":"..."}],"final_action":"<hint>"}