example-timezone-boundary
Source of truth: toolkit/scaffold/memory/example-timezone-boundary.md. Edit it there; this page is regenerated on build.
Symptom: renewals for policyholders acting between midnight and 01:00 UK time (during BST) were dated one day early, tripping the "effective date precedes cover start" validation.
Root cause: renewal date computed from a UTC timestamp, then compared against a cover-start date stored in UK local time. During BST the UK local date rolls at 23:00 UTC — so between 00:00 and 01:00 local, a UTC-derived date is still on the previous day.
Fix: compute renewal dates in Europe/London, not UTC; compare dates in the same zone. Never mix a UTC instant with a local date in date arithmetic.
Verification: boundary test at 00:30 BST (23:30 UTC the previous day) asserts the renewal date equals the local calendar date; regression added to the date-arithmetic suite.