Task Holding and Routing
The Lifecycle
Routing labels summarize combinations of holder, queue and candidate role; they are not persisted lifecycle values. The eight combinations include queued role offers. Priority between queue and role eligibility matters whenever both references are present.
Transitions Explained
The structured rows describe assignment, queue entry, role offering, claiming and release. Ordinary queue edits can also move these combinations into or out of a queue while retaining a role. A different assignee clears a retained role; clearing a holder retains it. Queue release preserves the arrival instant.
What Cannot Happen
An unrouted task cannot be claimed. A service cannot hold work. Creation refuses simultaneous holder and role inputs. Changed routing is restricted to unfinished, unlocked work, although already-satisfied workflow requests return before those restrictions.
Concurrency and Timing
The database arbitrates queue claims, and a locked role claim checks authority at claim time. Publishing failures can still prevent a winning write from committing. The offered list selects only open, unheld offers without a queue and consults the user’s currently listed roles.