Hi Ignacio,
InstructorTasks are fairly heavy weight, and meant for long running jobs. The idea was to make sure the course teams had regular progress updates on how far along the task was, and that they could not monopolize overall system resources by accidentally launching a dozen concurrent tasks to calculate student grades. It's a bit cumbersome to use for small things like resetting the score, which is essentially a single row update.
I think that the functionality you're talking about actually makes a lot of sense as its own standalone piece. I guess my suggestion is that rather than moving reset_student_attempts to become an InstructorTask, that you create a new functionality for an audit log, and have both InstructorTasks and reset_student_attempts (and any number of other admin actions) write to it as necessary. It doesn't have to be an actual log file -- it could be backed by a model we can query, so long as we're not too liberal in what we write there.
Does that general approach sound reasonable? I'm curious if folks in the community have already done this.
Take care.
Dave