Executable conformance gate for exact-Ref Journal erasure.
The runner appends records for a target and a derived neighboring Instance, erases the target twice, then erases the neighbor. This proves observable idempotency and rejects adapters that erase a broader namespace. It has no ExUnit dependency and must run against a fresh, isolated Instance Ref.
Summary
Functions
Returns the Journal erasure contract version.
Runs the exact-Ref erasure contract using a fresh Instance Ref.
Types
@type report() :: %{ contract_version: pos_integer(), append: :verified, idempotency: :verified, neighbor_isolation: :verified }
Functions
@spec contract_version() :: pos_integer()
Returns the Journal erasure contract version.
@spec run(Spectre.Journal.Store.config(), Spectre.Instance.Ref.t()) :: {:ok, report()} | {:error, term()}
Runs the exact-Ref erasure contract using a fresh Instance Ref.