Validation of archetypes and opts should be a functionality every implementation should have. The I_DEFINITION_ADL14.upload_opt(), I_DEFINITION_ADL14.upload_archetype() and I_DEFINITION_ADL2.upload_artefact() imply a validation of the uploaded resource should happen.
It would be useful to have a separate, explicit, validation function on theses interfaces to be able to test that individually, and to detect validation differences between implementations. Also is useful while developing since developers can validate their artifacts while developing.
For instance the I_DEFINITION_QUERY has an is_valid() function to validate queries. Also to be consistent, would be useful to have such functions on all the interfaces that deal with resources that should be validate somehow.