Repository navigation
Add Evervault proxy arms and retail-cart-geo (per-country proxies) - #15
Open
hiroTamada wants to merge 3 commits into
Open
hiroTamada wants to merge 3 commits into
hiroTamada wants to merge 3 commits into
Conversation
…t's browser proxy
hiroTamada
marked this pull request as ready for review
November 8, 2026 18:50
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.
{
"message": "Not Found",
"documentation_url": "https://docs.github.com/rest",
"status": "404"
}Stacked on #12 (retail-cart-providers).
Summary
Adds an arm to
retail-cart-providersthat runscodex-pw-kernelwith the whole browser session sent through Evervault's browser proxy, so the comparison covers a Kernel browser whose traffic exits from Evervault instead of Kernel's stealth proxy pool.kernel-evervaultprovider (harness/providers.py). For each trial it:POST /browser-tokens) and takes its proxy credentials,customHTTPS proxy from them with Evervault's CA (https://ca.evervault.com) asca_bundle, because the proxy terminates TLS,proxy_id.On release it deletes the browser and then the proxy. The proxy is named with the run's
bench-<run>-prefix, so the existing leftover cleanup removes it if a trial crashes. The mint holds one placeholdercredential.passwordvalue. The session is only used for its proxy, and no card or credential is revealed. A failed mint reports only the HTTP status, because the response body carries the proxy password.Arm
codex-pw-kernel-evervault: the same agent, tools andstealth: trueascodex-pw-kernel, plus anevervaulttable with the mint'sttl, its allowed hosts and optionalproxy_settings(Evervault's own egress proxy setting, passed through asproxySettings).Workflow and README:
_run.ymlpassesEV_APP_UUIDandEV_API_KEY. The run checks for them before starting an arm that uses this provider.retail-cart-geo, for sites outside the US:retail-carttakes ataskssuite arg (another task file of the same shape) and an optional per-taskcountry, recorded in task.toml metadata.geoconfigurator turns that country into a per-trialproxy_create.RemoteBrowserEnvironmentpasses it to the provider, and the Kernel providers create the proxy before the browser and delete it after.codex-pw-kernel-geo: Kernel stealth plus a new residential proxy in the site's country for each trial.codex-pw-kernel-evervault-eu: the Evervault arm through the Ireland relay (relay_host). The minted credentials work on either region's relay.Before a full run
EV_APP_UUIDandEV_API_KEYsecrets, with a key that hasbrowserToken:create.proxy_settings.Testing
ruff check,ruff format --check,pytest(41 passed). The new tests cover the mint body, the custom proxy config, browser and proxy create and delete order, and that a failed mint doesn't surface the response body.bench prepare retail-cart-providers --arms codex-pw-kernel-evervault --tasks allwrites the expected config for all 16 tasks.us-va.browser.relay.evervault.appwith Evervault's CA and dummy credentials reached the relay and got407 Proxy Authentication Requiredfrom Kernel's connection test. Kernel accepts the proxy shape, and the relay answers over it. The test proxy was deleted.codex-pw-kernelcodex-pw-kernel-evervaultBlocked: 70 vs 75. The Evervault arm's cost and median duration are within a few percent of the Kernel arm's.
retail-cart-geo
Run locally on a private task file: 71 European retail sites, of which 46 are UK storefronts and the rest are in their home market (PL, DE, CZ, ES, FR, NL, GR, RO, SK, PT, DK). 5 attempts per site per arm, same time window, sandbox Evervault app. The task file is not committed.
codex-pw-kernel-geocodex-pw-kernel-evervault-euOn 15 sites the geo arm did better, on 9 the Evervault arm did, and on 47 they matched. Sites with the largest gaps were behind Akamai, which blocked the AWS egress, on one side, and on the other side sites that blocked the residential pool.