MEASURED RUNS · RAW EPISODES INCLUDED

Browser automation
with the limits in view.

Real BrowserGym MiniWoB runs from this repository. Each report keeps task success, latency, failures, and the environment together so a small smoke run stays a small claim.

125-TASK MINIWOB CATALOG SWEEP · ONE SEED

34 of 125 tasks reached full reward.

This Windows CPU run covers the 125 tasks registered in the pinned BrowserGym MiniWoB package, using seed 7 and at most 12 bounded BrowserManager action rounds per task. It measures a tool integration path with the local semantic provider and exact local rules; it is not a full autonomous agent or a general web task score. The failures remain in the report so the limits are visible.

Every task requires raw reward ≥ 1.0. 2 other tasks earned positive partial raw reward; the remaining 89 had zero or negative raw reward. The run had 0% harness timeouts. Only browser_connect, browser_decide_and_act, and browser_confirm were exercised. This is one seed from one host, not a held-out quality estimate.

34 succeeded91 did not reach full reward0 harness timeouts

FULL TASK REWARD

34/12527% on this one-seed catalog sweep

BROWSER LOOP P50 / P95

265 / 990ms125 episodes; includes BrowserManager inspection and action

MODEL CALL P50 / P95

174 / 216ms55 CPU calls; exact local rules made the other selections

END-TO-END P50 / P95

1577 / 2299msIncludes environment reset for each task

Base source: a83586d; the tracked working tree was clean during this run. BrowserGym 0.14.3, MiniWoB++ commit 7fd85d7, Node v22.14.0, Python 3.12.13, Windows 10, CPU. The pinned task list and raw episode summary are available in the repository.

26-TASK MINIWoB MULTI-TOOL RUN

26 of 26 tasks succeeded.

This Windows CPU run completed 26/26 curated MiniWoB tasks with no harness timeouts. It exercises DOM selection, bounded form/table workflows, sliders, and OCR clicks on the visual-only ascending-numbers task. The read-only date-picker regression selects the exact visible day before separately asking approval to submit. The daily-calendar flow calls the OCR-capable viewport-scroll tool, then uses explicit task values and fixed coordinates from the pinned page's 332×214 pixel grid for an approval-gated drag and local event creation. This is a visual-tool integration check, not OCR target detection, a general vision-model result, or autonomous coding-agent score.

Task success requires a raw MiniWoB reward of at least 1.0; positive partial rewards count as failures. This avoids BrowserGym 0.14.3's partial-reward-to-success conversion documented in upstream issue 392.

26 succeeded0 did not reach the task goal0 harness timeouts

TASK SUCCESS

26/26100% on this curated set

BROWSER LOOP P50

0.33sIncludes tool actions and inspection

BROWSER LOOP P95

0.94sIncludes browser inspection, selection, and actions

DECISION CALL P95

188msThree local semantic calls across 26 episodes

REPRODUCTION DETAILS

A CPU run with a fixed DOM task set.

Base source commit
e988856 · benchmark used a modified working tree
Benchmark
BrowserGym MiniWoB 0.14.3
Browser and runtimes
HeadlessChrome/125.0.6422.26 · Node v22.14.0 · Python 3.12.13 · Playwright Python 1.44.0 / Node 1.63.0
Machine
Windows 10 Pro ·
Runner
Native Windows browser process · CPU · no Docker container
Task set
26 curated DOM and visual tasks · seed 7 · eight actions per task
Model path
Local semantic rules, OCR, and the pinned calendar's fixed pixel-grid flow

PAIRED BROWSER PROVIDER RUN · CPU

The same DOM tasks, with both local providers.

Five seeds repeated the same eight MiniWoB tasks for each provider on Windows 10 and a Ryzen 5 5600H CPU. All 40 episodes per provider reached full task reward without a harness timeout or an outcome disagreement. Only 11 episodes per provider called the semantic model; all other selections came from exact local rules.

