For the predictor, in order to get grades not released (and thus can be plucked for their prediction score, I created a scope. Based on what I gather from what constitutes as what a student can see, not released would be any grade that doesn't have status of 'released'  or, has a status of graded but a release is neccesary. 


So if we assume the following scenerios:

Grade_ID, Score, Status, release_neccesary,Predicted_Score
1,10,'Released',true,50
2,60,'Graded',true,20
3,25,'Graded',false,90
4,nil,'',false,10

scope released would grab 1 and 3, scope not_released would grab 2 and 4.