Ordered forward migration ladder for persisted region records, oldest first.
Schema 2 and schema 3 describe the same RegionRecord layout — database
version 3 changed only the staging rows, which
migrateLegacyStaging already backfills — so this step is deliberately
the identity on region records. It exists because the machinery has to be
real and exercised before the first layout change, not written under the
pressure of one: the ladder, its bounds, its identity invariants, and its
fail-closed refusal are all proven by a step that provably changes nothing.
Ordered forward migration ladder for persisted region records, oldest first.
Schema 2 and schema 3 describe the same
RegionRecordlayout — database version 3 changed only the staging rows, which migrateLegacyStaging already backfills — so this step is deliberately the identity on region records. It exists because the machinery has to be real and exercised before the first layout change, not written under the pressure of one: the ladder, its bounds, its identity invariants, and its fail-closed refusal are all proven by a step that provably changes nothing.