Spectre.Journal.Store.ErasureConformance (Spectre v0.3.3)

Copy Markdown View Source

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

report()

@type report() :: %{
  contract_version: pos_integer(),
  append: :verified,
  idempotency: :verified,
  neighbor_isolation: :verified
}

Functions

contract_version()

@spec contract_version() :: pos_integer()

Returns the Journal erasure contract version.

run(store, ref)

@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.