Repository navigation
Add retail-cart-providers: retail-cart on competing providers' browsers - #12
Draft
andrewleesteele wants to merge 2 commits into
Draft
andrewleesteele wants to merge 2 commits into
andrewleesteele wants to merge 2 commits into
Conversation
…rs' browsers A remote-browser environment runs the task container on local Docker and drives a Kernel, Browserbase, Steel, Hyperbrowser or Anchor browser over CDP, and a playwright-mcp toolset gives every arm the same tools, so arms differ only in the browser. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…il-cart to 28 tiered sites
Providers:
- Hyperbrowser: add keepAlive=true to the CDP URL. Without it the session
stops when the start page disconnects, so every trial lost its browser.
- Browser Use: new provider (API v4 browsers, stopped with PATCH).
- Steel: send STEEL_PROJECT_ID for organization-scoped keys; Steel arms use
15-minute sessions, the Launch plan's maximum.
- Browserbase: drop Advanced Stealth, which Browserbase rejects outside the
Enterprise plan ("Verified mode").
- Kernel: send create params the SDK does not know yet (the closed-beta
macOS fingerprint) in the request body.
Environment: kernel-vm-remote-browser runs the task container on a Kernel VM
used only as compute and drives the provider's browser over CDP, so provider
arms run without local Docker. Kernel arms still get a separate browser.
Arms: claude-pw-{kernel,kernel-macos,browserbase,browser-use,hyperbrowser,
steel} on that environment, codex-pw-browser-use, and claude-repl for
retail-cart.
retail-cart: 28 sites in easy (2), standard (13) and hard (13) tiers, with
--suite-arg tiers=... to run one. The verifier no longer counts an empty cart
as verified when its recommendations mention the item. The pinned
configurator runs sites it has no measurements for on the arm's own config.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Stacked on #10 (retail-cart), which is stacked on #9.
Summary
Runs the
retail-cartguest add-to-cart tasks on Kernel, Browserbase, Browser Use, Steel, Hyperbrowser and Anchor browsers. Within an agent, every arm uses the same tools and the same task container, so the only thing that differs between arms is the browser.environment:remote-browser(RemoteBrowserEnvironment): runs the task container on the runner's Docker. Once the container is up, it creates a browser throughharness/providers.py, writes its CDP URL to/run/browser/cdp-urlin the container, and releases the browser when the trial ends.kernel-vm-remote-browser(KernelVmRemoteBrowserEnvironment): the same, but the task container runs on a Kernel VM used only as compute, so no local Docker is needed. Kernel arms still get a separate browser session, reached over the network like every other provider's.BrowserCreationError. The default environment is stillkernel.fingerprint, go in the request body); Browserbase, Browser Use, Steel, Hyperbrowser and Anchor through their REST session APIs. An arm's[browser.config.params]is the provider's own session create body, so the arm file shows exactly which stealth, proxy and CAPTCHA settings each provider got.playwright-mcptoolset: Playwright MCP (pinned) attached over CDP, working in the browser's existing context and page.open-start-urlandscoreusecdp-executewhen the CDP URL file exists. Kernel-VM arms are unchanged.easycontrols, 13standardand 13hard. Run one tier with--suite-arg tiers=hard.codex-pw-kernel,claude-pw-kernelstealth: true(managed ISP proxy and CAPTCHA solver)claude-pw-kernel-macosfingerprint: {os: macos}(closed beta)codex-pw-browserbase,claude-pw-browserbasesolveCaptchas,proxies: true,keepAlive. No Advanced Stealth: Browserbase rejects it outside the Enterprise plancodex-pw-browser-use,claude-pw-browser-usecodex-pw-steel,claude-pw-steeluseProxy,solveCaptcha; 15-minute sessions, the Launch plan's maximumcodex-pw-hyperbrowser,claude-pw-hyperbrowseruseStealth,useProxy,solveCaptchascodex-pw-anchorextra_stealth,captcha_solvercodex-pw-*arms run onremote-browserandclaude-pw-*arms onkernel-vm-remote-browser. Claude Code isclaude-sonnet-5-5.Sessions have to survive a CDP disconnect, because the start page, the agent and the verifier each connect separately:
Browserbase gets
keepAlive.Hyperbrowser gets
keepAlive=trueon its CDP URL. Without it Hyperbrowser stops the session at the first disconnect, so every trial lost its browser before the agent started.Anchor gets a 30-minute idle timeout.
Workflow:
retail-cart-providers.yml, 10 attempts by default, concurrency 4 per arm._run.ymlpassesBROWSERBASE_API_KEY,BROWSERBASE_PROJECT_ID,BROWSER_USE_API_KEY,STEEL_API_KEY,STEEL_PROJECT_ID(needed for an organization-scoped Steel key),HYPERBROWSER_API_KEYandANCHOR_API_KEY. A run checks for the keys of the providers its arms use before it starts.First results (
claude-pw-*, one try per site)28 sites × 6 arms, run locally on 2026-11-06. A pass means the agent reported success and the verifier found the item in the cart.
Before a full run
Testing
ruff check,ruff format --checkandpytest(44 passed). New tests cover Browser Use, Hyperbrowser's keep-alive URL, Steel's project, Kernel's extra create params, the Kernel-VM remote-browser environment and retail-cart tiers.bench prepare retail-cart-providers --tasks allfor all 12 arms (28 tasks each).claude-pw-hyperbrowserpassedcostco-microfiber-towels(reward1,cart_verified1).claude-pw-kernel-macosran end to end but Costco showed it no Add to Cart button, which matches the Akamai pattern above.🤖 Generated with Claude Code