Skip to main contentTailor AI LogoTailor AI
    Engineering Blog
    Agentic Coding2 min read

    Two Places a Normal Test Setup Can't Reach

    Chris Fong
    Chris Fong

    CTO & Co-founder

    Two Places a Normal Test Setup Can't Reach

    An agent can open a customer's site and look at it. That was never the problem. The page is hardcoded to load our production script, so what the agent sees is production, not the change it just made.

    Our code runs in two places we don't control: inside our customers' web pages, and inside a Chrome extension in the browser they use all day. Both are ordinary to use and awkward to test, because neither has any way to load a build off an agent's machine.

    Most software is cooking in your own kitchen. Ours is catering in somebody else's, and you don't find out what's in the cupboards until you get there.

    The page points at production, and we can't edit it

    The script tag lives on the customer's site, in their CMS, naming our production URL. We have no way to change it.

    So an environment gets a Chrome that resolves our production script host to the local build. The page loads exactly as it does for a visitor, asks for our script at its usual address, and gets the agent's version instead. Nothing injected, nothing edited.

    Chrome refuses to let a public page load anything from localhost, and says nothing about it. No request, no console error. The script tag sits there doing nothing, which looks exactly like a change that didn't work.

    Looking at the page also isn't a full verdict. It tells you something is wrong, not which way it went wrong, so the serving engine reports what it expected to change, what it applied, what it rescued, what it skipped and what it couldn't find on the page.

    The extension needs a browser, not a page

    Playwright and Puppeteer are built to drive pages. Loading an unpacked extension means a persistent browser profile and a real, non-headless Chrome, which is outside what either of them makes easy.

    So an environment also leases a Chromium with that agent's extension build loaded. Per agent, because one shared build is last-write-wins: whoever built most recently decides what every browser on the machine is running, and an agent checking its own change ends up driving somebody else's.