Aglet

Investigate API date-time serialization drift

Investigation should show whether a timestamp representation changed or the instant itself changed. Build equivalent and distinct instant fixtures, trace them through parsing and storage, and inspect ordering or expiry. Keep missing offset, local-time conversion, precision loss, and server semantics separate.

Build a useful investigation brief

  1. 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.

  2. 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.

  3. 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