Dependencies
Record what is blocking what, see the graph, and read a critical path that refuses to guess.
Linking two tasks
Open a task, go to Links, and pick a relationship:
| Link | Meaning |
|---|---|
| Blocks / Is blocked by | The other task cannot start until this one is done |
| Duplicates / Is duplicated by | Same work, recorded twice |
| Relates to | Connected, no ordering implied |
You can record a link from either side and it means the same thing. Krrim stores one edge per relationship, so linking A→B and then B→A is not two links — the second attempt tells you the link already exists rather than quietly creating a duplicate that shows up twice on the graph.
The blocked badge
A task with an unfinished blocker shows a Blocked badge. It clears automatically when the last blocker closes, and the assignee is notified — the one moment where "you can start now" is genuinely worth interrupting somebody for.
Blocked is also a filter, so "what is my team waiting on" is one click from
any list.
Cycles are refused
If a link would close a loop — A blocks B, B blocks C, C blocks A — Krrim refuses it and names every task in the cycle. You get told which four tasks are the problem, not just "invalid".
The dependency graph
Each project has a graph view showing links as edges. Useful for the question "what is actually in the way here", which a list of blocked badges answers one task at a time and a graph answers at a glance.
The critical path
The longest chain of dependent work — the sequence that decides when the whole thing can finish. Shortening anything not on it does not move the end date.
Tasks with no dates and no estimate are marked unscheduled and left out of the critical path. Krrim will not invent a duration for them.
This is deliberate and occasionally unpopular. People replan around a critical path, so a confidently wrong one is worse than an absent one — if half your tasks have no estimate, the honest answer is "there is not enough information here", not a line drawn through guesses.
To get a critical path, give the tasks on the chain a start date, a due date or an estimate. The unscheduled list tells you exactly which ones are missing what.