Skip to content

ADR_00021: Time as a First-Class Concept

Status: Proposed / Accepted
Date: 2025-12-30


Context

V event-driven systému je čas klíčový pro:

  • události,
  • zpracování stavu,
  • audit a reporting.

Bez jednotné práce s časem:

  • systém spoléhá na lokální systémový čas,
  • vzniká nekonzistence,
  • složité vyhodnocování historických stavů.

Decision

Eventy vždy obsahují timestamp

  • UTC čas, generovaný producentem
  • Slouží pro ordering, auditing, replay

Zakázáno reliance na systémový čas bez explicitního zdroje

  • Lokální volání now() v doméně jen přes abstrakci zdroje času

Consequences

Pozitiva

  • Konzistence mezi doménami
  • Možnost deterministického replay a auditů
  • Prediktabilní behavior

Negativa

  • Nutnost abstrakce času ve všech doménách
  • Více boilerplate

Rationale

Rozhodnutí Důvod
Timestamp v eventu Determinismus a auditovatelnost
Explicitní časový zdroj Zamezení nekonzistence a reliance na lokální čas