# OpenCode global-config reload evidence

Run each commit in its own installed checkout with `T3CODE_DEV_SEED=0 vp run dev --home-dir <fresh-home>`.
Use a fresh settings.json with OpenCode enabled and an instance environment entry pointing XDG_CONFIG_HOME at a new synthetic config root. Use the installed real OpenCode binary. Other real providers are disabled. The config directory must exist before the server starts.

1. Run `python3 config-edit.py <config-root>/opencode/opencode.json remove` before startup. This installs the synthetic baseline model.
2. Seed a project titled Config demo using `node apps/server/src/bin.ts project add <empty-git-repository> --title 'Config demo' --base-dir <fresh-home>`.
3. Seed a free replay thread using `node apps/server/src/bin.ts thread start <empty-git-repository> Ready --title 'Config reload' --provider devReplay --model multi-turn --wait --json --base-dir <fresh-home>`.
4. Pair the browser, open Config reload, replace the details surface with the empty surface panel, open the composer model picker, select OpenCode, and search Evidence Baseline. Confirm it is listed.
5. Search Evidence Reload Proof, blur the input, and start browser recording.
6. Run `python3 config-edit.py <config-root>/opencode/opencode.json add`. Do not refresh the browser or provider status. On base, the picker stays at No models found after 20 seconds. On head, the synthetic model appears automatically.
7. Run the same command with `remove`. On head, the model disappears automatically; on base it remains absent. Stop recording.

Both sides: Chromium preview browser, 1280x800 CSS viewport, light appearance, fresh synthetic databases, OpenCode 1.19.5. No real agent turns. Screenshots were checked in matching pairs with zero differing pixels; videos were inspected as contact sheets and final frames. Captures omit host labels and real provider model names.

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