A job may include itself in its needs entry. This is topologically correct, but not for a workflow. It causes an internal error.
needs
This should be handled and an error should be reported.