Guest history reconnect scenario setup

Use the current main scenario runner. Apply guest-scenario-setup.patch to its start-app.ts. The patch enables the Guest links beta and gives each fresh scenario server its own real T3 Connect managed link using a dedicated test-stage OAuth credential.

Before running, authenticate a fresh scratch T3 home with `t3 connect login --headless --base-dir <scratch-home>`, using the supplied test-stage configuration and account. Point SCENARIO_CONNECT_TOKEN at that scratch home's userdata/secrets/cloud-cli-oauth-token.bin. Set T3CODE_CLOUDFLARED_PATH to the real supported cloudflared executable if it is not on PATH. Export the supplied T3CODE_* and VITE_* test-stage settings. Set T3CODE_DEV_SEED=0 and T3_SCENARIO_INHERIT_ENV='SHELL,T3CODE_*,VITE_*,SCENARIO_CONNECT_TOKEN'. Never include these private values in uploaded artifacts.

Run `vp run scenarios:prove scripts/scenarios/guest-history-reconnect.e2e.ts --base a68c367e4ff3d31a4a43493f6b22f83de1c6eb35 --head 9e5b6c5f567c43be0acc94b090abe71dd7993ece --upload-command "ghdrop upload"`.

The scenario uses one browser tab to visit owner and guest views alternately. Navigating away from the guest closes EventSource and preserves its sessionStorage, as in the reported reproduction. It opens the guest link's path and invite on the dev origin, so the real guest endpoints are served by the same isolated server. Owner follow-up messages come from the composer, not the CLI. Only the initial project and replay thread are seeded by the scenario CLI.

Each scenario run logs out and deletes its test-stage environment/tunnel in finally. Log out the scratch credential home after the proof. Captured data is synthetic. Browser: Chromium on Linux, 1280 x 800, light theme. Agent: Replay (dev), Multi turn.
