Aglet

Investigate Timezone Conversion and Date Drift

Investigation must distinguish the instant an event represents from the local date a report assigns it. Reconstruct conversions step by step with fixed instants and zone transitions, then compare query predicates and grouping. Keep business policy and implementation behavior as separate conclusions.

Build a useful investigation brief

  1. Fix the reference instants

    Build fixtures around midnight, offset changes, daylight-saving transitions, and precision boundaries using explicit instants and intended local dates. Include an event whose source offset differs from the application default. Label expected outcomes before running the conversion to avoid hindsight.

  2. Trace every conversion

    Capture raw timestamp text, parsed value, normalized storage value, query parameter, grouped date, and rendered value. Check whether a zone is discarded, applied twice, rounded, or replaced by a process default. Record code, query, and configuration revisions for each stage.

  3. Compare competing semantics

    Run the same fixtures under occurrence-time, ingestion-time, and declared business-date interpretations where relevant. Compare event membership, ordering, and totals. Use source documentation or an owner decision to resolve policy; implementation evidence alone cannot choose between valid business meanings.

What to carry forward

The investigation should end with a conversion map, boundary fixtures, changed outputs, and a clear statement of whether the issue is implementation or policy. Recommend a smallest scoped correction and identify records that need review. If source offsets are absent, preserve that uncertainty rather than inventing a zone.

Keep the decision with the work.

Use a Work Item in Aglet to record the problem, the evidence you have, and the next decision. Add an owner and priority, then keep updates in the discussion so the next person can follow the reasoning.

Create an account See the product workflow