Ring-buffer backups of .vultan.ron. Before each write we shift any
existing .bak.N files up by one and rename the current file to .bak.0.
Bounded space: at most N_BACKUPS historical copies are kept; the oldest
is discarded automatically.
Current persistence-format version. Bumped when the on-disk schema for
.vultan.ron changes in a way that needs migration. Existing files
without this field load as version 1 via #[serde(default = ...)].