The order of the domains
The domains are ordered by the consumes links of their headers: a domain stands after every domain it uses and as close as possible before the domains that use it; where the links put two domains in the same place, they stand in the order of their names. The domains do not use one another in a cycle.
A domain cannot work without the domains it uses, so this is the order the domains are specified and built in, and computed from the links it cannot disagree with them. Standing as close as possible before its users, a domain is taken up when the first of them needs it. A cycle has no such order.
The links made to it
The decisions taken on it
- Problem
The reason rested the refusal of a cycle on a rule outside the guidelines, which a project need not hold.
- Ruling
The owner: the reason stands on the order alone, which a cycle cannot have.
- Problem
Whether domains using one another in a cycle should be refused or only reported, since domains link to one another across their lines.
- Ruling
The owner: the cycle stays refused. It is read from the consumes links of the domains' headers alone, not from the links between their rules, which may cross domain lines freely; a cycle of consumes leaves no order to specify and build the domains in, and usually shows a part both share that belongs in contracts or in a domain below them.
The tests bound to it
- skills/tools/test/unit/generated.test.ts · s-uw9n84edf7cbe9n orders the domains each after every domain it uses, the order of their names deciding a tie
- skills/tools/test/unit/generated.test.ts · s-uw9n84edf7cbe9n puts a domain as close as possible before the first domain that uses it