1
1 Comment

Model benchmarks become browser-state lotteries without a fixed execution layer

When two coding models receive the same browser task, we often call the result a benchmark. But if they start with different cookies, page state, retries, identities, or approval rules, we are not measuring the models. We are measuring environmental variance.

For OpenCode evaluations, we now lock six inputs before comparing models:

  1. Browser identity.
  2. Session ownership and starting state.
  3. Exact target and task contract.
  4. Retry and recovery budget.
  5. Evidence schema.
  6. Human approval boundaries.

OpenCode handles model routing and agent configuration. BrowserAct provides a stable real-web execution layer with isolated sessions, evidence capture, and recovery. The score starts with completed tasks that satisfy every check; duration and cost come later.

Full workflow: https://www.browseract.com/blog/opencode-browser-automation

What do you hold constant when benchmarking agents on real websites?

on July 16, 2026
  1. 1

    Locking six inputs is a good start, but I'd also pin observation timing and side-effect cleanup. A model that completes after stale DOM recovery may look worse than one that inherited a warm page unless every run starts from the same restore artifact and ends with the same public-state checks. I'd report completion rate with failure taxonomy before duration or token cost.

Trending on Indie Hackers
I sent 43 cold emails with my own tool. 17 replied. 1 paid. Here’s the unofficial launch. User Avatar 162 comments I built for one user. Myself. User Avatar 72 comments Got our first paid customers from an unexpected channel User Avatar 30 comments I came up with a great idea for a solo Vibe Coding project, and I'm testing it out right now User Avatar 23 comments AI prices dropped 97% since 2023. So why are AI bills 3x higher? User Avatar 19 comments Day 4 — designing what happens when a survey DOESN'T work out User Avatar 16 comments