Establish what is happening
Reconcile the selected item set
Export the batch selector inputs and record the expected item count before workers claim anything. For each item, mark queued, active, completed, failed, or excluded from durable state. Explain every excluded item with the filter or eligibility rule that removed it.
Compare ledger with the displayed projection
Place the progress screen beside the item ledger and note each count, denominator, status label, and last-update time. Check whether the screen counts attempts, terminal items, or only visible rows. Preserve the batch ID and timestamps when the two views disagree.
Find the first stale handoff
Follow one item that changed recently from claim to completion and compare its event time with the projection update. Then inspect an active item and a filtered item. The earliest missing or delayed state transition defines the triage boundary for the next owner.
What to carry forward
Return the batch ID, selection rule, item outcome counts, projection timestamp, and first divergent handoff. If the ledger itself is incomplete, keep the display diagnosis provisional. The useful scope is a denominator defect, a stale projection, or an item-state recording gap with one reproducible example.
Technical background: Celery documentation.
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