Runtime proof for self-update CLI selection This is a real built Linux T3 server/CLI proof, not a test-runner result. Both sides start from the same base-built 0.1.9 server. Each update target is built from its respective commit, with only package.json.version changed to the synthetic newer release label 0.1.10. Launchers are shell executables that exec the Node bundles. Both runtimes are preinstalled in isolated fresh homes with install-complete sentinels. The real self-update service validates the cached target, requests the launcher handoff, starts the trial server, and commits it. The driver invokes the same authenticated WebSocket RPC as Update server and checks the real public environment endpoint and CLI. No real user state is seeded. No model/provider turn is run. The launcher runs directly rather than under systemd. Desktop UI, systemd installation, release download, macOS and custom-bin service environment propagation are not covered by this capture. recording.cast contains timestamped output from the actual driver run. recording.mp4 renders that recorded output as a terminal transcript, retaining its timing. result.png is the final transcript view, not an app screenshot. No raw server logs, pairing links or credentials are included. Use prepare.sh with base and head checkout paths plus a scratch directory containing driver.py and update.mjs. Dependencies: vp, Node, Python 3. render.py additionally needs ImageMagick and ffmpeg. AI-assisted; verified with the tests and tools listed above.