However I don't like the naming differences between validate_opclass and amvalidate. If you expect that the current amvalidate will only be used for opclass validation then it should be renamed accordingly.
I'm not yet sure if we need separate validation of opfamilies.
Well either the amvalidate or the validate_opclass should be renamed IMHO, depending on which way the checking goes (one interface for everything with generic name or multiple interfaces for multiple validations).
Yes, I agree with you about naming.
I'm not sure about separate validation of opfamilies independent of its naming. I'd like to get any arguments/advises about it.