Adapter-neutral checks for the idempotent receipt sink contract.
Successful reports distinguish optional payload erasure that is not exported from erasure that was verified. Failures identify the exact contract phase so adapter authors can diagnose a rejected callback without relying on the callback order inside this runner.
Summary
Functions
Runs the receipt and optional payload-erasure contract.
Types
@type phase() ::
:configuration
| :append
| :idempotency
| :lookup
| :missing_lookup
| :payload_store
| :payload_identity
| :payload_readback
| :payload_erasure_capability
| :payload_neighbor_setup
| :payload_neighbor_identity
| :payload_erasure
| :payload_erasure_readback
| :payload_neighbor_isolation
| :payload_erasure_idempotency
| :payload_neighbor_cleanup
@type report() :: %{
append: :verified,
idempotency: :verified,
lookup: :verified,
payload_store: :verified,
payload_erasure: :verified | :not_exported,
payload_neighbor_isolation: :verified | :not_exported
}
Functions
@spec run(Spectre.Receipt.Sink.config()) :: {:ok, report()} | {:error, failure()}
Runs the receipt and optional payload-erasure contract.