Forty episodes per provider · first model inference in a fresh bridge process · model files cached
ProviderTask successEnd-to-end p50 / p95Browser loop p50 / p95Decision call p50 / p95Mean action rounds
MiniLM · semantic-local40/401716 / 2353 ms394 / 1001 ms173 / 182 ms (n=11)1.50
NLI · semantic-nli40/401715 / 2455 ms393 / 1096 ms810 / 848 ms (n=11)1.50
MiniWoB CPU semantic decision latency chart: MiniLM p50/p95 173/182 milliseconds, NLI 810/848 milliseconds, with 11 calls per provider.
Real decision-call measurements from the linked 40-episode reports; this graph excludes deterministic local-rule selections.

In this CPU run, NLI's model-call p50 was about 4.7× MiniLM's (810 ms vs 173 ms). The median paired delta for the full browser loop was only +6 ms because model inference occurred in 11 of 40 episodes and environment reset dominates total time. Every episode starts a fresh bridge, so these model calls include process-level pipeline initialization; this does not measure warm requests to a persistent MCP server, GPU latency, or broad task quality. Confidence estimates remain uncalibrated. The measurement supports no general speed claim.

EXTERNAL YES/NO VALIDATION · FULL 3,270-ROW SPLIT

Neither local model beat the majority baseline.

We ran the default local MiniLM and optional local NLI providers on every example in the pinned Google BoolQ validation split. Each item combines a passage with a human-annotated yes/no question. The three conditions ran on Windows 10, Node 22.14.0, AMD Ryzen 5 5600H; all 3,270 examples are paired. The split's majority answer is “yes” (2,033/3,270, or 62.2%).

One local process per condition · same pinned labels and host · warm latency excludes initialization
Local model and deviceCorrectAccuracyBrier scoreECEFirst callWarm p50 / p95
MiniLM · CPU1,864/3,27057.0%0.4920.043242 ms16 / 49 ms
MiniLM · DirectML requested1,870/3,27057.2%0.4910.044550 ms104 / 149 ms
NLI · CPU1,626/3,27049.7%0.5220.0841151 ms59 / 145 ms
On the 3,270-example BoolQ validation split, MiniLM accuracy was 57.0% on CPU and 57.2% with DirectML requested; optional NLI accuracy was 49.7% on CPU. All were below the 62.2% majority baseline. Warm p95 latency was 49, 149, and 145 milliseconds respectively.
Accuracy and warm p95 are from the unprofiled full-split runs. A separate 30-row trace observed mixed DirectML and CPU execution; profiling overhead is excluded.

All three conditions fell below the 62.2% majority baseline (MiniLM CPU -5.2 points; MiniLM DirectML -5.0; NLI CPU -12.4). DirectML returned six more correct answers than MiniLM CPU, while their settings disagreed on 302 predictions. CPU NLI answered 1,626 correctly versus 1,864 for MiniLM and disagreed on 1,728 predictions; MiniLM alone was correct on 983 paired cases, NLI alone on 745 paired cases. NLI's warm p95 was 145 ms versus 49 ms for MiniLM CPU. These are one run per model and do not establish statistical significance or broad quality. A separate profile on 30 evenly spaced validation rows recorded 5,340 DmlExecutionProvider and 60 CPUExecutionProvider node events (5,400 total). This confirms mixed provider execution for those inputs; event counts do not measure compute share. Confidence is uncalibrated; Brier and ECE are descriptive.

Dataset: Google BoolQ validation split, pinned revision 35b264d03638db9f4ce671b711558bf7ff0f80d5, licensed CC BY-SA 3.0; see the BoolQ paper and data license notice. Dataset passages and questions were used locally and are not included in the reports. Model overlap with pretraining data is unknown. MiniLM reports were recorded at commit ed1cbf7, NLI at 6073828; the model-cache directory existed before these runs, but individual files were not checked.

LOCAL DECISION DEVICE CHECK

CPU was faster on this small model.

