An idea for how to do transactions across heterogenous data stores (e.g. key-value (KV) stores and Git repositories) in an RPC system. Probably not novel.
There are primitive data stores, like KV stores and Git repositories.
There are facades, processes, that enforce some invariant on top of another, underlying data store. Example: a facade that only allows storing numbers as values in a KV store.
Let’s use the term storage process to refer to both primitive stores and facades.