Hide Forgot
Skynet stores the relationships, and can output them to a DITA reltable. That's pretty straight forward. With the Docbook output it could implemented like this: * topics (sections) are stored with no IDs (<- present) needed to support it: * a sequence relationship can be specified between tasks A, B, and C linked to a task overview TO to implement it in the output: * a copy of A, B, and C - call them A(TO), B(TO), C(TO) are then generated and included in the build with unique IDs, and with the Next and Previous links injected and a link to the overview TO injected * the dynamically generated version of the topic should be invisible (so it doesn't appear in browse or search) * if the tasks A,B, and C are not invisible by nature, then the topic is also included in the build as per normal with the Topic ID as the section ID. This is essentially how DITA does it. IDs are scoped, so the same topic can be included multiple times with unique IDs to allow it to be targeted. There are probably other, and possibly better ways to implement it with Docbook output; that's the first way I could think of.
Actually, Next and Previous relationships are already encoded by Skynet: <!-- InjectSequence: A, B, C --> captures it.