I have a bit of a complicated scenario I'm trying to resolve security around in SharePoint 2013, so please forgive the long question.
I have a list set up for employees to apply to join a certain prestigious program. Everyone has "Contribute" permissions to submit applications and I have the list options set up so that they can only read and edit their own items in the "Advanced Settings" of the list (it's sensitive information about job performance).
The team that decides if they are accepted or not has "Design" access and that allows them to view ALL applications and all information. This is working great too.
The problem is that the employee's manager gets asked through a workflow to also contribute comments and ratings on that employee to help the team decide. So this manager needs "Design" access to the individual items they are being asked to review as well as "Contribute" access to the list to be able to fill out the application themselves if they want to.
My workflow breaks the inheritance on each list item during the approval stage, keeps the existing "Contribute" permissions and specifically grants the reviewer "Design" access. But the reviewer is unable to view the item at all.
The error is the item doesn't exist or may have been removed. I've confirmed it's there, inheritance is broken and the reviewer has "Design" access explicitly granted.
Moreover this seems to happen sporadically. I've confirmed it did work with my first couple of test users but a few days later reports have come in about this "does not exist" error. Am I going about this wrong?