ADR-055 — Clock and timezone

Architecture decision record — status: Accepted.

Source: docs/adr/ADR-055-clock-timezone.md

ADR-055: Clock and timezone

Estado

Accepted — 2026-08-23

Decisión

  1. Persistencia: timestamptz (UTC) o date (due/promised sin hora).
  2. Reloj de negocio: timezone de Organization (ADR-003, DOC-002). Default America/New_York en signup (ADR-048) — editable en settings.
  3. Aging y “hoy”: startOfDay en tz de la org. Sequences (Due−3) usan esa fecha, no UTC midnight.
  4. Dominio recibe un puerto Clock. Prohibido new Date() suelto en rules de aging/promises (ADR-022).
  5. API: ISO-8601. UI: formateo en-US en tz de org (ADR-035).
  6. Tests: clock inyectado (2026-08-15T12:00:00-04:00).

Job EvaluatePromises y SequenceStepDue usan el mismo Clock.