Cycles
Cycles make architecture harder to change because two components become one unit in practice.
no_cycles!
Rule id: dependencies.no_cycles
Limit the check to specific components:
no_cycles! among: %i[ui domain infra]
ArchSpec builds the component dependency graph from visible dependency edges and reports cycles such as:
component dependency cycle: domain -> infra -> domain