feat(scheduler): run fixed-time tasks in a chosen time zone

A fixed-time task always ran on the environment's local clock, so a user in
another zone had to convert times by hand and redo it at every daylight-saving
change.

fixed_time schedules take an optional IANA timeZone, checked with Intl when
written. Without one, runs stay on the server's local time. The next run is
computed in that zone, so a time skipped when clocks spring forward runs that
much later and a repeated one runs once. A save that omits timeZone keeps the
stored zone, so older clients do not clear it; null removes it.

Web and mobile settings can set and show the zone, and the agent tools
describe it.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
7b635bccaeWills Manley committed on 10/22/2026, 11:20:22 PMparent2c8bdf6

Checks

All checks passed
18 files changedLine totals unavailable