pub fn save_state(entries: &[Entry]) -> Result<()>Expand description
Writes via a temp file in the same directory plus rename, so two bb
processes racing right after an upgrade cannot interleave and leave a
truncated skills.json — fs::write truncates first, and rename on the
same filesystem is atomic where plain writes are not.