Keep the lesson for the next incident
Cluster time misunderstandings
Group cases by source lag, hidden as-of context, period boundary, comparison mismatch, or export loss. Record the words readers used and the boundary they actually needed. Do not merge a valid delayed result with a genuinely missing freshness statement.
Define shared terms
Document the meaning of event time, available-through time, query time, prepared time, and displayed as-of time for the report family. Add examples showing which boundary controls inclusion and which only describes when material was rendered.
Create review triggers
Assign an owner for freshness wording and list changes that require checking it, including caching policy, source schedules, period logic, exports, and comparison cards. Keep a small delayed-data fixture and review it whenever the report contract changes.
What to carry forward
The learning record is complete when it distinguishes valid delay from missing context, gives each time label one meaning, and preserves a delayed-data fixture. If a team cannot agree which boundary governs inclusion, escalate that as a report contract decision before changing labels.
Technical background: Metabase documentation.
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