Aglet

Investigate skipped or repeated API cursor pages

Investigation should show the first point where a page sequence diverges. Build a small collection with known identifiers, follow its cursor links, and compare client checkpoints with server responses. Keep mutable data, invalidated cursors, and local merge errors as hypotheses rather than assuming the cursor is at fault.

Build a useful investigation brief

  1. Build a known collection

    Create a two-page and three-page fixture with stable identifiers, an empty page variant, and a changed-filter variant. Record expected order and coverage before reading. Include one repeated token or malformed continuation only if the client has a defined failure path for it.

  2. Trace every page request

    Capture initial filters, sort, page size, cursor, returned link, response identifiers, and checkpoint writes. Compare the exact query at each hop. Inspect whether a retry reused a token safely or started a second traversal that later merged duplicate identifiers.

  3. Vary one pagination condition

    Change only cursor, filter, dataset mutation, page size, or merge order in separate runs. Compare coverage and order. If the same gap fits both a remote invalidation and a local checkpoint bug, name the missing server or storage observation instead of declaring a cause.

What to carry forward

The investigation is ready when a known collection reproduces the gap and the first divergent cursor, query, checkpoint, or merge value is visible. Recommend a bounded repair or evidence request. Leave mutable-data semantics explicit when fixtures cannot represent the live collection.

Technical background: Contentful technical guide.

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