Keep the lesson for the next incident
Write the identity contract
Define which identifier represents one logical order, how repeated submission is correlated, and which records must agree. State how the UI distinguishes one order shown twice from two legitimate orders and what recovery does when records disagree.
Keep display fixtures
Save synthetic traces for rapid submit, delayed response, refresh, pagination boundary, filter, and confirmation return. Assert identifiers and financial state together. Link fixtures to the work record rather than using a screenshot as the only proof.
Define recurrence signals
Reopen review when one identifier renders twice, one checkout creates multiple identifiers, or payment and order counts diverge. State page, cache, and timing coverage limits and assign ownership for new duplicate-record cases.
What to carry forward
Close learning with the identity contract, write-and-read fixtures, and recurrence triggers that compare visible rows with durable records. Keep timing and reconciliation limits explicit so a clean list test cannot hide duplicate financial state in future reviews.
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