Build a useful investigation brief
Create matched class workloads
Prepare equivalent sanitized jobs for each class and release them evenly to a fixed worker pool. Record expected claim opportunities. Then repeat with one class sending more ready work, keeping job duration and queue topology unchanged so allocation behavior can be compared.
Trace allocation and selection
For every worker slot, capture ready classes, queue assignment, selector choice, claim, and completion. Calculate service share alongside ready share and oldest wait. A class losing share while receiving no ready work is not evidence of unfair selection.
Test one allocation boundary
Exercise one bounded class partition, reserved share, or selector adjustment in the matched fixtures. Compare both equal and skewed workloads, including completion and wait for every class. Preserve any tradeoff so a share improvement is not called successful if another class loses its contract.
What to carry forward
Deliver equal and skewed traces, class-specific service measures, first divergence, and one allocation comparison. State whether drift requires a policy change or better workload evidence. Name tradeoffs and keep the conclusion bounded to eligible classes and the tested worker pool.
Technical background: Rails guides.
Keep the decision with the work.
Use a Work Item in Aglet to record the problem, the evidence you have, and the next decision. Add an owner and priority, then keep updates in the discussion so the next person can follow the reasoning.
Create an account See the product workflow