The contracts proposal separates interface predicates from checking policy
engineeringcppstandardscontractsP0542R0 supplies wording for contract annotations. Its build levels and violation handling reveal the design choices behind putting preconditions and postconditions on declarations.