# OpenCode Go usage pricing evidence

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

## Setup

Run seed.py once from an empty scratch directory. It creates synthetic OpenCode SQLite history and two fresh T3 homes. Each history record has providerID `opencode-go`, recorded cost zero, 1,000,000 input tokens, 500,000 cache-read tokens, 250,000 cache-write tokens, and 100,000 output tokens. The two model IDs are `deepseek-v4.1-flash` and `deepseek-v4.1-flash-free`. No live conversation or account was used.

Use separate checkouts at base `ba32aabf62e6d33b55656bf8b836d407303a70fe` and head `ef6bb2ac3b6370572de760b0ca4eb438f18d02df`. Install each with `vp i`. Start each with `T3CODE_DEV_SEED=0 OPENCODE_DATA_DIR=<scratch>/opencode vp run dev --home-dir <scratch>/<base-or-head>`. Use the startup pairing URL privately; do not upload it.

## Browser steps on each side

1. Pair the web client with its server. Set the viewport to 1440 × 1100 CSS pixels, using the default light theme.
2. Open `/usage`, choose Cost and the 30 days period containing the newly seeded messages.
3. Open the provider filter, uncheck All providers, then check OpenCode; dismiss the menu by clicking the Usage heading.
4. Use the only environment connected to that fresh client. The UI labels this selection All environments because all one connected environments are selected. No custom model-price overrides or aliases are configured in either fresh home.
5. Capture the complete Usage modal. Take two screenshots more than 500 ms apart and require identical pixels before retaining the second.

## Observations

Base: both models show Unpriced, total $0.00, cache savings $0.00, and the unpriced-details icon is present.

Head: paid model $0.50, free model $0.00, total $0.50, cache savings $0.15, and no unpriced warning.

Both servers independently fetched the same `opencode_go/deepseek-v4.1-flash` rates: input $0.30/million, output $1.20/million, cache read $0.006/million; cache write falls back to input rate. The paid estimate is $0.300 + $0.003 + $0.075 + $0.120 = $0.498, displayed as $0.50. The free record contributes zero. The UI rounds the $0.003 cache-read component to $0.00.

The screenshots were opened and visually inspected. ImageMagick compare reported zero differing pixels for each side's pair. Captures contain only the synthetic OpenCode records. The defect is static rendering of history pricing, so stills are the evidence.

The scenario runner was not used because replay history cannot supply OpenCode-native provider IDs and recorded costs. This comparison runs the actual provider history reader, real server pricing, and real web client against synthetic native history.
