docs/plans/2026-04-11-slate-browser-agent-browser-ios-setup-proof.md
Prove the smallest honest agent-browser iOS Simulator setup before broader
transport work.
This is not the full transport architecture. It is the first setup/proof spike.
agent-browser already opens Safari on iOS Simulator locallyagent-deviceUsing a live local slate-v2 example on http://localhost:3100:
agent-browser opened iOS Simulator Safari on the local placeholder IME
example with ?debug=1agent-browser returned the resolved URLagent-browser snapshot -i returned actionable controls:
UndoRedoCopy JSONCopy ArtifactThat is enough to say:
pnpm proof:agent-browser:ios:localCurrent useful read:
agent-browser iOS provider for local Slate
example-route proof on this repoIn /Users/zbeyens/git/slate-v2:
pnpm proof:agent-browser:ios:localpnpm proof:agent-browser:ios:placeholder-input:localpnpm proof:agent-browser:ios:inline-edge-input:localpnpm proof:agent-browser:ios:void-edge-input:localThis command assumes a local server is already running and does:
Default target:
placeholder?debug=1Run the local site first:
cd /Users/zbeyens/git/slate-v2
PORT=3100 pnpm serve
Then in another terminal:
cd /Users/zbeyens/git/slate-v2
pnpm proof:agent-browser:ios:local
Optional overrides:
AGENT_BROWSER_IOS_DEVICE="iPhone 17 Pro" \
AGENT_BROWSER_DEBUG_QUERY="debug=1" \
bash ./scripts/proof-agent-browser-ios-local.sh 3100 placeholder
This is good enough to justify the next architecture work.
It is not good enough to claim:
The current local issue is likely tool-side, not page-side.
Evidence:
agent-browser -p ios opens the local routeclick #placeholder-ime / type #placeholder-ime ... can fail
because the mounted editor node never appearsUpstream follow-up:
That means this transport should be treated as a known tooling blocker on local Slate routes until the upstream issue is resolved. It should not be the default iOS setup lane for this proof program anymore.
Use direct Appium iOS Safari for setup truth on local routes.
Keep agent-browser iOS only as an upstream bug reference until: