One pending thing to check is what happens in the presence of circular dependencies.
Since depth-first search stops when a job has already been inspected, I don't expect
any side effect like and infinite loop.
Looking at the code, it seems that they're already handled in the suites_prompt.py plugin
using checkbox.lib.resolver.Resolver, which actually seems to address topological order,
but I didn't use it because it wasn't used either in the original code (I guess there was
a good reason for that).
Hence, what should happen is that an exception is raised in checkbox.lib.resolver.Resolver
as it would have happened in the past.
One pending thing to check is what happens in the presence of circular dependencies.
Since depth-first search stops when a job has already been inspected, I don't expect
any side effect like and infinite loop.
Looking at the code, it seems that they're already handled in the suites_prompt.py plugin lib.resolver. Resolver, which actually seems to address topological order,
using checkbox.
but I didn't use it because it wasn't used either in the original code (I guess there was
a good reason for that).
Hence, what should happen is that an exception is raised in checkbox. lib.resolver. Resolver
as it would have happened in the past.