Keep the lesson for the next incident
Write the race contract
Define canceled-before-commit, committed-before-cancel, and unknown outcomes with their durable evidence and retry permissions. State which status may be acknowledged immediately and which requires reconciliation. Tie output and side-effect identities to the job occurrence.
Retain commit-boundary fixtures
Keep pre-commit, post-commit, delayed-acknowledgement, and unknown-readback cases with expected records and dependent decisions. Re-run them after changing transactions, result persistence, cancellation handling, retries, or downstream gates. Retain the commit revision with each dependent decision so status changes remain traceable.
Watch recurrence signals
Review canceled jobs with a later commit, committed jobs marked canceled, and retries lacking a prior output readback. Compare request and write order before acting. Assign review when a new side effect or consumer uses cancellation status without a commit rule.
What to carry forward
Preserve explicit committed, canceled-before-commit, and unknown states with readback and retry rules. Recurrence checks should compare request, commit, and status order. Reopen review when transaction scope, side effects, cancellation paths, or downstream consumers change what a job status can safely mean.
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