Topolog

How the dependency graph works

Topolog represents your goal as a directed acyclic graph (DAG: the technical name for a graph with no cycles, where every edge points one direction). Nodes are milestones or tasks. Edges express ordering: what must finish before what.

IDE canvas: annotated DAG

Three node types

  • Milestone: a non-atomic node. Status derived from its descendant tasks. Never scheduled directly.
  • Task (user): atomic, 1–4 hours, scheduled into your calendar.
  • Task (external): a third party gates the work. Tracked, but never consumes your hours.

Status propagation

Status is computed, not stored, except done, which is explicit. A task is active when every incoming edge's source is done; otherwise blocked. A milestone is active if any descendant task is active.

Milestone-edge expansion

The scheduler only understands task→task edges. Before scheduling, Topolog expands milestone-edges into the cross-product of source and target task descendants. The original DAG is never mutated.

Cycles

Cycles are blocked at edge-add time with a brief shake animation and no state change. The DAG invariant is maintained at every moment; there's never a "saved" cyclic state.

Ready to plan in graphs?

7-day free trial · 250 credits · No card required

Get Started →