Aglet

Verify batch cancellation without new effects after acknowledgement

Verification should make the cancellation contract observable at each worker boundary. Stop queued items, active work before its next effect, and work inside a blocking call. Check the durable item state and downstream records after the worker settles; a quick button response alone does not prove that work stopped safely.

Check whether the outcome improved

  1. Verify queued items are not claimed

    Submit several items, cancel before a worker claims them, and reread the queue and item ledger. Confirm they reach the documented canceled state or remain clearly eligible for an explicit recovery decision. Check that no new item side effect appears after acknowledgement.

  2. Verify the checkpoint boundary

    Cancel immediately before and after a cooperative checkpoint. Compare the last completed step, checkpoint record, and terminal status. The two cases may legitimately differ, but each outcome must explain whether the current step finished and whether another step was allowed.

  3. Verify a blocked call settles

    Pause a worker inside the known blocking call, issue cancellation, and observe the eventual return. Record any effect made by that call and ensure later steps do not begin. Confirm the final state distinguishes safe completion, cancellation, and unresolved recovery.

What to carry forward

Accept when queued work, checkpoint stops, and blocked calls each produce a documented terminal or recovery state, with no unaccounted effect after acknowledgement. Keep a known limitation visible when an in-flight operation must finish. Reopen verification if a status says canceled while the ledger shows later work.

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