A migration steps a snapshot exactly one version forward.
Signature is (prev) => next — no async, no side effects, no IO.
The returned object MUST satisfy the next version's shape.
Migrations are pure so they can be safely re-run in test fixtures
and snapshot harnesses; do not log or warn here either.
A migration steps a snapshot exactly one version forward. Signature is
(prev) => next— no async, no side effects, no IO. The returned object MUST satisfy the next version's shape.Migrations are pure so they can be safely re-run in test fixtures and snapshot harnesses; do not log or warn here either.