Aglet

How to investigate stale results across requests and caches

A stale-result investigation follows the newest requested state through request ordering, source freshness, cache or projection updates, and view application. Reproduce a controlled race, identify the first boundary that loses freshness, and test one correction without hiding valid historical data.

Build a useful investigation brief

  1. Trace versions through the request race

    Align input change, request creation, state version, server receipt, source read, response creation, arrival, application, and final display. Compare older and newer responses by identifier and version. Record whether the client accepts an older response and whether the server returned an old source.

  2. Measure source freshness and invalidation

    Compare authoritative record version or update time with cache entry, read model, projection, or response metadata. Trace the event or write that should invalidate or refresh the source. Keep a valid historical view separate from an accidental stale result so freshness rules remain precise.

  3. Test one freshness correction

    Evaluate one change such as rejecting older responses, attaching a version check, narrowing cache validity, or refreshing a delayed projection. Replay the same race and a normal historical query. Check ordering, filters, empty and error states, and durable writes that depend on displayed data.

What to carry forward

Deliver an evidence-backed brief with request race, version and source evidence, first freshness boundary, tested correction, and unresolved alternatives. Investigation is complete when implementation can target one stale source or application decision and verification can exercise both latest and intentionally historical views.

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