Hi, thanks for your answer. It definitely works with one dependency (dashed line) but once I add more it starts breaking again.
For example here is a version of the graph without dependencies (dashed line). All components should keep this layout.
Grap no dependencies
Here is the graph with dependencies
Graph with dependencies
Here it is with your solution :
Graph with dependencies without no rank
A few additions, those graphs are generated via a script based on a table so I can't really edit them manually to remove norank at some places but not other. The solution needs to be systematic
Thank you for your help.