Portable reference to output produced by an operational loop.
@type t() :: %Spectre.Operation.Artifact{ created_at: non_neg_integer(), digest: String.t() | nil, id: String.t(), kind: atom() | String.t(), media_type: String.t() | nil, metadata: map(), uri: String.t() | nil }
@spec new(map() | keyword()) :: t()
@spec validate(t()) :: :ok | {:error, term()}
@spec validate!(t()) :: t()