Aglet

Investigate batch resume with an ordered interruption fixture

To investigate resume safely, keep the input order and worker logic stable while moving the interruption across the item commit boundary. Use a small batch whose expected sequence is written down. Then compare the stored checkpoint and item ledger, rather than treating the worker’s restart log as the source of truth.

Build a useful investigation brief

  1. Use an immutable test sequence

    Prepare five or more sanitized records with an explicit order and a recorded input revision. Run until a chosen item is about to commit, then interrupt; repeat after that item commits. Preserve the worker exit reason and the checkpoint bytes for both runs.

  2. Align checkpoint with the ledger

    Read item outcomes, checkpoint records, and restart parameters in timestamp order. Ask whether the cursor means last committed item or next item to process. Note any gap where the item was committed but the checkpoint was not, or the reverse.

  3. Test commit-after-item semantics

    Exercise the smallest candidate ordering in which the item outcome and checkpoint are durable together, then resume from a fresh worker. Compare exact item identities and effects with the expected sequence. Keep a changed-input run separate to expose snapshot drift.

What to carry forward

Deliver the smallest reproducible sequence, interruption boundary, checkpoint meaning, and resumed item list. Name every duplicate or omission and show its ledger evidence. A proposed fix should state its commit ordering and input-snapshot assumption, with changed-input behavior recorded as a separate limitation.

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