Aglet

Triage dependency waits by prerequisite state and release edge

A dependent job can wait correctly, release too early, or remain blocked because the prerequisite state is stale or mapped to the wrong edge. Triage one dependent and its prerequisites. Record the graph, each terminal state, release reason, and dependent action instead of inferring readiness from queue presence.

Establish what is happening

  1. Draw the prerequisite graph

    List the dependent job, every prerequisite ID, edge or fan-in rule, and expected release condition. Record success, failure, cancellation, missing, and still-running states separately. Include the graph revision used when the dependent was created.

  2. Compare state with release

    Trace prerequisite terminal records, dependency projection, release event, dependent ready or claim record, and any timeout. Check whether the release used current state and the correct edge. Preserve a release without a matching prerequisite event as a specific gap.

  3. Inspect wait age and action

    Measure how long the dependent has waited and what it does after release or timeout. Compare a successful prerequisite path with a failing or missing one. Distinguish a deliberate wait from a dependent that started before all required prerequisites were ready.

What to carry forward

Return the dependency graph, prerequisite states, release event and reason, wait age, timeout, and dependent outcome. Classify the scope as edge mapping, stale state, fan-in rule, timeout, or normal wait. Keep the cause provisional when graph revision or prerequisite identity is incomplete.

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