Skip to main content
All work
Technical report· October 1, 2026

W8 DOM-diff Bench

w8-domdiff-bench: Browser Evidence Infrastructure for Agent Development

WootzApp Research

Agent evaluation usually starts after the trajectory has been captured. We ask the earlier question: what did the recording fail to preserve?

We ran the same 100 browser-agent tasks once and kept two records of each run: screenshots, and structured page state from W8, our Chromium-based browser. Across 639 audited rubric criteria, screenshots lacked the required evidence on 4.07% of criteria and W8 on 0.31%, 92.3% fewer gaps.

Paired browser tasks
100
Audited rubric criteria
639
Screenshot-side missing evidence
26 (4.07%)
W8-side missing evidence
2 (0.31%)

Track 01 / Evidence fidelity

92.3% fewer evidence gaps than screenshot recordings.

When a required value falls outside the captured viewport, when an endpoint is hidden in a structured field, or when an important control isn't legible, a screenshot-based verifier can only reason from incomplete evidence.

Our DOM-diff Optimized representation preserved the required source evidence more often in the audited paired comparison.

Exhibit 1 — Criteria with asymmetric missing source evidence. Lower is better.

RepresentationMissing-evidence criteriaRate
Screenshot recording26 of 6394.07%
W8 DOM-diff Optimized2 of 6390.31%
Screenshot recording26/639 · 4.07%
W8 DOM-diff Optimized2/639 · 0.31%
Shared 0–5% axis. Published October 1, 2026.
Relative reduction

(26 − 2) / 26 = 92.3%

Where evidence disappeared

Each confirmed gap is assigned one primary category, so counts sum without double counting.

Exhibit 2 — Source-evidence gaps by category.

Source-evidence gap categoryScreenshotW8 DOM
Exact text and values110
URLs30
Control states10
Table entries10
Label–value relationships01
Capture omissions101
Total262

Preserved details · Table 4 of the report

screenshot0.pngScreenshot run
Screenshot of the PyTorch 2.14.0 release header reading “ethche released this 2 weeks ago”.
dom_model0.txtW8 run
ethche released this 02 Sep 17:40
Task 19, GitHub release research. Recorded excerpts from the screenshot run and the W8 run.
  1. Task 19 / Exact release date

    The exact release date is explicit in the structured state (“02 Sep 17:40”). The screenshot record shows only a relative date (“2 weeks ago”).

    Screenshot run ↗W8 run ↗
  2. Task 24 / Complete ranked list

    Structured states preserve ranks 1–30. The captured screenshot frames cover ranks 1–29.

    Screenshot run ↗W8 run ↗
  3. Task 75 / Exact endpoint URL

    The exact endpoint URL is explicit in the structured header. It is not visible in the captured screenshot frames.

    Screenshot run ↗W8 run ↗
Table 4 in the technical report

Track 01 / Method

Same run. Same rubric. Different evidence.

Read the exact metric definition
  1. 01

    Record once. Each task produces a trajectory of actions and ordered browser states.

  2. 02

    Preserve both views. Capture screenshots and DOM-diff Optimized from the same execution.

  3. 03

    Freeze the rubric. Both verifier pathways receive the same task, action history, final answer and frozen rubric.

  4. 04

    Audit the sources. Review whether each criterion's required information actually exists in each representation.

  5. 05

    Count asymmetric omissions. A criterion counts against a representation only when required evidence is missing there and present in the other.

Scope of the metric

The metric covers asymmetric evidence loss. Evidence missing from both representations, agent success, human agreement with judge scores, downstream learning gains, and performance on visual tasks are separate measurements.

The audit and scoring pipeline use model-based components and manual source review. The study measures evidence preservation. Deterministic checks versus LLM graders is the next benchmark.

Engineering measurement / Separate sample

Smaller representation, richer context.

4.84 KiB

Average compact browser-state record. In a separate historical sample of 650 recorded states, DOM-diff Optimized averaged 4.84 KiB of stored text per state, versus 44.88 KiB for detailed readable DOM text and 191.32 KiB for structured snapshots.

This compares stored size per state. Inference-token usage, verifier cost, and training time are separate measurements. The sample is separate from the 100-task evidence-loss study.

W8 DOM-diff Optimized4.84 KiB
Detailed readable text44.88 KiB
Structured snapshots191.32 KiB
Exhibit 3 — Mean stored size per state, KiB. Historical 650-state sample.

Post-training

A better reward starts with a better record.

A model judge cannot recover an exact value that was never saved. A deterministic checker also needs the relevant state to have been captured in the first place.

W8's work establishes a measurable reduction in missing browser source evidence. The next engineering step is to turn that evidence into task-specific checks for observable state and outcome changes, while retaining screenshot and human/model judgment when visual or subjective criteria demand it.

  1. MeasuredEvidence capture
  2. Next engineering stepCriterion checks
  3. Next engineering stepTrusted rewards
  4. Next engineering stepEvaluations and training

Put your hardest agent on the record.

Bring a workflow where existing traces or screenshots fail to explain what happened. We'll compare the evidence the harness emits with what the execution environment and browser can preserve.

Discuss a benchmark run

Citation

@techreport{wootzapp2026w8domdiffbench,
  title       = {w8-domdiff-bench: Browser Evidence Infrastructure for Agent Development},
  author      = {{WootzApp Research}},
  institution = {WootzApp},
  year        = {2026},
  month       = oct,
  url         = {https://github.com/wootzapp/w8-domdiff-bench}
}