1. Summary
Move payment writes from the legacy table to the new schema in a single Sunday window, with a config-flip rollback held open for a week afterwards.
3.2 Rollback
If the cutover fails after the write switch, flip payments.write_target back to the legacy table and re-run the reconciliation job. Expect a fifteen minute gap in reporting while the job catches up.
Priya is editing this paragraph
4.1 Verification
Reconciliation must report zero unmatched rows across two consecutive runs before the freeze lifts. A single unmatched row is a rollback, not a discussion.
Ops holds the final call on lifting the freeze. Nobody merges to main until they say so in this document, not in chat.