# `ReqManagedAgents.Evidence.Source`
[🔗](https://github.com/cash-mckeeman/req_managed_agents/blob/v0.13.0/req_managed_agents/lib/req_managed_agents/evidence/source.ex#L23)

Source-relative retrieval coverage; complete does not imply global execution visibility.

# `kind`

```elixir
@type kind() ::
  :rma_local
  | :claude_session
  | :claude_thread
  | :agentcore_stream
  | :cloudwatch
```

# `status`

```elixir
@type status() :: :complete | :partial | :unavailable | :not_requested
```

# `t`

```elixir
@type t() :: %ReqManagedAgents.Evidence.Source{
  id: String.t(),
  interval: ReqManagedAgents.Evidence.Source.Interval.t() | nil,
  kind: kind(),
  pages: non_neg_integer(),
  reason: ReqManagedAgents.Evidence.Diagnostic.code() | nil,
  records_seen: non_neg_integer(),
  scope: String.t(),
  status: status()
}
```

# `new`

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

Validates identity, interval and coverage; reason is a closed diagnostic code.

---

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