Validation rule violations on an %Artefact{}.
Returned as {:error, %Artefact.Error.Invalid{reasons: [...]}} from
Artefact.validate/1 and from any operation that received an invalid
input or produced an invalid output. Raised by Artefact.validate!/1
and by the ! variants of the operations.
:reasons is a list of human-readable strings, one per rule
violation.
Summary
Functions
Create an Elixir.Artefact.Error.Invalid without raising it.