Diagnose priority paralysis with Coffman conditions…
Before attempting to resolve paralysis between competing priorities, check whether all four Coffman conditions hold (mutual exclusion, hold-and-wait, no preemption, circular wait)—if so, violate any single condition to make deadlock structurally impossible.
When This Fires
- When you feel paralyzed between two or more competing priorities
- When progress stops across multiple workstreams simultaneously despite effort
- When "I can't do X until Y is done, but Y needs X" patterns emerge
- When adding more time or effort doesn't resolve the stuck feeling
Common Failure Mode
Trying to "just decide" without diagnosing the deadlock structure: "I need to pick one and commit." This works temporarily but doesn't prevent the deadlock from recurring — because the structural conditions that produced it remain unchanged. Diagnose which four conditions hold, then structurally violate one. The deadlock becomes impossible, not just temporarily resolved.
The Protocol
(1) When paralyzed between competing priorities, check the four Coffman conditions: Mutual exclusion: can the contested resource (time, attention, energy) serve only one priority at a time? Hold-and-wait: are priorities holding partial resources while waiting for more? No preemption: is it impossible for one priority to interrupt another's resource hold? Circular wait: does each priority wait for a resource held by another priority? (2) If all four hold → deadlock is structural. Violate any single condition: Break mutual exclusion: time-slice the resource between priorities. Break hold-and-wait: release partially-held resources and re-request. Break no preemption: allow the higher-priority task to interrupt. Break circular wait: impose a strict linear ordering (Agent priority orderings must be context-specific — which…). (3) Any single violation eliminates the deadlock.