The event_type metadata information has to be statically defined for any schedules returned from activation_hook or conversion_hook for Contract scheduled events.
The version metadata attribute is mandatory in Contracts code and also has to be unique per each Smart Contract Product ID or Supervisor Contract ID.
The display_name, summary, explanation metadata fields can only be set via Core API and does not get overridden with metadata set in the Contract code. Also, a “doc-string” of a Contract does not override any Core API fields but rather is just stored within the Contract code.