RemoteCookbooks are compared using set notation, this requires you to

implement #eql? and #hash for appropriate behavior

Without this, if you save a full cache then restart the server, it will
rebuild the cache as if it were empty (removing all existing items on
the first pass through).