The freeze that wasn't
A change freeze is a promise everyone makes and one team keeps. War story, then the enforcement checklist.

War story, serial numbers filed off. A retail estate, a warehouse system moving homes, a two-week change freeze on the old side agreed in writing by every team lead. Cutover weekend arrives. The reconciliation fails by 4,000 rows.
Four thousand rows turned out to be one "emergency" price update, one integration credential rotated by a security scanner on schedule, and one column added by a developer who had the change open since before the freeze and merged it out of habit. Three changes. None malicious. Each one signed off inside a team that considered itself obviously exempt.
That is what a freeze is: a promise everyone makes about other people's changes. Enforcement is the part that counts, and enforcement is boring:
- The freeze is a technical control, not an email. Revoke deploy permissions on the frozen estate for the window. People respect a 403 more than a memo.
- Scheduled jobs count as changes. Walk the cron tables and the scanner schedules the week before. The credential rotation that bit us was doing its job.
- In-flight work gets flushed or parked before the freeze starts. A merge queue with month-old changes is a freezer full of doors.
- One exemption path, one approver, every exemption logged in the cutover channel where the reconciliation team can see it. The exemption that is announced costs an hour. The quiet one costs the weekend.
The price update, for the record, could have waited nine days. It went through because asking was harder than doing. Make asking easier than doing for two weeks. That is the entire discipline.