# Browser driver transcript

Surface for both runs: Linux web development app, Chromium preview browser,
1280 × 800 CSS pixels, light theme, device pixel ratio 2. Each commit ran
from its own worktree with T3CODE_DEV_SEED=0 and fresh application state.
No production database was read or copied. No agent turn was started.

The browser was driven through T3 preview tools. Selectors below are the
literal selectors passed to preview_act. Local paths and pairing secrets
are intentionally represented by placeholders.

## Identical setup on each side

1. preview_open: startup pairing URL.
2. Click `button[aria-label="Settings"]`.
3. Click `button:has-text("Providers")`.
4. Click `button[aria-label="Add provider"]`.
5. Click `[role="radio"]:has-text("OpenCode")`.
6. Click `button:has-text("Next")` twice.
7. Type the absolute Vite+ bin/opencode shim path into
   `input[placeholder="opencode"]`. This explicitly selects the Vite+
   installation without modifying the VM's PATH.
8. Click `button:has-text("Add instance")`.
9. Click `button:has-text("Refresh provider status")`; allow discovery to finish.

## Interaction

When the update indicator exists, click the editor's second
`button[aria-label="Update available, view details"]`, then
`button:has-text("Update now")`. After the command finishes, reopen the
same indicator to inspect its result. On head there is no update indicator
or Update now action, so the flow ends after refreshing status.

Base: installed version 2.2.6; update offered; command completed; version
remained 2.2.6; popup reported "Update command completed, but T3 Code still
detects an outdated provider version."

Head: installed version 2.2.6; no update offered after refresh.

The base recording shows the offered update, actual command, completion,
and reopened result. The head recording shows the status refresh and its
settled result. The first base recording attempt was discarded because
opening the popup during refresh caused the refreshed card to close it.

## Capture processing

Two PNGs per side were captured more than 500 ms apart and verified
byte-identical with cmp before selecting the final still. Recordings and
stills were opened and visually inspected before upload.

Raw captures were 2560 × 1600. Both sides were resized to 1280 × 800,
cropped to the settings modal at x=40,y=40,w=1200,h=720, and received the
same two opaque redactions: environment machine label and binary path.
No provider version, update indicator, update command, or result was edited.

The live registry at capture time (2026-11-10 UTC) had latest 2.2.7,
published 2026-11-10T10:33:01.652Z. Version 2.2.6 was published
2026-11-06T23:33:40.086Z. Managed npm dry-run selected 2.2.6 with
min-release-age=3. Vite+ version was 1.5.1; app workspace Vite+ was 1.4.0.

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