Background
Cluster timestamp handling spans multiple related surfaces:
types::Cluster
tables::Cluster
- private
ClusterDbSchema
These are easy to confuse because the public DTO and stored table value are separate surfaces with similar timestamp fields.
Prerequisites
- Default bincode table value baseline has landed.
- Any cluster-specific public/stored fixture coverage has landed.
- The table-value implementation umbrella is open and linked.
- Old-byte fixture coverage for the exact
tables::Cluster stored value exists before production type changes are made, or this issue adds that fixture coverage first.
- Public/API fixture or compile coverage for
types::Cluster exists before production type changes are made, or this issue adds that coverage first.
Scope
- Migrate
types::Cluster.last_modification_time.
- Migrate
tables::Cluster.last_modification_time.
- Migrate private
ClusterDbSchema.last_modification_time conversion/compile surface.
- Preserve stored bytes for
tables::Cluster where possible.
- Preserve public API semantics for
types::Cluster.
Acceptance criteria
- Public DTO and stored table value roles are reviewed separately.
- Old
tables::Cluster stored bytes remain readable, or data migration is explicitly implemented.
- Public/API impact of
types::Cluster is visible in tests or compile checks.
- Cluster query/conversion behavior still passes existing tests.
- Any remaining chrono usage in the touched cluster surfaces is explicitly justified.
Out of scope
column_stats, even though it also uses NaiveDateTime.
- Final chrono dependency cleanup.
Notes
Related discussion: #733
Background
Cluster timestamp handling spans multiple related surfaces:
types::Clustertables::ClusterClusterDbSchemaThese are easy to confuse because the public DTO and stored table value are separate surfaces with similar timestamp fields.
Prerequisites
tables::Clusterstored value exists before production type changes are made, or this issue adds that fixture coverage first.types::Clusterexists before production type changes are made, or this issue adds that coverage first.Scope
types::Cluster.last_modification_time.tables::Cluster.last_modification_time.ClusterDbSchema.last_modification_timeconversion/compile surface.tables::Clusterwhere possible.types::Cluster.Acceptance criteria
tables::Clusterstored bytes remain readable, or data migration is explicitly implemented.types::Clusteris visible in tests or compile checks.Out of scope
column_stats, even though it also usesNaiveDateTime.Notes
Related discussion: #733