Permission pick release proof: manual Android driver

Base: 7f81aa8386737ecb244e3fd21c95afdb0649aeb7
Head: 7616b6d4ebbc53c8383e909d2653d21e0ae0591b
Device on both: pooled Pixel 9, Android API 36, 1080x2424, light theme, real Gboard.
Provider: Replay (dev), Multi turn. Reply text is recorded, rather than the requested one/two/three/four.

Run each side with a separate checkout and fresh server home. Install dependencies with vp i.
Extract these helpers into a scratch folder. Link that folder's node_modules to the checkout's scripts/node_modules.
From the checkout root, launch:
T3CODE_DEV_SEED=0 node /path/to/helpers/start-app.ts mobile "$CHECKOUT/.t3/manual" 13990 8190 "$DEVICE_REACHABLE_IP"
This helper comes from main's scenario runner. It disables real providers and creates fresh synthetic state.
Seed with: python3 /path/to/helpers/seed.py "$CHECKOUT" base
Use head instead of base for the second run.
Prepare/install the native client with vp run mobile:install android --prepare, then lease a Pixel 9
and use vp run mobile:install android --session "$DEVICE_SESSION" --metro "http://$DEVICE_REACHABLE_IP:8190".
Pair with the checkout's .agents/skills/test-t3-mobile/scripts/pair-client.sh helper.
Open the Permission sync thread and wait for the model control, then run:
python3 /path/to/helpers/drive.py "$CHECKOUT" base "$DEVICE_SESSION"
Use head instead of base for the second run. The exact same driver was used on both sides.

The outside client changes mode using the public WebSocket command and sends through the real CLI.
The phone picks Full access and sends two; the outside client sets Auto and sends three;
the phone opens and closes settings with Done, makes no pick, and sends four.
The phone's final sheet and persisted server mode are Full access on base and Auto on head.
Every still was taken only after two screenshots at least 500ms apart were byte-identical.
Recordings include the whole permission interaction, including the final settings sheet.
Synthetic event extracts omit identifiers, paths, credentials, and unrelated data.
