Recursive validation for Raft command safety.
Walks any Elixir term to ensure it contains no anonymous functions, PIDs, ports, or references — values that break Raft determinism and serialization. Also enforces depth and size limits.
Summary
Functions
Walks a term recursively, rejecting non-serializable values.
Validates a transaction spec before Raft submission.
Functions
@spec validate_term(term(), non_neg_integer()) :: :ok | {:error, atom()}
Walks a term recursively, rejecting non-serializable values.
Returns :ok or {:error, reason}.
Validates a transaction spec before Raft submission.
Checks structural correctness, limit compliance, and recursive safety.