-
Notifications
You must be signed in to change notification settings - Fork 1
Open
Labels
Description
The current spec uses an epoch of Jan 1, 2020 with an unsigned timestamp field. This has two implications:
- Systems that predate 2020 cannot be cleanly migrated, and the spec does not define behavior for timestamps before the epoch.
- The Go reference implementation becomes incompatible with
testing/synctest(which starts time at Jan 1, 2020).
Proposal / discussion points:
- Consider switching to the UNIX epoch (1970-01-01) as the base. This reduces the forward range by ~50 years but significantly improves backwards compatibility.
- Optionally consider a signed timestamp field to allow pre-1970 IDs.
- Clearly specify expected behavior for timestamps earlier than the chosen epoch (error, clamp, or special encoding).
Acceptance criteria:
- Spec clearly states the epoch and behavior for timestamps before it.
- Decision documented on whether the field is signed/unsigned and why.
Reactions are currently unavailable