Raxol. Harness. Fixture. Event
(Raxol v2.6.1)
View Source
The decoded body of a fixture Envelope — one observable step of an
agent run, per harness-spec-protocol.md §3.
Field names are aligned with the shipped Raxol.Agent.Contract.Event
(PR #542, packages/raxol_agent/lib/raxol/agent/contract.ex): id,
turn_id, ts, family, type, tier, payload match exactly.
scope and provenance are not yet in Contract v0 — they are optional
here and filled with defaults by Raxol.Harness.Fixture.Upcast so
fixtures recorded before those fields existed still load (the upcast
story, 06-projection §1.2).
Summary
Types
@type family() :: :loop | :meta
@type provenance() :: %{source: String.t(), trust: :trusted | :tainted}
@type scope() :: :session | :global
@type t() :: %Raxol.Harness.Fixture.Event{ family: family(), id: non_neg_integer(), payload: map(), provenance: provenance() | nil, scope: scope() | nil, tier: tier(), ts: integer(), turn_id: String.t() | nil, type: atom() }
@type tier() :: :ephemeral | :durable