Evidence environment: Linux, Chromium web client, 1280x800 CSS pixels, dark theme.
Each commit ran its own Vite web app and real server in its own worktree, installed with vp i and started with T3CODE_DEV_SEED=0 vp run dev. VITE_HOSTED_APP_URL was set to that checkout's own web origin so it behaved as the hosted web client, with saved remote routes instead of a primary cookie connection. No backend URL was baked into the client.

Base: 871b00907d0bcf2705224de6c6e90de925c7cbb9; web port 7725, server port 15765.
Head: 69d0f35e770efca14c48d115bccdaa4122434203; web port 5957, server port 13997.
Both used fresh databases, separate one-time pairing codes for A and B, and the same minimal data/flow. A is 127.0.0.1; B is localhost. Routes are labeled “This device” because both addresses are loopback. The environment was renamed “Route test host” through the app's onboarding service to avoid publishing the host's name. Route ordering used the same catalog command as Settings. No refusal, connection state, or UI content was mocked.

1. Settings -> Environments -> Add environment: pair A.
2. Expand Routes -> Add route: pair B with a separate code.
3. Order A before B; set the synthetic environment label.
4. From the independent administrator CLI, list sessions and revoke the session labeled Route A only.
5. Record reloading the client, waiting for connection, and expanding 2 routes.
6. Base: B is In use, A has no indication that its session was refused. Head: B is In use, A is Sign-in refused, with the Add route re-pairing hint.
7. Add route: pair A's exact address with a fresh code. Both return to A In use. Head's refusal badge disappears.

Reconnect videos retain the same 12-second segment after the first 0.3 seconds, removing the recorder's stale initial frame and excess idle footage. Repair videos show submitting the prefilled Add route form; pairing-code field, host-name line, and transient notification are covered for privacy. Uploaded stills were byte-identical to a second screenshot taken more than 500 ms later and were visually inspected. Recordings were opened as frame contact sheets and checked for the final expanded, connected state.

AI-assisted; verified with the tests and tools listed above.
