@lak I think lacking clear outcomes and goals is a major flaw with the current ARM system, I've spoken a few times with Eric about this but I guess when it comes to writing them people do not agree.  We spoke about it in the product meeting though, there are currently a number of possible approaches - you, me and Hendrik all have ideas here - somewhere between these 3 is a middle ground that needs to specifically designed in collaboration.

To get there we need requirements and desired outcomes.  These can be obvious things like 2 nodes being able to express relationships between each.  The ability to access data about the relationship etc.  

There are also though other requirements that might not seem immediately obvious, a major problem with exported resources is that its designed in a way that 2 modules have to be designed to work together.  You cannot take the best apache module and the best nagios module from the forge and combine them unless they were designed for each other.  I think this is a major failing in our efforts to create reusable modules.  So when we design a cross node dependency system I think a desired outcome should be that the forge become more viable by allowing 2 random modules to cooperate via this system.

There are no doubt more - but I think this has to be the starting point for any proposal, starting with the implementation isn't the right approach.  

We should then take the people with strong ideas in this space and collaborate around those outcomes and design a system that meets the needs