Diagnose priority paralysis with Coffman conditions — violate any one of the four to make deadlock structurally impossible
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.
Why This Is a Rule
Edward Coffman Jr. proved that deadlock in computing systems requires exactly four conditions to be simultaneously true: Mutual exclusion (the resource can only be used by one process at a time), Hold-and-wait (processes hold resources while waiting for others), No preemption (resources can't be forcibly taken from a process), and Circular wait (processes form a cycle, each waiting for the next). If all four hold, deadlock is inevitable. If any one is violated, deadlock is structurally impossible.
Applied to personal priority systems: you're paralyzed between writing a report (needs your focused time) and preparing a presentation (also needs focused time). Mutual exclusion: you can only focus on one at a time. Hold-and-wait: you've committed morning to the report but keep thinking about the presentation. No preemption: you won't let either task interrupt the other. Circular wait: the report feels blocked until the presentation pressure is resolved, and vice versa. All four conditions hold → deadlock.
Violating any one breaks the deadlock: allow time-slicing (breaks mutual exclusion), release the morning commitment and re-allocate (breaks hold-and-wait), let one task preempt the other after 1 hour (breaks no preemption), or assign strict priority ordering (breaks circular wait).
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 agent wins depends on the time, capacity state, and situation). (3) Any single violation eliminates the deadlock.