A value-free spill exception. Raised by Replicant.Spill.Reader on any File/binary_to_term
fault so the lazy read (which runs inside the sink call, spec §11) never surfaces a raw byte.
Carries ONLY the fixed reason — no path, no frame, no row value (Critical Rule 1).
Summary
Types
@type t() :: %Replicant.Spill.Error{__exception__: term(), reason: :spill_io_failed}