Establish UTC as the system-wide timestamp convention

All timestamps must use UTC for storage, transmission, and processing.
Local time conversion is a Central UI display concern only. Documented
in Commons (REQ-COM-1) and HighLevelReqs (Section 13.1).
This commit is contained in:
Joseph Doherty
2026-03-16 09:30:08 -04:00
parent 3a833f5dea
commit 6d33e93610
2 changed files with 9 additions and 0 deletions

View File

@@ -37,6 +37,8 @@ Commons must define shared primitive and utility types used across multiple comp
Types defined here must be immutable and thread-safe.
**Timestamp convention**: All timestamps throughout the system must use **UTC** (`DateTime` with `DateTimeKind.Utc` or `DateTimeOffset` with zero offset). This applies to all stored timestamps (SQLite, MS SQL, audit log entries), all message timestamps (attribute values, alarm state changes, health reports, event log entries, deployment records), and all wire-format timestamps (Akka remoting, Inbound API responses). Local time conversion, if needed, is a UI display concern only.
### REQ-COM-2: Protocol Abstraction
Commons must define the protocol abstraction interfaces that the Data Connection Layer implements and other components consume:

View File

@@ -459,6 +459,13 @@ Sites log operational events locally, including:
### 12.3 Central Access
- The central UI can **query site event logs remotely**, following the same pattern as parked message management — central requests data from the site over Akka.NET remoting.
## 13. General Conventions
### 13.1 Timestamps
- All timestamps throughout the system are stored, transmitted, and processed in **UTC**.
- This applies to: attribute value timestamps, alarm state change timestamps, audit log entries, event log entries, deployment records, health reports, store-and-forward message timestamps, and all inter-node messages.
- Local time conversion for display is a **Central UI concern only** — no other component performs timezone conversion.
---
*All initial high-level requirements have been captured. This document will continue to be updated as the design evolves.*