By default, Org-mode headers form trees. That is, every header can have an arbitrary number of sub-tasks, and this relationship is recursive to an arbitrary depth. However, a task in practice can be a dependency of two parents. Adding this property creates a directed acyclic graph (a DAG).
This relationship is not supported out of the box by Org mode, though it is available in Leo, as well as a number of enterprise issue managers. Leo, in particular, implements a DAG through cloned nodes. These are nodes that can appear in more than one place in an outline. Hence, they can have multiple parents, correctly reflecting the property that they may be required for multiple higher-level concerns.
Further justification for this feature is provided in the Leo documentation on personal information management:
Clones can greatly accelerate your work flow. To start a project, clone nodes related to the project and drag them at or near the top level, where you can get at them easily. When the project is complete, just delete the clones. This work flow is surprisingly effective:
- The original nodes never move, but they change whenever their clones do.
- There is nothing to “put back in place” when you are done. Just delete the clones.
Used this way, clones create views: when you gather cloned nodes together for a project, you are, in effect, creating a project-oriented view of the outline. This view focuses your attention on only those nodes that are relevant to the task at hand.
How can cloned nodes be implemented in Org mode?