# `ReqManagedAgents.Evidence.Record.Payload`
[🔗](https://github.com/cash-mckeeman/req_managed_agents/blob/v0.13.0/req_managed_agents/lib/req_managed_agents/evidence/record.ex#L1)

Validated local lifecycle metadata, without exception or request bodies.

# `kind`

```elixir
@type kind() ::
  :invocation_started
  | :invocation_finished
  | :attempt_started
  | :attempt_finished
  | :transport_failed
  | :retry_decided
  | :tool_started
  | :tool_finished
```

# `t`

```elixir
@type t() :: %ReqManagedAgents.Evidence.Record.Payload{
  attempt_id: String.t() | nil,
  clock_id: String.t() | nil,
  ended_ticks: integer() | nil,
  error_code: String.t() | nil,
  invocation_id: String.t(),
  parent_attempt_id: String.t() | nil,
  result: :ok | :error | :cancelled | nil,
  started_ticks: integer() | nil,
  tool_use_id: String.t() | nil,
  type: kind()
}
```

# `new`

```elixir
@spec new(map()) :: {:ok, t()} | {:error, ReqManagedAgents.Evidence.Error.t()}
```

Rejects unknown lifecycle fields and unscoped or reversed monotonic intervals.

---

*Consult [api-reference.md](api-reference.md) for complete listing*
