Decide where the work belongs
Name the class consequence
For each affected class, record the oldest waiting job, blocked outcome, and any user or operational dependency. Compare its wait with the service contract. Keep proportional share separate from correctness failures; both matter, but they require different queue decisions.
Check persistence and reach
Compare class shares across multiple bounded intervals and workload mixes. Note whether drift follows a new class, queue, worker reservation, or arrival burst. A repeated loss under ordinary arrivals is stronger priority evidence than one skewed interval.
Choose a contained review
Select immediate investigation, a class-allocation experiment, or missing-evidence collection. Name the class and interval that will be used for the next check. Do not rebalance globally before verifying that the observed share reflects eligible work and not an empty class.
What to carry forward
Queue the work with affected class, oldest wait, persistence, blocked consequence, and allocation evidence. Escalate when eligible work repeatedly receives no service while another class claims available slots. Otherwise schedule a per-class trace and preserve the arrival mix that revealed the drift.
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