A deliberately tiny browser agent, in one file, that exists to prove one claim:
AgentGauntlet can test an agent it did not write.
This repository is never executed on AgentGauntlet's own machines. It is cloned into a fresh Solari Sandbox, installed there, and run there. It reaches the browser only through a scoped CDP endpoint for one session that AgentGauntlet created and will release.
GitHub → Solari Sandbox (clone, install, run) → CDP → Solari Browser
↓
Gauntlet Shop
↓
AgentGauntlet's own evaluator
Completes the Gauntlet Shop checkout task: add Aurora Headphones to the cart,
apply the SAVE20 coupon, fill in the checkout form, and stop at the review
step without submitting payment.
There is no model in here, and that is the point. The claim under test is isolation and connectivity — that arbitrary third-party code can be sandboxed and can drive a scoped cloud browser — not whether an LLM can shop.
playwright-core is pinned exactly, not with a caret. The Solari base
sandbox template runs Node 18, and a caret range resolved to a Playwright
that requires Node 20 and refused to start — the agent exited 1 having done
nothing. If you bring your own agent, check what your dependencies demand.
agentgauntlet.yaml declares how to install and run.
At run time the process receives:
| Variable | Meaning |
|---|---|
AGENT_GAUNTLET_TASK |
the task, in plain English |
AGENT_GAUNTLET_START_URL |
where to begin, scoped to this run |
AGENT_GAUNTLET_CDP_ENDPOINT |
a live CDP endpoint for one browser session |
AGENT_GAUNTLET_RUN_ID |
this run's id |
AGENT_GAUNTLET_MAX_STEPS |
the step budget |
It reports a claim on stdout:
AGENT_GAUNTLET_RESULT={"status":"completed","message":"reached review","steps":7}
That is a claim and nothing more. AgentGauntlet decides pass or fail by reading the benchmark site's server-side state, which this agent can only change by genuinely performing the actions. If the claim and the state disagree, the run fails and the dashboard shows both.
SOLARI_API_KEY. Not by omission — by design. The CDP endpoint is a capability
scoped to a single session. An account key handed to third-party code could
create sessions, read saved profiles and spend the owner's balance; that is a
poor trade for saving one line of connection code.
Point AgentGauntlet at this repository:
https://github.com/Konuktor/agent-gauntlet-example-agent
Full contract: AgentGauntlet → docs/AGENT_CONTRACT.md