Aglet

Investigate Skipped Records Between Pages

Investigation should make page traversal a sequence that can be replayed. Freeze the result set when possible, capture every request and response boundary, and compare page identifiers with an independent expected order. Test cursor, offset, filters, and tie-breaking hypotheses one at a time.

Build a useful investigation brief

  1. Freeze the result set

    Build a bounded fixture with enough records to cross several pages, including equal sort values, records at limits, and a changed record if mutation matters. Record expected order and complete identifier set before running the traversal. Use fixed filters and a known page size.

  2. Trace request state

    Log each page input, cursor or offset, sort fields, filters, response identifiers, next marker, and termination decision. Compare the last item used to advance with the first item returned next. Identify dropped parameters, inclusive boundaries, integer conversion, or stale state.

  3. Test traversal hypotheses

    Vary one condition at a time: page size, tie-breaking field, cursor boundary, offset, source mutation, or filter serialization. Compare the traversed set with the expected set after every page. If multiple causes remain possible, state the missing observation and preserve all divergent sequences.

What to carry forward

Produce a replayable brief containing the fixture, full page sequence, request state, expected order, divergent boundary, and tested hypotheses. Recommend the smallest traversal correction or contract clarification. Do not call a page gap fixed when the result set can change and coverage has no stable denominator.

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