Versioned codec for persisted ExWapp store data.
The codec writes a gzipped JSON envelope with explicit type tags so session state survives cold boots without depending on raw BEAM term decoding.
Summary
Types
@type decode_result() :: {:ok, map()} | {:error, :unknown_codec | :invalid_store_blob}