Dependencies & relations

Dependencies & relations

Connect todos that block, relate to, or belong to each other — and let "ready" work sort itself out.

Real work has ordering: the migration can’t ship before the schema change, the blog post waits on the feature. createtodo models this directly instead of leaving it in your head.

Kinds of relations

  • Blocks / blocked by — one todo must finish before another can start
  • Related — todos that share context without an ordering
  • Parent / subtodo — a todo broken into pieces

Add relations from a todo’s page — search for the other todo by title or identifier and pick the relation type. Both sides show the connection.

Why blockers pay off

Once blockers are recorded, “what can I actually work on?” becomes a query instead of a puzzle. The ct CLI’s ct ready lists exactly the todos that are open with no unresolved blockers, and closing a blocker reports what it just unblocked:

ct dep add MZ-124 MZ-123   # MZ-124 waits on MZ-123
ct ready                   # MZ-124 is hidden while MZ-123 is open
ct close MZ-123            # → reports MZ-124 is now unblocked

This is what makes handing a backlog to an agent safe: the agent works the frontier of unblocked todos in the right order, without being told what’s next.