imsh3rlock3d and Sam_T , thank you for the feedback, we will soon address your comments too.
Meanwhile, to zivrivkis and davidmbahm , this is to add more clarity:
With DCS = Investigate, when one approves the items to be skipped, we are telling the system that it can skip the items that cannot be migrated, items that have been discovered so far. We can always discover more items that cannot be migrated for various reasons (as it is a live mailbox) and require approval for those as well. So, yes, the feature is designed in a such way that the admin is made aware of the both existing and NEW items that are to be skipped. One thing that is interesting is that Content Verification only happens at the end of the migration for moves, so we sadly don’t see certain classes of corruption until the very end.
It can also happen that the Investigate Score was due to another scoring factor that it was for Good (and likely this would happen at the end of the move, in mailbox verification phase, after trying to complete the move). So let's say we check the Score before Final Sync, this is Good for now and Data Consistency Scoring Factors are Corrupt ACLs and SourcePrincipalError Then in the Final Sync the Score switched to Investigate and the factors causing this score would be in that case MissingItemInTarget and not the Corrupt ACLs / Source principal mapping errors. There could also be situation where the CorruptACLs could have triggered Investigate due to a side-effect. For example, if they were all related to the Inbox then it would be Investigate because there is special handling of things affecting the Inbox folder (rather than Junk folder as example).
Related to Ziv's remark: “for example, still allow the completion of the batch but exclude the "Investigate" move requests automatically rather than block the entire batch.” – that’s what we already do. One can set CompleteAfter on a batch/user that needs skipped-item approval (it will only respect that once it has been approved). But all skipped items encountered that trigger Investigate score need approval and we discover them continuously, till the very end of the move.
I understand this can be annoying - to keep coming and approve latest skipped items - but by not doing this, we would basically go back to old model, where admins would blindly consent to data loss in advance without knowing what bad items are being skipped during migration. This would defeat the purpose of DCS feature.
Regarding the improvement suggestions, I understand that you would like DCS to be more granular and flexible in regards to corruptions which are not related to the actual user data (separate more the end-user data like their e-mails and meetings from Mailbox Rules and ACLs) or new data vs old data.