Skip to content

Stuck Signals

The system advances on its own — but it can also quietly freeze. Stuck Signals are the patterns that surface when a specific part of the system has stopped moving. OTD defines the thresholds and resolutions; the user audits them during Review.


Why Stuck Signals are a first-class concept

GTD's biggest failure mode is "something silently stopped moving and nobody noticed." OTD's Today is empty → I'm done signal exposes day-level progress, but day-level visibility alone isn't enough. Decay that builds over days, weeks, or months needs its own diagnostic layer.

Stuck Signals don't make decisions for you. Principle 2 (design your own day) still holds. A signal just makes the decision unavoidable — you pick the resolution.


The five signals

1. Stuck Action

Definition: The same Action has remained in Today, unchanged and uncompleted, for 3 or more consecutive days.

Causes: Too large, too vague, psychologically resistant, or blocked by something external.

Resolutions:

  • Split — Break into smaller Actions. Usually the right answer.
  • Rewrite — If vague, make it concrete.
  • Keep (deliberate) — Explicitly keep it, with reason stated (e.g., waiting on external input, conserving energy). Distinct from unconscious inertia.
  • Delete — Acknowledge it's no longer relevant.

2. Stale Await

Definition: An Action in Await has had no response or progress for 7 or more days.

Causes: Delegated and forgotten, external response delayed, or the delegation itself was lost.

Resolutions:

  • Follow up — Create a new Delegate Action asking for status.
  • Re-delegate — Redirect to a different handler, or resend.
  • Cancel — Release the Await. Acknowledge the result is no longer needed.

3. Stalled Flow

Definition: An active Flow has completed no Actions for 2 or more weeks.

Causes: First Action is stuck, the Flow is out of sync with current priorities, or there's no energy for it.

Resolutions:

  • Keep active — With stated reason. Deliberate, not default.
  • Move to Someday — Acknowledge you're not doing this now. Park it.
  • Delete — It's no longer relevant.

4. Dormant cluster

Definition: All Flows sharing a [[keyword]] prefix have had no progress for 1 or more months.

Causes: The larger goal is no longer an active priority.

Resolutions:

  • Park the whole cluster to Someday — Not individual Flows; the whole goal goes dormant.
  • Dissolve the cluster — Delete some Flows, relocate others to different parts of the Area. You keep fragments but retire the goal itself.
  • Keep active — With stated reason. Revisit at Quarterly Review.

5. Chronic Today

Definition: Today has not been empty for 3 or more consecutive days.

Causes: (in order of frequency)

  • Actions are too large — several contain more than a day's work
  • Too many active Flows — surfacing more Actions than daily capacity
  • Too many manual additions — cramming beyond what Flows propose

Resolutions:

  • Audit Action sizes — Can every Action in Today actually be completed today? If not, split.
  • Reduce active Flows — Move some to Someday. 5–10 is manageable for most.
  • Restrain manual additions — Principle 2 is "design your day," not "overload it."

Chronic Today is a system failure signal. OTD's completion signal itself is broken in this state — resolve it before any other Stuck Signal.


Thresholds are defaults

The thresholds above (3 days / 7 days / 2 weeks / 1 month) are conservative defaults. Adjust them to match your work:

  • Fast-iteration work — shorter thresholds (e.g., Action 2 days, Await 3 days)
  • Long-horizon work or work where waiting is inherent — longer thresholds (e.g., Await 14 days)

What matters is having explicit thresholds applied consistently. Without thresholds, being stuck looks normal forever.


Integrating with Review

Stuck Signals get audited during Review rituals.

Daily Review — Check Chronic Today only. The others don't change meaningfully day to day.

  • "How many days has Today been non-empty?" If 3+, resolve today.

Weekly Review — Audit all five. (See Review checklist.)

  • Identify stuck Actions → pick a resolution
  • Identify stale Awaits → follow up / re-delegate / cancel
  • Identify stalled Flows → keep / Someday / delete
  • Identify dormant clusters → park / dissolve / keep

Quarterly Review — Dormant clusters and Goal alignment.

  • If a cluster should have advanced this quarter but went dormant, re-examine its mapping to Goals.

When signals keep recurring

If the same Action keeps going stuck after splitting, or the same Flow keeps stalling after reactivation — the recurrence itself is a signal. When a pattern repeats three or more times:

  • Action level: Either the Action is defined badly, or you don't actually have the will/energy to do this work. The honest question: will I really do this?
  • Flow level: The Flow is out of sync with your current life priorities. Maybe not Someday — maybe delete.
  • Chronic Today: Your capacity itself needs a redesign. Start by halving active Flows.

Stuck Signals exist to expose decay. They're not a reset button to let you keep deferring.


Summary

SignalThresholdResolution
Stuck Action3 daysSplit / Rewrite / Keep (deliberate) / Delete
Stale Await7 daysFollow up / Re-delegate / Cancel
Stalled Flow2 weeksKeep active / Someday / Delete
Dormant cluster1 monthPark cluster / Dissolve / Keep
Chronic Today3 consecutive daysSplit Actions / Reduce Flows / Restrain additions

Stuck Signals don't violate Principle 2. You still decide. The signals just make the decision unavoidable.

Released under the open source license.