Aglet

Triage expired job output from creation to reader request

A completed job and its output can have different lifetimes. Triage one output that disappeared by recording the job result, storage key, creation and expiry times, reader request, and visible fallback. Compare a read inside the retention window with a delayed read after expiry.

Establish what is happening

  1. Bind output to its job

    Capture job ID, terminal state, output identifier, content revision, creation time, expiry time, and reader request. Confirm the reader used the current key and job revision. Keep a missing key separate from an expired object or an authorization response.

  2. Compare immediate and delayed reads

    Read a known completed output within its retention window, then repeat after the recorded expiry. Check status, message, empty state, and whether metadata survives. Preserve the request timestamps so a cache or clock issue is not mistaken for retention behavior.

  3. Inspect rebuild and downstream use

    Follow the documented rebuild, rerun, or regenerate path and inspect any consumer that expects the output to remain available. Determine whether a missing result blocks a decision or merely requires a new run. Mark outputs with unknown expiry as a contract gap.

What to carry forward

Return job and output identifiers, terminal and retention timestamps, read responses, expiry policy, and recovery path. Classify the scope as wrong key, premature expiry, reader timing, or missing fallback. Keep the cause provisional when storage evidence and application status disagree.

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