If an attempt to fetch a report for an item fails for a transient reasons (e.g. IOException) then it changes to status REPORT_ERROR_RETRY_CODE.
Later attempts to fetch it may find that the assignment is set for report generation on due date, so the report score is not available immediately, but the operation still succeeded, so we should reset the item status in the queue.
This doesn't affect how the item is handled because the report fetch process looks at both statuses (awaiting reports and retry) but it makes it clearer to see what failures are ongoing vs transient failures that went away (e.g. by manual queue inspection or if the queue status is graphed).