Value codec behaviour used by Flow helpers.
The native protocol always sends bytes to FerricStore. Codecs decide how Elixir values become those bytes for Flow payloads, results, errors, and value refs.
@callback decode(binary()) :: term()
@callback encode(term()) :: binary()