WorkQueue
A distributed set of pending task IDs — the task-distribution primitive for :kuilt-warp.
Backed by an ORSet, so concurrent adds from multiple peers merge correctly (add-wins), and a task removed by one peer while concurrently re-added by another still survives. Tasks added during a network partition are preserved and merged on reconnect.
Ring-agnostic. WorkQueue holds all pending tasks; filtering to the tasks owned by the local peer (owner(task) == self) is done externally by the WarpNode via the TaskRing. This keeps the CRDT layer clean and makes the queue independently testable.
Immutable: add and remove return a new instance. merge is the causal join.
Type Parameters
TaskId
the type used to identify tasks — must be a stable, unique, serializable key.