Each device row summarizes five matched runs over the same 30 project-specific labels on one Windows 10 Ryzen 5 5600H laptop with a GeForce GTX 1650 (4 GB, reported by nvidia-smi). The model-cache directory existed before each process, but individual cached files were not checked. A separate DirectML profile records which ONNX execution provider handled each node.

Five paired runs · 29 warm calls per run · labels are not held out
DeviceFirst call median (incl. init)All-call p95 (n=150)Warm p50 / p95 mediansChoiceYes/noScore MAEBrier: Choice / yes-noECE (n=20)
CPU242 ms21 ms13 / 21 ms (p95 range 20–21; n=29/run)7/105/101.0420.403 / 0.5060.061
DirectML + CPU fallback474 ms148 ms96 / 138 ms (p95 range 137–149; n=29/run)7/105/101.0380.399 / 0.5050.065

Across these five pairs, CPU warm p95 had a 21 ms median (20–21 ms across run p95s); DirectML had a 138 ms median (137–149 ms) and was slower in every pair. The nearest-rank p95 across all 150 CPU calls was 21 ms; across all 150 DirectML-requested calls it was 148 ms. A separate 30-call ONNX profile observed 5,340 DmlExecutionProvider node events and 60 CPUExecutionProvider events (178 and 2 per call). This verifies DirectML execution with some CPU fallback, but node counts do not measure compute share. Every warm p95 in these runs stayed below 500 ms; DirectML first-call latency included initialization, with a 474 ms median and 693 ms maximum. This one machine and non-held-out fixture do not establish a general speed guarantee, full browser latency target, or GPU advantage. Confidence estimates remain uncalibrated; ECE is descriptive only.

NLI DEVICE REPEATS · WINDOWS CPU AND DIRECTML

DirectML was slower for this NLI workload.

Five separate Node processes per device ran the same 30 project-authored confirmation labels with Xenova/nli-deberta-v3-small. The cache directory existed before each process, though individual files were not checked. The host was Windows 10, Node 22.14.0, Ryzen 5 5600H, and an operator-reported GTX 1650 (4,096 MiB shown by nvidia-smi). Reports identify commit c3449c3 and an unmodified tracked tree.

Five process runs per device · 30 repeated labels per run · latency uses 150 calls per device; quality is one 30-answer output set
Requested deviceFirst call median (max)All-call p95Warm p50 / p95 mediansChoiceYes/noScore MAE
CPU923 (941) ms92 ms (n=150)43 / 83 ms (p95 range 81–102)6/108/101.146
DirectML + CPU fallback1650 (1671) ms657 ms (n=150)362 / 654 ms (p95 range 646–657)7/108/101.089
Five repeated NLI runs on one Windows laptop: median warm p95 was 83 milliseconds on CPU, range 81 to 102, and 654 milliseconds with DirectML requested, range 646 to 657.
Median of five per-process warm p95 values; whiskers show the five-run range. Each run handled the same 30 labels.

CPU was faster in all five matched pairs. Its median warm p95 was 83 ms; with DirectML requested it was 654 ms, about 7.9× slower. First calls include pipeline initialization. CPU and DirectML outputs were stable across their five repeated processes; the two device settings disagreed on 11 of 30 predictions in the paired outputs. Choice was 6/10 on CPU and 7/10 with DirectML; yes/no was 8/10 for each, and Score MAE was 1.146 vs 1.089. Repeating these same project-authored labels does not create independent quality examples; this is not a held-out quality estimate.

The same device pair in the MiniWoB browser loop

Five seeds repeated the same eight DOM tasks per device (40 episodes each). Every episode earned full reward, there were no timeouts, and paired task outcomes disagreed on 0 of 40. Only 11 of 40 episodes called NLI; the other episodes used exact local rules.

