Scheduling (WDRR)
PULQ assigns priority buckets (e.g. high, medium, low). Each bucket has an integer weight
per scheduling epoch and a quantum debited when one task is successfully claimed from that bucket.
At the start of an epoch, every bucket receives weight credits. While choosing work, the scheduler
visits claimable buckets in priority order (not weight order): the first bucket with
balance >= quantum is attempted. If the repository reports no pending task for that bucket,
its balance is zeroed so idle buckets do not block others.
When a task is claimed, that bucket is debited by quantum. When every balance drops below
quantum, the epoch completes and all buckets are credited again.
This matches classic Weighted Deficit Round Robin behaviour used in network schedulers.