This method looks very similar to the other `get_incomplete_workflows` method, so it probably makes sense to abstract it and put it in the base class.

In fact, since `cls` is a parameter, you could add the method directly to the abstract base class, and replace references to `AIGradingWorkflow` with `cls`.  Then it should work for both types of workflow.