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 |