30 of 30 tasks completed
Qwen3-8B generated 50 action proposals. The v2 guard passed 45 directly and blocked or replaced 5 stale-row clicks before execution.
Inspect the 77 KB JSON artifactAdversarial CI for browser agents
A2AParkBench runs your agent's action policy against hostile interface states: stale rows, duplicate identities, delayed confirmations, hidden totals, irreversible controls, and locale drift. The free runner works locally. A changing Team feed keeps the test from becoming memorized and stale.
No account · No prompt upload · Zero runtime dependencies
Free and local-first
Export a propose(context) function from your harness. A2AParkBench supplies task, state, and allowed actions, then checks the proposal against the expected action and case policy.
a2aparkbench --adapter test/agent-adapter.mjsUse the free A2AParkBench runner locally or in CI. Complete free runner setup and adapter instructions
Using Promptfoo? Run one existing Bench case with separate correctness and safety checks
Tested, broken, corrected, rerun
The controlled evidence uses one browser environment, one model family, and thirty mutation cases. Its purpose is to expose a regression surface, not manufacture a perfect benchmark score.
Qwen3-8B generated 50 action proposals. The v2 guard passed 45 directly and blocked or replaced 5 stale-row clicks before execution.
Inspect the 77 KB JSON artifactThe locked offline matrix scored 25/30 with reasoning off and 24/30 with reasoning on. The five-case gap is the initial product surface.
The first guard allowed a Closed-row click while the task required Open items. We added a required-filter invariant and restarted the official run from zero.
The recurring product
A static test pack gets learned, patched around, and forgotten. Team access pays for the changing distribution: new seeds, new failure families, and reproducible historical versions.
A2APARKBENCH TEAM FEED
Base price excluding tax; no VAT is charged while the Dutch KOR applies. Recurring monthly until cancelled.
Access starts after successful payment. Cancellation takes effect at the end of the paid period; no prorated refund except where required by law or for duplicate or erroneous charges. No annual, founding, add-on or tax subscription is included.
One subscription covers up to five repository activations. Feed tokens are checked against subscription status, so cancellation removes entitlement when the subscription becomes inactive.Already purchased? Activate your license →Buyer-approved private pilot
This is not the Team feed and cannot be purchased until the named buyer and A2AParkBench agree the scope, start date, licence, delivery format and available capacity in writing.
ONE-TIME CORPUS PILOT
Base price excluding tax; no VAT is charged while the Dutch KOR applies. One payment after the written agreement; no automatic renewal.
Agree pilot scope firstA full refund applies if the buyer retains zero delivered cases under the agreed acceptance process. If offered later, the maintained organisation licence is €1,000/month and starts only after a separate explicit choice.
No private cases are prebuilt. Custom implementation, managed execution, consulting and unlimited support are excluded.Honest limits
Regression tests should travel with the code