Windows 10 · Ryzen 5 5600H · Node 22.14.0 · fresh bridge process per episode
Requested deviceTask successNLI calls p50 / p95 (n)Browser loop p50 / p95End-to-end p50 / p95
CPU40/40812 / 827 ms (n=11)395 / 1087 ms1722 / 2405 ms
DirectML requested40/401326 / 1456 ms (n=11)400 / 1601 ms1700 / 2916 ms
MiniWoB browser comparison over 40 episodes per device. CPU versus DirectML-requested p95 was 827 versus 1456 milliseconds for NLI calls, 1087 versus 1601 milliseconds for the browser loop, and 2405 versus 2916 milliseconds end to end.
Bars show p50; outlined bars show p95. End-to-end time includes environment reset; model calls include fresh-process initialization.

DirectML-requested NLI calls had p95 1456 ms versus 827 ms on CPU. Browser-loop p95 was 1601 ms versus 1087 ms; end-to-end p95 including reset was 2916 ms versus 2405 ms. The paired median deltas were +4 ms for the browser loop and +18 ms end to end. This curated set does not show warm persistent-server latency or broad task quality; NLI remains an optional provider, and these runs do not validate the 500 ms decision-call target.

A separate instrumented 30-example DirectML run recorded 43,500 DmlExecutionProvider and 43,800 CPUExecutionProvider node-execution events (87,300 total). That verifies mixed DirectML and CPU execution; event counts do not measure compute share. Profiling adds overhead and is excluded from the latency table. The run demonstrates neither a general GPU speed advantage nor performance parity across machines.

DEFAULT MINILM PROVIDER · CPU AND DIRECTML

DirectML was slower for MiniLM on this browser run.

The current commit a9f8c46 ran the same eight selected DOM tasks across five seeds on Windows 10, with a Ryzen 5 5600H and an operator-reported GTX 1650 (4 GB). Each condition completed 40 episodes; every task reached full reward, and paired outcomes disagreed on 0 of 40 pairs. Eleven semantic model calls were recorded per condition; the other episodes used local rules.

Windows 10 · Node 22.14.0 · BrowserGym 0.14.3 · fresh bridge process per episode
Requested deviceTask successMiniLM calls p50 / p95 (n)Browser loop p50 / p95End-to-end p50 / p95
CPU40/40171 / 179 ms (n=11)407 / 1008 ms1675 / 2295 ms
DirectML requested40/40379 / 387 ms (n=11)382 / 1030 ms1654 / 2307 ms
MiniWoB MiniLM comparison over 40 episodes per device. CPU versus DirectML-requested p95 was 179 versus 387 milliseconds for model calls, 1,008 versus 1,030 milliseconds for the browser loop, and 2,295 versus 2,307 milliseconds end to end.
Solid bars show p50; outlined bars show p95. End-to-end time includes environment reset. Model-call p95 stayed below 500 ms in this 11-call sample on both requested devices.

The paired median DirectML-minus-CPU delta was +209 ms for model calls, +8.5 ms for the browser loop, and +0 ms end to end. DirectML's decision-call p95 was 387 ms versus 179 ms on CPU. This browser run did not record ONNX per-node placement; a separate decision-only profile records mixed DirectML and CPU execution. The small selected sample does not establish a general GPU speed advantage or warm persistent-server latency.

OTHER RECORDED RUNS

Different runs answer different questions.

24/24Earlier DOM-focused MiniWoB run

All 24 selected DOM tasks passed on Windows CPU; this task set excluded both visual-only pages. It still offers a focused view of forms, tables, sliders, and native controls.

Raw run ↗
23/26Prior full 26-task MiniWoB run

Linux CPU integration on the larger curated set. The two visual-only pages were described but not acted on, and read-table-2 stopped before entry. It remains useful as a broader task-set record, but is not directly comparable with the latest DOM-only Windows run.

Raw run ↗
22/26Intermediate pointer run

The exact-sender email flow passed, while duplicate nested menu targets caused a regression. The later pointer-wrapper fix restored that menu task; the two visual-only tasks and read-table-2 still failed.

Raw run ↗
20/26Earlier same-task run

