If both element and transitions/calls specify artifacts - input, output, payload, response - then validate consistency, e.g. that transition payload is in the list of activity output artifacts.
Take resources into account which serve as artifact repositories. The goal is to catch situations when input artifacts appear from nowhere - don't come through inputs or call responses and
cannot be retrieved from repository resorces. For output artifacts - make sure that an artifact does not disappear - it shall either be listed as a payload of a call or transition, or stored into a repository resource.