All documentation

Work management

The backlog

One ordered list across every project, and why the server decides what a drop means.

The backlog is a single ordered list spanning every project. An item from one client sits directly above an item from another, because that is the actual decision being made: what does this team do next, given everything competing for it.

How ordering works

Position is a fractional index — a string chosen to sit between its neighbours — rather than a number that has to be renumbered. Dragging an item updates one row instead of every row below it, and the list is read with an ordinary indexed sort.

Clients name neighbours; the server computes the position

A reorder says *put this after that item* or *before that one*. The client never sends a computed rank. The algorithm depends on an invariant that a client computing its own values would eventually break — and the breakage looks like a drag that silently does nothing, which is close to undiagnosable from a bug report.

New work is created at the top of the backlog rather than the bottom. Something just written down is something somebody is thinking about now; burying it under two hundred older items means it is never seen again.

Ranks are organisation-wide

Because ranks are comparable across projects, filtering the backlog by project preserves the order it already had. A project view is a filter over the one list, not a separate list that has to be reconciled with it.