CodexWrapper.ExecutionObservation (CodexWrapper v0.7.0)

Copy Markdown View Source

One correlated terminal fact from an evidenced one-shot execution.

Sent as {reference, observation} by the execution caller before returning. A preceding SessionObservation establishes identity only. :outcome is the legacy execution result before JSON/fork convenience projections; :parsed_result is the last bounded native turn.completed or turn.failed JSON object, independent of process outcome.

:child_status and :child_signal are raw native reports, never inferred from JSON, transport closure, or a pre-spawn failure. :termination records protocol/transport termination, while :reason records timeout or limit cancellation. :cleanup, :scope, and :guard_close are separate facts; missing facts remain :unknown (missing child status/signal remains nil). Process-group confirmation does not cover descendants escaping that group. :stdout and :stderr are bounded prefixes, including on failure.

Summary

Types

t()

@type t() :: %CodexWrapper.ExecutionObservation{
  child_signal: pos_integer() | nil,
  child_status: non_neg_integer() | nil,
  cleanup: :confirmed | :unconfirmed | :unknown,
  guard_close: term(),
  outcome: term(),
  output_truncated: boolean() | :unknown,
  parsed_result: map() | nil,
  reason: term(),
  scope: :process_group | :active_cgroup | :unknown,
  stderr: binary(),
  stdout: binary(),
  termination: term()
}