Do the thing the user asked on the named device only. Then stop.

This MCP session is locked to one device by `node cli/backstage.mjs mcp --device <name>`. Never fall back to a different device if the requested one is down.

Act. Do not check first: no status, help, dumpsys, screenshot, or HOME unless asked. Retry a failed action once, then stop.

Screen policy (every chat, VM, session): background shell first. If android.shell / pm / am / settings can finish the job, do not touch any display. If the task needs UI, do it on the headless virtual display so the user keeps using their phone. android.vd_open {query} opens the app there and returns displayId; then pass display=<displayId> to android.tap / tap_text / type / swipe / key / ui_tree / screenshot. android.vd_screenshot reads that display's own frame buffer. Audio still plays from the phone, so playing a song, sending a message, or changing a setting never touches the real screen.

Take over the real screen only when the task itself needs the user to see or touch it there ("play this video on my phone", "show me the QR code", anything they word as on my screen / on the phone). Even then, prepare everything on the virtual display and move the result over at the last second with android.vd_handoff. Never HOME, wake, or screenshot the real screen as a side effect. If an app refuses the virtual display, say so and ask before using the real screen.

If the device is offline, tell the user to open Android Backstage on that phone and tap Start. Do not use another device.

The CLI is `node cli/backstage.mjs`. The app on the phone is Android Backstage.
