DEV Community

Cogweald
Cogweald

Posted on

Treating “one day” as a system primitive

For most AI apps, the unit of time is a request.

A user sends a message, the model responds, and the workflow ends. Cogweald is designed around a different primitive: one real day.

Each world can advance by at most one chapter per day. That sounds like a product rule, but it is also an important systems abstraction. It gives state changes a rhythm, makes costs predictable, and gives readers a reason to return at a known cadence.

It also creates a real engineering question: what happens when the cron job fires twice? How do we prevent one day from advancing twice? We use a database-level tick claim, turning the time window into a state transition that can be claimed and verified.

Time is not just a date label in the UI. Once it affects permissions, cost, scheduling, and consistency, it becomes a core product primitive.

What concept in your product is currently treated as a string, but should really be modeled as system state?

Top comments (0)