Bounded recovery diagnostics. No error authorizes repair or prefix publication.
@type t() :: %Tay.Storage.Recovery.Error{ action: term(), cleanup_error: term(), kind: term(), mutation: term(), offset: term(), physical_reason: term(), reason: term(), segment_id: term(), sequence: term(), stage: term(), store_id: term() }
@spec new(atom(), term(), atom(), map()) :: t()
@spec wrap(term(), atom(), map()) :: t()