Same 26 tasks, seed, and action cap as the latest run, before local field-copy and multi-checkbox tools. Two outcomes changed from failure to success in the later run; this paired observation does not establish a general quality or speed improvement.

Raw run ↗
19/26Prior multi-tool baseline

The same task set before support for MiniWoB's keyboard-operated sliders. It did not call browser_set_range; use-slider-2 was the only task outcome that changed in the later run.

Raw run ↗
6/6Focused browser regressions

Six previously troublesome MiniWoB cases on Linux CPU. Browser action-loop p50 258 ms / p95 721 ms, with zero semantic model calls. This is a targeted regression set, not a general success estimate.

Raw run ↗
8/8Focused MiniWoB smoke

Eight curated tasks on Linux CPU. Browser action-loop p50 305 ms / p95 699 ms. One integration run; not a general success estimate.

Raw run ↗
8/8Current 8-task MiniWoB smoke · Windows CPU

Eight curated tasks on commit 8a4f3a1, with no timeouts. End-to-end latency including reset was p50 1763 ms / p95 2295 ms; the browser action loop was p50 333 ms / p95 737 ms. Three cached local model decisions had p95 197 ms (n=3); five tasks used local rules. This small smoke run does not establish general speed or quality.

Summary and eight raw episodes ↗
40/40Earlier eight-task repeat · five seeds · Windows CPU

This historical CPU-only repeat ran the same eight selected DOM tasks with seeds 7–11 at commit 06c81bb; all episodes reached full raw reward with no timeouts. Eleven semantic model calls had p50 174 ms / p95 186 ms; 29 episode decisions used local rules. The browser action loop was p50 392 ms / p95 990 ms; end-to-end latency including reset was p50 1688 ms / p95 2325 ms. The newer paired CPU/DirectML run above reports the same task set at the current commit.

Earlier CPU aggregate and 40 raw episodes ↗
3/3Full-reward tool smoke

Three explicitly selected tasks reached raw reward 1.0. The bounded, deterministic harness exercised checkbox batching, local field copy, and keyboard sliders. Browser-loop p50 927 ms / p95 1,005 ms; there were no semantic model calls. Synthetic submit approvals were limited to the local benchmark page. This is a small integration check, not a representative success estimate.

Raw run ↗
5/5Visual digit OCR · five seeds

One visual-only MiniWoB task, repeated with seeds 7–11 after bounded single-character retries were added for repeated digit glyphs. All five episodes reached full raw reward with five separately approved local clicks; seed 11 used two OCR retries to distinguish duplicate 4 readings. The pre-retry run reached 4/5, so this is a narrow same-seed regression observation rather than a general OCR claim. End-to-end latency including reset was p50 4422 ms / p95 4866 ms; the browser/OCR action loop was p50 2254 ms / p95 2307 ms. This is one task on one Windows CPU machine, not representative BrowserGym coverage or a speed claim.

Retry run summary and five raw episodes ↗Pre-retry 4/5 baseline ↗
1/1Local visual question answering · CPU

On a synthetic page with no DOM action candidates, SmolVLM2 read the visible Open task label in 14985 ms, including model initialization and generation. Model files were already cached. This checks one visual description only; it is not a quality or speed estimate.

Raw vision smoke ↗
PASSLocal OCR and approval-gated click

Tesseract found the prominent draft labels; its first pass missed the smaller Open task label. A sparse-text retry proposed that exact target, and the harness cancelled it. A separate local click ran only after confirmation; approval against the changed screenshot was rejected. The one-page OCR pass took 1100 ms and the retry took 667 ms. These are single-sample smoke timings.

Raw OCR and approval trace ↗
3/26Decision/action only

A broader task mix that repeatedly called the decision/action tool without orchestrating form fills, native select options, or visual inspection.

Raw run ↗

The latest 24-task DOM subset and prior 26-task run differ in task coverage, host, and source state; neither establishes general browser quality or speed. No Jev parity comparison has been run. The original multi-site WebArena and VisualWebArena suites have no results. A separate 18-task WebArena Verified sweep on one synthetic admin site reached full reward on 3/18 tasks and partial reward on 13; it remains a narrow navigation integration sample.

