lesson 3 of 5 · schema drift and dataset contractsschema drift and dataset contractslesson 3 of 5 · schema drift and dataset contractsschema drift and dataset contractslesson 3 of 5 · schema drift and dataset contractsschema drift and dataset contractslesson 3 of 5 · schema drift and dataset contractsschema drift and dataset contractslesson 3 of 5 · schema drift and dataset contractsschema drift and dataset contractslesson 3 of 5 · schema drift and dataset contractsschema drift and dataset contractslesson 3 of 5 · schema drift and dataset contractsschema drift and dataset contractslesson 3 of 5 · schema drift and dataset contractsschema drift and dataset contractslesson 3 of 5 · schema drift and dataset contractsschema drift and dataset contractslesson 3 of 5 · schema drift and dataset contractsschema drift and dataset contractslesson 3 of 5 · schema drift and dataset contractsschema drift and dataset contracts
Complete the contract validator: check required fields exist, check their types, and flag unexpected fields.