Half-Life Clock Skew

detected 2026-03-02

trigger

"The TypeScript pre-check uses Date.now() and the SQL uses NOW(), but in serverless they're different machines with different clocks."

what it is

A computation duplicated across trust boundaries (app server vs database) using implicitly different time sources. In serverless deployments these are different machines. When exponential decay is involved, a clock difference of seconds can flip the result.

what it signals

instead

Let the database be the single clock authority.

refs

  • wake:lib/intro-pool.ts

← all patterns