# Provider update and another provider's enable switch

Use two separate checkouts: merge-base 31a108c195f6f720c1d3232e3fb0ae9ef1e66554 and fix 869760c3a979802a912a6a9d3a0f2eec942f3b72.

For each checkout:

1. Install dependencies with `vp i`.
2. Install `@openai/codex@0.160.0` globally into a separate disposable npm prefix. Put that prefix's bin directory first on the dev server's PATH. Do not update a shared Codex installation.
3. Start `T3CODE_DEV_SEED=0 vp run dev` with a fresh checkout-local database. Pair the browser using its startup pairing link.
4. Use Chromium 157 on Linux, light theme, CSS viewport 1440 x 1000.
5. Open Settings > Providers. Select Replay (dev) so the provider list and its enabled switch remain visible. Keep Replay enabled.
6. Open Codex's Update available popover. Start recording the browser.
7. Evaluate `interaction.js` in the page. It clicks Update now, clicks the Replay switch 1.5 seconds later, and records rendered switch/update states with a MutationObserver. In an evaluation tool with a short response timeout, use awaitPromise=false, then read window.issue26062Evidence after the script completes.
8. Stop recording after the update and settings write finish. Both real npm installations updated from Codex 0.160.0 to 0.167.2. Reloading the fix's Providers route retained Replay disabled.

The base held Replay enabled for 6,205 ms after the click and rendered it disabled only after Codex's Updating indicator cleared. The fix rendered Replay disabled 256 ms after the click, with Codex still updating for another 8,050 ms. See timeline.json for the observer events.

These are real app recordings, not mocked RPCs or tests. Videos are cropped to the provider controls to remove machine labels, model selectors and runtime paths. The manual update command's path was visually hidden with CSS before recording; provider controls and state were unchanged. Captions summarize measured DOM timings rather than acting as a playback clock. Browser recording cadence is variable.

The scenario runner was not used because its documented exclusions include provider-specific behavior; this reproduction needs a real Codex installation update.

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