FULL TASK REWARD
34/12527% on this one-seed catalog sweepMEASURED 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.
BROWSER LOOP P50 / P95
265 / 990ms125 episodes; includes BrowserManager inspection and actionMODEL CALL P50 / P95
174 / 216ms55 CPU calls; exact local rules made the other selectionsEND-TO-END P50 / P95
1577 / 2299msIncludes environment reset for each taskBase 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.
TASK SUCCESS
26/26100% on this curated setBROWSER LOOP P50
0.33sIncludes tool actions and inspectionBROWSER LOOP P95
0.94sIncludes browser inspection, selection, and actionsDECISION CALL P95
188msThree local semantic calls across 26 episodesREPRODUCTION 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.
| Provider | Task success | End-to-end p50 / p95 | Browser loop p50 / p95 | Decision call p50 / p95 | Mean action rounds |
|---|---|---|---|---|---|
| MiniLM · semantic-local | 40/40 | 1716 / 2353 ms | 394 / 1001 ms | 173 / 182 ms (n=11) | 1.50 |
| NLI · semantic-nli | 40/40 | 1715 / 2455 ms | 393 / 1096 ms | 810 / 848 ms (n=11) | 1.50 |
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%).
| Local model and device | Correct | Accuracy | Brier score | ECE | First call | Warm p50 / p95 |
|---|---|---|---|---|---|---|
| MiniLM · CPU | 1,864/3,270 | 57.0% | 0.492 | 0.043 | 242 ms | 16 / 49 ms |
| MiniLM · DirectML requested | 1,870/3,270 | 57.2% | 0.491 | 0.044 | 550 ms | 104 / 149 ms |
| NLI · CPU | 1,626/3,270 | 49.7% | 0.522 | 0.084 | 1151 ms | 59 / 145 ms |
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.
| Device | First call median (incl. init) | All-call p95 (n=150) | Warm p50 / p95 medians | Choice | Yes/no | Score MAE | Brier: Choice / yes-no | ECE (n=20) |
|---|---|---|---|---|---|---|---|---|
| CPU | 242 ms | 21 ms | 13 / 21 ms (p95 range 20–21; n=29/run) | 7/10 | 5/10 | 1.042 | 0.403 / 0.506 | 0.061 |
| DirectML + CPU fallback | 474 ms | 148 ms | 96 / 138 ms (p95 range 137–149; n=29/run) | 7/10 | 5/10 | 1.038 | 0.399 / 0.505 | 0.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.
| Requested device | First call median (max) | All-call p95 | Warm p50 / p95 medians | Choice | Yes/no | Score MAE |
|---|---|---|---|---|---|---|
| CPU | 923 (941) ms | 92 ms (n=150) | 43 / 83 ms (p95 range 81–102) | 6/10 | 8/10 | 1.146 |
| DirectML + CPU fallback | 1650 (1671) ms | 657 ms (n=150) | 362 / 654 ms (p95 range 646–657) | 7/10 | 8/10 | 1.089 |
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.
| Requested device | Task success | NLI calls p50 / p95 (n) | Browser loop p50 / p95 | End-to-end p50 / p95 |
|---|---|---|---|---|
| CPU | 40/40 | 812 / 827 ms (n=11) | 395 / 1087 ms | 1722 / 2405 ms |
| DirectML requested | 40/40 | 1326 / 1456 ms (n=11) | 400 / 1601 ms | 1700 / 2916 ms |
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.
| Requested device | Task success | MiniLM calls p50 / p95 (n) | Browser loop p50 / p95 | End-to-end p50 / p95 |
|---|---|---|---|---|
| CPU | 40/40 | 171 / 179 ms (n=11) | 407 / 1008 ms | 1675 / 2295 ms |
| DirectML requested | 40/40 | 379 / 387 ms (n=11) | 382 / 1030 ms | 1654 / 2307 ms |
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.
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 ↗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.
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.
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 ↗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.
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 ↗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 ↗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.
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.
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 ↗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.
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.
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.
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 ↗VisualWebArena
Requires separate classifieds, shopping, Reddit, Wikipedia, and homepage URLs.
VWA_CLASSIFIEDS · VWA_SHOPPING · VWA_REDDIT · VWA_WIKIPEDIA · VWA_HOMEPAGEBrowserGym VisualWebArena setup ↗Upstream Docker services and storage guide ↗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.