Build a useful investigation brief
Build instant fixtures
Create UTC and offset representations of one instant, two instants near an ordering boundary, a missing-offset value, a DST-adjacent value, and reduced precision. Record expected normalized result and consumer decision before parsing.
Trace temporal conversion
Capture raw string, parser timezone, precision, normalized value, storage format, comparison, expiry, and display. Compare the first divergence between equivalent representations. Record client and response versions so a serializer change remains identifiable.
Challenge the time story
Vary only offset, precision, local timezone, field name, parser rule, or response version. Compare ordering and expiry outcomes. If the field’s semantic instant is unknown, state the missing source contract rather than choosing a convenient timezone.
What to carry forward
The investigation is ready when equivalent and distinct instants show their raw, parsed, stored, and compared values. Deliver a narrow parser or contract change. Keep historical interpretation and external field meaning explicit where evidence ends. Record the timezone assumption beside each comparison.
Technical background: Project documentation on GitHub.
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