Memoir_content.Build_cacheIncremental-build cache: maps each source file to a content hash so unchanged files can be skipped on rebuild.
val load : cache_file:string -> tLoad the cache from cache_file; empty if the file is absent or unreadable.
val empty : cache_file:string -> tAn empty cache that will persist to cache_file (used for a forced full rebuild).
val needs_rebuild : t -> string -> boolWhether file must be rebuilt: true if it has no recorded hash, its content changed since last build, or it is an aggregating section index (which is always rebuilt).
Record file's current content hash, and invalidate the section index that aggregates it (so blog/journal listings regenerate).
val save : t -> unitPersist the cache to its file.