PSV0 is done. The other parts (RDAT etc.) aren't needed until later. Discussion for refinement: repurpose this issue for the other parts and move this one out of milestone 2?
The current validator works by generating its own copy of a part and the memcmp'ing it to see if it matches. This makes it incorrectly sensitive to ordering issues, among other things.
All the validations need to be reworked to actual validate that the incoming container contains the correct data.