Key-first authoring store behavior for the Rulestead public API.
The contract is semantic and domain-oriented rather than CRUD-oriented.
Implementations must normalize misses into {:error, %Rulestead.Error{}}
and may not return nil for not-found cases.
Summary
Types
@type result(value) :: {:ok, value} | {:error, Rulestead.Error.t()}