Hearth · four scenarios · simulator
The same library, four different failures
These prices are the offline simulator for Gemini 2.5 Flash.
They are not a provider bill. Regenerate this page with
hearth scenarios --html hearth-scenarios.html.
A clock at the top of the instructions
The system text is the same every turn except the time. Observe and safe send that changing line first, so nothing is read from cache. Optimize moves the time onto the latest user message. The stable instructions are then read from cache and the input cost falls. The guard still records breaks, because the clock written onto an earlier turn is not in the history the next call sends.
| Mode | Read share | Input cost vs no cache | Breaks blamed on the app |
|---|---|---|---|
| observe | 0.0% | 1.00× | 2 |
| safe | 0.0% | 1.00× | 2 |
| optimize | 66.4% | 0.42× | 2 |
The same tools, in a new order
The second call sends the same three tools shuffled. Safe puts them back in the first-seen order before the simulator prices the call.
| Mode | Read share | Input cost vs no cache | Breaks blamed on the app |
|---|---|---|---|
| observe | 0.0% | 1.00× | 1 |
| safe | 49.9% | 0.56× | 0 |
| optimize | 0.0% | 1.00× | 1 |
Too short to cache
The prompt is one short question. A miss here is the provider minimum, and it is not counted as the application's fault.
| Mode | Read share | Input cost vs no cache | Breaks blamed on the app |
|---|---|---|---|
| observe | 0.0% | 1.00× | 0 |
| safe | 0.0% | 1.00× | 0 |
| optimize | 0.0% | 1.00× | 0 |
An earlier message was edited
The first user message changes on the next call. Hearth names that break. It does not quietly rewrite history to hide it.
| Mode | Read share | Input cost vs no cache | Breaks blamed on the app |
|---|---|---|---|
| observe | 49.9% | 0.57× | 1 |
| safe | 49.9% | 0.57× | 1 |
| optimize | 49.9% | 0.57× | 1 |