Member Junction
    Preparing search index...
    • True when a graph can make no further progress on its own: nothing is running, and nothing is eligible to start.

      Distinguishes "finished" from "wedged". A graph with Pending tasks and zero eligible tasks and zero in-flight tasks is deadlocked — previously this exited the execution loop quietly and the parent was marked complete.

      Held tasks do not count as eligible. A task held because its guard could not be evaluated has a live gating edge from a Complete origin, so eligibility says yes while the dispatcher refuses to claim it. Counting it made a graph that will wait forever report as healthy, with no diagnostics — the exact silence the hold mechanism exists to break.

      Parameters

      • nodes: readonly TaskGraphNode[]
      • edges: readonly TaskGraphEdge[]
      • heldTaskIDs: ReadonlySet<string> = ...

        tasks the caller is refusing to start this cycle (undecided guards)

      Returns boolean