[arch-general] how to handle dependency cycle?