A comparison job runs against both schemas and must report zero disagreements for a full day before reads move.
Rejected alternative: cut reads over and monitor for errors. Faster, and it is what the deploy pressure argues for. What decided against it: a disagreement between two schemas does not necessarily raise an error — it returns a wrong answer, quietly, and the first person to notice is a user. Errors you can monitor; wrong answers you have to compare for.
A full day rather than an hour because the write patterns are not uniform — the overnight batch is the one most likely to expose a difference, and it runs once.