# Claude one-hour cache-write pricing proof

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

Base: f03db4fbef59c42113e37c32897bf4d25d31cb2b
Head: 4af2cfd8cff006fd02aa23daa46ee6df9c361dd6

For each commit, install with `vp i` in its own checkout, then use a fresh T3 home:

```sh
python3 seed.py "$SCRATCH" "$CHECKOUT/.t3"
cd "$CHECKOUT"
T3CODE_DEV_SEED=0 CLAUDE_CONFIG_DIR="$SCRATCH/claude" vp run dev
```

`seed.py` creates only a synthetic Claude transcript and provider settings. It does not use a real account or copy a database.

In the real web client, pair using that server's startup link, open Usage, choose Cost and 30 days. In the provider menu, deselect All providers and select Claude Code. Close the menu.

The one assistant record uses public pricing model `claude-opus-4-5-20251101`, with 1,000,000 cache creation tokens, all assigned to `cache_creation.ephemeral_1h_input_tokens`; 5-minute writes and every other token count are zero.

Observed base: total $6.25, Cache write $6.25, processed tokens 1M.
Observed head: total $10.00, Cache write $10.00, processed tokens 1M.

Both captures: Linux web dev client, Chromium, light theme, 1280x800 CSS viewport. Two full screenshots taken at least 500ms apart were byte-identical on each side. Images are cropped identically to the complete Usage dialog and scaled from device pixels to CSS pixels to exclude unrelated background metadata. The displayed usage figures were not altered.

The scenario runner was attempted twice, but its app command did not inherit CLAUDE_CONFIG_DIR. Those runs used unrelated usage data and were discarded. The manual runs set the synthetic home explicitly in provider settings as well as the process environment.
