PtcRunner.Kernel.ExecutionOutcome (PtcRunner v0.14.0)

Copy Markdown View Source

Sealed, filesystem-path-free evidence captured at the one-shot execution boundary.

The outcome freezes the effective result class, result-contract decision, terminal canonical events, and optional private inspection records while the execution sinks are still live. Publication can therefore run after those sinks stop without consulting a PtcRunner.Kernel.RunConfig, reopening an execution resource, or re-deriving disclosure authority.

This is an in-VM construction attestation, not a security boundary against trusted code running in the same VM.

Summary

Types

inspection()

@type inspection() :: :disabled | {:ok, [map()]} | {:error, :inspection_sink_error}

publication_evidence()

@type publication_evidence() :: %{
  result: result(),
  result_class: result_class(),
  result_contract: result_contract(),
  terminal_batch: terminal_batch(),
  inspection: inspection()
}

result()

@type result() ::
  {:ok, PtcRunner.Kernel.Result.t()} | {:error, PtcRunner.Kernel.Error.t()}

result_class()

@type result_class() :: :normal | :private

result_contract()

@type result_contract() :: :ok | {:error, {:result_contract_failed, map()}}

t()

@opaque t()

terminal_batch()

@type terminal_batch() :: {:ok, [map()]} | {:error, atom()}

Functions

valid?(outcome)

@spec valid?(term()) :: boolean()