Refactor: move all config migrations into one migrations module
“The migration code is scattered across every struct. This puts it in one place.”
You, again: “It's spread out on purpose. Each struct carries its own version and migration, so there's no separate layer to keep in sync…”