Decides what the claim filter may do for one graph this pass, given its debug state and the tasks
that are otherwise eligible.
Pure by design — the CAS writes (consuming the step marker, pausing at the breakpoint) stay with
the dispatcher, and this function only says which of them to attempt. Precedence:
Paused wins over everything, including breakpoints — a paused graph claims nothing unless
a step allowance releases work, and a breakpoint inside a paused graph is moot.
Breakpoints fire before any claim: the FIRST eligible task carrying one pauses the whole
graph, so no sibling of the breakpointed task starts either. That is what "pause here" means
on a parallel graph — the alternative (claim the siblings, hold only the one task) turns a
breakpoint into a per-task hold, which holdTaskIDs already is.
Otherwise the gate is open.
A named-step target that is not currently eligible releases nothing — the allowance stays for the
caller to keep or clear; stepping a task that cannot run must not release an arbitrary other one.
Decides what the claim filter may do for one graph this pass, given its debug state and the tasks that are otherwise eligible.
Pure by design — the CAS writes (consuming the step marker, pausing at the breakpoint) stay with the dispatcher, and this function only says which of them to attempt. Precedence:
holdTaskIDsalready is.A named-step target that is not currently eligible releases nothing — the allowance stays for the caller to keep or clear; stepping a task that cannot run must not release an arbitrary other one.