dsh-verify — Agents self-test and pass. Real browsers tell the truth. #2806
Replies: 4 comments
|
Agent Arena is live — we built a reproducible benchmark: same task, same prompt, same human checks, different agents, graded in a real browser (dsh-verify). No LLM judges; the browser is the judge. Seed result: 11/12 runs passed.
The one failure is the interesting one: v4-flash single-shot built a todo app that started with zero seeded todos (9/19 checks failed). The same model with a self-check loop — seeing the real-browser failures and fixing — passed 19/19. Honest caveats: LLM output is nondeterministic (flash/single passed this task on another run), one run per cell, and the framework is open for anyone to run their own agent. Live page + methodology: https://263311487-ux.github.io/dsh-verify/arena/ · source in |
|
Agent Arena update — now 48 real-browser runs (4× per cell, same tasks, same human checks, temperature 0.7; verdict = real Chromium clicks/typing/computed-styles, never an LLM judge)
Two counterintuitive takeaways from the data:
Every failure is reproducible and invisible to an LLM judge: the todo app opened but the seed todos never rendered in the DOM — the agent reported success while the browser saw an empty list. That is exactly the gap dsh-verify exists for.
|
|
Brand + traction update (Aug 19) — the project now goes by Witness (the product name; What's happened since the Arena update:
The pitch in five words stays the same: the browser is the judge. Try it in 2 minutes: npx dsh-verify demo:fixed # PASS
npx dsh-verify demo:buggy # FAIL — one missing CSS rule the agent's self-review missedRepo: https://github.com/263311487-ux/dsh-verify · npm: https://www.npmjs.com/package/dsh-verify |
|
Open entry is live — the Arena now accepts any model. Run your agent (any OpenAI-compatible endpoint) on the same 3 tasks, and your setup appears on the public leaderboard with your GitHub name: git clone https://github.com/263311487-ux/dsh-verify && cd dsh-verify
npm install && npx playwright install chromium
export LLM_API_KEY=sk-...
node arena/run.mjs --agent "your-model/single" --task all --repeat 1 --submitter yournameFull challenge thread: #3308 |
Uh oh!
There was an error while loading. Please reload this page.
TL;DR — We ran a 4-agent web team inside DeepSeek Harness. The team self-reviewed as "no issues found". In a real browser, the dark-mode toggle button did nothing: the
.darkclass was toggled by JS, but the CSS rule for.darkwas never written. We turned that failure into a tiny open-source tool: dsh-verify — write a JSON spec of what a human would check, it drives a real headless Chromium, and returns an HTML report + exit code. Buggy build FAILS, fixed build PASSES, same page, one missing CSS rule.Why this matters for the agent ecosystem
Agent evaluation today is dominated by macro metrics: task success rate, tool-call accuracy, benchmark scores. Those numbers are computed against what the agent believes it built — code the agent wrote, checked by the agent.
What almost nobody checks: does the delivered artifact work in the environment a real user actually uses?
Our reproduction of the failure chain:
The gap is structural, not a skill issue: agent teams verify against a shared belief, not against the user's experience. The only fix is an independent check that does not share the team's blind spots.
What dsh-verify does (now)
goto→click→expect_text→capture_style→expect_style_changedexpect_screenshot) with red-highlight diff imagesdsh-verify gen --url <url> --run— LLM drafts, deterministic browser enforces (the AI never judges)verify_spec,verify_url,generate_and_verify--jsonfor CIThe check that would have caught our bug:
{ "action": "capture_style", "selector": "#page", "prop": "backgroundColor", "var": "bg_before" }, { "action": "click", "selector": "#color-btn" }, { "action": "expect_style_changed", "selector": "#page", "prop": "backgroundColor", "var": "bg_before" }Live evidence (real Playwright output, committed in the repo)
demo/buggy—.darkrule missingdemo/fixed— one CSS rule addedScreenshots and full step-by-step reports live in
evidence/so anyone can re-run and reproduce.Why nothing else does this
We researched the agent-tooling community before building. Existing "verification" for agent deliverables is:
None of them answer: "When I click this button, does the user see the change?" That's the niche dsh-verify fills — deliberately small, JSON in, browser verdict out.
Try it (2 minutes)
Ask
All reactions