Keep the lesson for the next incident
Document time semantics
Record field meaning, accepted offset, precision, missing-value rule, parser timezone, storage form, display zone, ordering, and expiry behavior. Define ownership for changing the contract and for re-evaluating historical records. Preserve the raw form in the fixture.
Keep boundary fixtures
Retain equivalent offsets, ordering boundaries, missing offset, DST-adjacent, reduced precision, invalid, display, and expiry examples. Store expected normalized values and decisions. Include the original drift shape for future client or API changes.
Review temporal signals
Watch parser failures, offset shifts, precision changes, unexpected local-time conversion, reordered records, and expiry changes by endpoint and client. Assign an owner and threshold. Close the follow-up only when supported consumers run the boundary fixtures.
What to carry forward
Close learning with time semantics, fixtures, parser and consumer owners, and recurrence checks. Keep external field meaning visible. The useful outcome is a reproducible raw-to-instant comparison, not a claim that timestamps will always use one format. Review parser changes with every temporal consumer.
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