Read the full protocol and reproduction commands →

BROADER BROWSERGYM SETUPS

WebArena scores need running benchmark sites.

Installing BrowserGym alone does not provide the original WebArena or VisualWebArena sites. Their integrations need several configured domains; those full suites have no result here. The upstream combined VisualWebArena/WebArena Docker example recommends an EC2 host with a 1,000 GB EBS root volume, so check storage and prepare every service before a full run. The separate WebArena Verified run below covers 18 read-only navigation tasks in one synthetic shopping_admin site.

WebArena

Requires URLs for the shopping site and admin, Reddit, GitLab, Wikipedia, map, and homepage.

WA_SHOPPING · WA_REDDIT · WA_GITLAB · WA_WIKIPEDIA · WA_MAP · WA_HOMEPAGEBrowserGym WebArena setup ↗

WebArena Verified · shopping admin

18 navigation episodes on synthetic Magento admin data produced 3 full task successes, 13 partial rewards, and 2 zero rewards. No task timed out. Mean reward is 0.528; the initial same-task baseline was 0.056. Two theme settings tasks reached full reward with row-specific link context. When a decision sees a changing page fingerprint, the browser now waits up to 1.05 seconds for DOM readiness and network idle before retrying with a fresh snapshot. A focused working-tree follow-up now routes tasks 711 and 713 to Product Views and Bestsellers, fills both explicit date ranges, and clicks Show Report. Both filtered routes still earn only 0.5 reward; the reason for the remaining partial score is unresolved. See the route-only and date-filter traces below. This single-site subset is not a full WebArena score.

BrowserGym 0.14.3 · Windows CPU + SSH B Docker · full 3/18 · partial 13 · end-to-end p50/p95 13.257/18.610 s · decision-call p95 1176 ms (n=61)

A separate working-tree run of BrowserGym Verified task 157 reached full reward 1.0 in two actions. Decision/action calls took 317 ms and 818 ms; the 14.066-second total includes an 11.236-second environment reset. This single read-only task does not change the 18-task aggregate or establish general speed. See the raw task 157 trace ↗. A separate BrowserGym Lite task 157 smoke against the Verified backend returned 0.0 because the route stayed on the dashboard; this cross-backend result is not a canonical Lite score. See its raw trace ↗.

A separate synthetic 57-link choice repeated ten times took 317 ms on the first local CPU call and p50/p95 135/146 ms across nine warm calls. It measures the provider only, repeats one question, and does not include page inspection or actions; its low confidence was uncalibrated. See the fixture and raw report.

A previous run of these same task IDs reported end-to-end p50/p95 15.724/32.048 s and decision-call p95 6997 ms (n=62). This pair of runs does not establish a general speed gain.

Latest page-settle repeat with all 18 raw episodes ↗Task 711 Product Views route trace ↗Task 713 Bestsellers route trace ↗Task 711 date-filter trace ↗Task 713 date-filter trace ↗Previous localhost-origin repeat ↗Initial 18-task baseline ↗Raw full-reward task ↗Earlier partial result ↗

Earlier cross-host baseline: the same 18 tasks ran with the browser runner on Windows 10 and the pinned single-site benchmark in a loopback-only Linux Docker container reached over an SSH tunnel. That earlier run returned 1 full, 8 partial, and 9 zero rewards. All records remain narrow single-site measurements; the original multi-site WebArena and VisualWebArena have not been evaluated here.

End-to-end p50 / p95 13.484 / 14.763 s · decision/action-call p95 2190 ms · n=37Cross-host aggregate with raw episodes ↗

The upstream WebArena guide notes that some fuzzy-match evaluations call a hosted GPT-4 judge. The default Agent Decision Kit benchmark path stays local and does not enable paid judging. See the prerequisites and evaluator policy.