This whole idea was a mistake.

At the end of the day what you end up with are inconsistencies between
the cache and the file. This is unnecessary and confusing. Optimization
is not the goal. Assume it to be unlikely that people are going to be
slurping different versions of the data. Worry about the rest later.

The API idea is kinda nice.