Build a useful investigation brief
Trace creation identity
Map submit request, idempotency key, order identifier, payment attempt, and confirmation redirect. Compare rapid submits and late responses. Identify whether one logical checkout creates multiple identifiers or one identifier is returned through multiple paths.
Rebuild the list query
Inspect sort order, pagination boundaries, joins, filters, and cache keys for the page showing duplicates. Compare raw row identifiers with rendered rows. Check whether a page boundary or repeated association causes one order to appear twice.
Follow reconciliation
Compare order, payment, fulfillment, and customer-facing records after refresh or retry. If two orders exist, identify their relation and state without merging them by assumption. Preserve timestamps and request sequence to distinguish duplicate write from duplicate read.
What to carry forward
The investigation is ready when another engineer can reproduce the duplicate from a checkout or list trigger and identify whether persistence or presentation creates it. Deliver identifiers, query boundaries, cache or request timing, durable outcomes, and unknowns.
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