Task
Build a small `cache_decision(hit_ratio, origin_cost_ms, cache_cost_ms)` that returns either `"cache"` or `"origin"`:
- Expected latency for "cache" = `hit_ratio * cache_cost_ms + (1 - hit_ratio) * (cache_cost_ms + origin_cost_ms)`
- Expected latency for "origin" = `origin_cost_ms`
- Pick whichever is lower; break ties in favour of `"origin"` (simpler architecture wins on tie).
Inputs:
- `hit_ratio` is a float 0.0 to 1.0
- costs are positive ints (ms)