Decide where the work belongs
Separate replay from omission
For each report, identify whether an item ran twice, never ran, or simply appeared twice in a log. Confirm the item’s durable effect and expected order. Put omissions and non-idempotent replays ahead of harmless duplicate observation when the evidence supports it.
Assess snapshot stability
Compare batches that resume against a fixed input snapshot with batches whose query can change between runs. Record whether new or removed records explain the sequence. A checkpoint bug should not inherit urgency from an input contract that is itself undefined.
Choose a bounded recovery decision
Select immediate investigation, a safe replay plan, or evidence collection. State which item identities must be reconciled before rerun and what checkpoint trace is missing. Avoid resetting a cursor as a first response when it could create more effects or omissions.
What to carry forward
Queue the issue with confirmed replay or omission evidence, side-effect consequence, input-snapshot confidence, and the smallest safe recovery action. Escalate when records can be skipped or effects can repeat without reconciliation. Otherwise schedule a checkpoint investigation with a fixed ordered fixture.
Technical background: Rails guides.
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