All field notes

Runtime Governance

What Time Is It Inside an Autonomous Organization?

Autonomous organizations need civil time, elapsed time and authoritative order—and must govern confidence in each.

MP
Max PerfiljevFounder & CEO, AES · Architect of Autonomous Organizations
Read in Russian

An autonomous organization acts in time, whether its architecture acknowledges that fact or not. A credential expires at a stated moment. An approval is valid for a limited period. A delegated authority must end. A lease moves from one worker to another. A workflow crosses a contractual deadline. A record enters a retention window. A policy becomes effective.

It is tempting to treat all of these as comparisons against a host timestamp: if the clock says the deadline has passed, deny the action; if it says a lease has expired, take it over. That design turns a machine clock into an unexamined governance dependency. A corrected clock can jump. A synchronized clock can still be uncertain. An authenticated time exchange can still be delayed or served by a compromised source. And two timestamps, however precise, do not by themselves establish which consequential decision authoritatively came first.

The better question is not whether the organization has the right time. It is: which kind of time is this decision using, how much confidence does the runtime have in it, and what may the organization do when that confidence falls? Time should be an explicit runtime capability, not incidental metadata attached to logs.

There is no universal timestamp

A governed runtime needs at least three distinct time semantics. They answer different questions and should not be silently substituted for one another.

  • Civil time answers: when did this happen in a form meaningful outside the system? Use authenticated UTC, or a stated UTC offset, for audit evidence, externally defined deadlines, retention rules and policy effective dates.
  • Monotonic time answers: how much time has elapsed locally? Use it for retry backoff, timeout durations, local liveness checks and lease timers. On POSIX/Linux, CLOCK_REALTIME can change discontinuously, while CLOCK_MONOTONIC cannot be set and does not go backward.
  • Authoritative order answers: which competing decision committed first? Use a transactional, consensus-based or logical-order mechanism. Wall-clock timestamps are supporting evidence, not a replacement for commit authority.

This separation is practical rather than academic. Consider an agent that has 30 seconds to retry an API call before escalating. Measuring that interval with civil time is a design error: a wall-clock correction can lengthen, shorten or otherwise distort the period. Now consider an approval that expires at 17:00 UTC. A monotonic timer can help the local process wait, but it cannot establish the externally meaningful expiry recorded in the governing policy. Finally, consider two agents attempting to acquire the same authority after a lease appears to lapse. Neither agent’s local observation of time is enough to decide exclusive control. The handover needs an authoritative write order.

Clock confidence belongs in the authorization context

Time sources are not equally trustworthy at every moment. NIST control AU-8 requires internal clocks to generate audit timestamps with organization-defined granularity using UTC or an explicit UTC offset. The NIST catalog also addresses synchronization with authoritative and secondary authoritative sources under SC-45. These are useful foundations, but synchronization is not proof that every time-sensitive decision is safe.

Network Time Security, defined in RFC 8915, strengthens NTP client-server synchronization with server identity, packet authentication, replay prevention and request-response consistency. That matters. Yet RFC 9523 documents time-shifting attacks that can remain possible even with encrypted and authenticated NTP traffic, including delayed packets and compromised time servers. Authentication protects important properties of the exchange; it does not remove the need to reason about temporal uncertainty, source health and failure modes.

A runtime should therefore produce a time attestation alongside a consequential decision. This need not imitate specialized infrastructure such as Google’s TrueTime implementation. The transferable principle is simpler: do not represent time as an unqualified instant when the system has relevant uncertainty. TrueTime exposes an interval, and Spanner uses bounded uncertainty when assigning transaction timestamps consistent with externally observed commit order. Most organizations do not need that architecture. They do need to know whether their clock is within the tolerance that a decision requires.

In practice, clock confidence should be input to authorization. A policy might allow routine, reversible work while synchronization health is degraded, but prohibit a high-value transfer, credential renewal, policy activation or exclusive lease handover. It might require a second source, a tighter uncertainty bound, or human review before proceeding. This is not merely an alert for operations. It changes what the organization is permitted to do.

Make temporal decisions evidence-bearing

For every consequential action, persist more than a single timestamp. The decision record should state the time source and its identity or provenance; the observed civil time and UTC offset where relevant; synchronization health or known uncertainty; the governing deadline or validity interval; the monotonic reading used for local elapsed-time logic; and the authoritative commit sequence or logical order that established the result.

The distinction between observed time and governing time is especially important. An agent may observe that an approval is still valid at its local clock reading, while the authoritative transaction that commits the action occurs after the approval deadline. The runtime must define which event governs. For material effects, the defensible answer is usually to evaluate validity at, or immediately before, authoritative commit—not only when the agent formed its plan. The record should make that evaluation inspectable later.

Audit timestamps remain necessary, but they are not tamper-proof evidence by themselves. Their value depends on authenticated sources, protected logs, provenance and control over clock configuration. A timestamp without these surrounding controls can describe a claim about when something happened; it cannot independently settle that claim.

A lease is authority, not a countdown

Lease design makes the problem visible. Kubernetes Lease objects combine holder identity, renewal timestamps and lease duration for purposes including node heartbeats and leader election. But leader acquisition is also protected through optimistic concurrency on the object resource version. This is the right architectural lesson: timestamp expiry alone is insufficient for exclusive authority. A contender must win an authoritative update against the current version, not simply decide that its own clock says another holder is late.

The same rule applies to agent roles. If a worker loses time synchronization, it should not infer that a peer’s lease is safely dead and take over a sensitive function. It can continue narrow, local or reversible duties according to policy. It can raise a recovery request. But a transfer of exclusive authority should wait for a healthy temporal condition and authoritative arbitration. This may reduce availability during a clock incident. That is a deliberate trade: ambiguity about time should not become ambiguity about who is authorized to act.

Design a temporal degradation policy

Every autonomous runtime should define what happens when time confidence degrades before the incident occurs. The policy should name measurable states rather than rely on a vague concept of “clock drift”: for example, healthy synchronization, degraded synchronization, unavailable trusted source, or uncertainty beyond the bound permitted for a particular action. The important point is not one universal threshold. A one-minute reporting delay and a one-second authority transfer can reasonably have different tolerances.

  • Continue: permit actions whose effects are reversible, bounded and not dependent on tight civil-time validity.
  • Constrain: shorten delegation duration, block new long-lived credentials, pause scheduled policy transitions and require stronger checks for external commitments.
  • Refuse or review: deny sensitive lease transfers, expiry-based revocations, high-value actions and deadline-sensitive commitments; route them to an authority that can establish the required temporal condition.
  • Recover: record the degraded interval, reconcile actions taken under it, and make any policy exceptions visible to audit.

This policy has an operating consequence beyond clock management. It makes the organization legible under temporal stress. Rather than allowing each agent to improvise around a dubious timestamp, the runtime applies a defined reduction in authority. Teams can then test that behavior: induce a loss of synchronization, introduce a bounded delay, attempt a lease takeover, and verify both the refused action and the evidence record.

Time is part of the control plane

An autonomous organization does not need a single perfect clock. It needs explicit semantics for civil evidence, elapsed duration and authoritative order; observable confidence in the sources supporting them; and policy that turns weakened confidence into narrower authority. Those choices make time inspectable, contestable and governable.

The host clock should no longer be the silent judge of expiry, succession and compliance. Treat time as a governed capability. Then a system can say not only when it acted, but which temporal conditions made that action permissible—and what it correctly declined to do when those conditions were not present.

BUILD WITH AES

Turn architecture into an operating company.

AES connects strategy, tasks, organizational memory, knowledge, agents, people and approvals in one execution environment.