> ## Documentation Index
> Fetch the complete documentation index at: https://docs.usesynth.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Run readouts

# `synth_ai.research.run_readouts`

Nested run readout namespaces on `ResearchRunHandle`.

## Classes

### `ResearchRunUsageActorsAPI` <sup><a href="https://github.com/synth-laboratories/synth-ai/blob/main/synth_ai/research/run_readouts.py#L27" target="_blank"><Icon icon="github" style="width: 14px; height: 14px;" /></a></sup>

Per-actor usage breakdown for a run.

**Methods:**

#### `get` <sup><a href="https://github.com/synth-laboratories/synth-ai/blob/main/synth_ai/research/run_readouts.py#L30" target="_blank"><Icon icon="github" style="width: 14px; height: 14px;" /></a></sup>

```python theme={null}
get(self) -> SmrRunActorUsage
```

Return token and cost usage grouped by runtime actor.

### `ResearchRunUsageCostAPI` <sup><a href="https://github.com/synth-laboratories/synth-ai/blob/main/synth_ai/research/run_readouts.py#L35" target="_blank"><Icon icon="github" style="width: 14px; height: 14px;" /></a></sup>

Run-level cost summary readouts.

**Methods:**

#### `get` <sup><a href="https://github.com/synth-laboratories/synth-ai/blob/main/synth_ai/research/run_readouts.py#L38" target="_blank"><Icon icon="github" style="width: 14px; height: 14px;" /></a></sup>

```python theme={null}
get(self) -> SmrRunCostSummary
```

Return aggregated cost fields for the run.

### `ResearchRunUsageLimitsAPI` <sup><a href="https://github.com/synth-laboratories/synth-ai/blob/main/synth_ai/research/run_readouts.py#L43" target="_blank"><Icon icon="github" style="width: 14px; height: 14px;" /></a></sup>

Org and run resource limit readouts.

**Methods:**

#### `get` <sup><a href="https://github.com/synth-laboratories/synth-ai/blob/main/synth_ai/research/run_readouts.py#L46" target="_blank"><Icon icon="github" style="width: 14px; height: 14px;" /></a></sup>

```python theme={null}
get(self) -> SmrResourceLimits
```

Return configured resource limits applicable to the run.

#### `progress` <sup><a href="https://github.com/synth-laboratories/synth-ai/blob/main/synth_ai/research/run_readouts.py#L50" target="_blank"><Icon icon="github" style="width: 14px; height: 14px;" /></a></sup>

```python theme={null}
progress(self) -> SmrResourceLimitProgress
```

Return progress toward resource limits (tokens, spend, concurrency).

### `ResearchRunUsageAPI` <sup><a href="https://github.com/synth-laboratories/synth-ai/blob/main/synth_ai/research/run_readouts.py#L55" target="_blank"><Icon icon="github" style="width: 14px; height: 14px;" /></a></sup>

Token, cost, and limit readouts for a run.

**Methods:**

#### `actors` <sup><a href="https://github.com/synth-laboratories/synth-ai/blob/main/synth_ai/research/run_readouts.py#L65" target="_blank"><Icon icon="github" style="width: 14px; height: 14px;" /></a></sup>

```python theme={null}
actors(self) -> ResearchRunUsageActorsAPI
```

Per-actor usage slice.

#### `cost` <sup><a href="https://github.com/synth-laboratories/synth-ai/blob/main/synth_ai/research/run_readouts.py#L72" target="_blank"><Icon icon="github" style="width: 14px; height: 14px;" /></a></sup>

```python theme={null}
cost(self) -> ResearchRunUsageCostAPI
```

Run cost summary slice.

#### `limits` <sup><a href="https://github.com/synth-laboratories/synth-ai/blob/main/synth_ai/research/run_readouts.py#L79" target="_blank"><Icon icon="github" style="width: 14px; height: 14px;" /></a></sup>

```python theme={null}
limits(self) -> ResearchRunUsageLimitsAPI
```

Resource limit and progress slice.

#### `get` <sup><a href="https://github.com/synth-laboratories/synth-ai/blob/main/synth_ai/research/run_readouts.py#L85" target="_blank"><Icon icon="github" style="width: 14px; height: 14px;" /></a></sup>

```python theme={null}
get(self) -> SmrRunUsage
```

Return canonical usage totals for the run.

### `ResearchRunProgressAPI` <sup><a href="https://github.com/synth-laboratories/synth-ai/blob/main/synth_ai/research/run_readouts.py#L90" target="_blank"><Icon icon="github" style="width: 14px; height: 14px;" /></a></sup>

High-level progress summary for dashboards and polling loops.

**Methods:**

#### `get` <sup><a href="https://github.com/synth-laboratories/synth-ai/blob/main/synth_ai/research/run_readouts.py#L93" target="_blank"><Icon icon="github" style="width: 14px; height: 14px;" /></a></sup>

```python theme={null}
get(self) -> dict[str, Any]
```

Return coarse progress fields (phase, percent, status text).

### `ResearchRunSnapshotsAPI` <sup><a href="https://github.com/synth-laboratories/synth-ai/blob/main/synth_ai/research/run_readouts.py#L101" target="_blank"><Icon icon="github" style="width: 14px; height: 14px;" /></a></sup>

Observability snapshots (control vs full detail).

**Methods:**

#### `get` <sup><a href="https://github.com/synth-laboratories/synth-ai/blob/main/synth_ai/research/run_readouts.py#L104" target="_blank"><Icon icon="github" style="width: 14px; height: 14px;" /></a></sup>

```python theme={null}
get(self) -> Any
```

Return an observability snapshot for the run.

**Args:**

* `detail`: `"control"` for operator dashboard fields or `"full"` for
  the expanded observability projection.

### `ResearchRunEventsObjectivesAPI` <sup><a href="https://github.com/synth-laboratories/synth-ai/blob/main/synth_ai/research/run_readouts.py#L139" target="_blank"><Icon icon="github" style="width: 14px; height: 14px;" /></a></sup>

Objective lifecycle events emitted during a run.

**Methods:**

#### `list` <sup><a href="https://github.com/synth-laboratories/synth-ai/blob/main/synth_ai/research/run_readouts.py#L142" target="_blank"><Icon icon="github" style="width: 14px; height: 14px;" /></a></sup>

```python theme={null}
list(self) -> dict[str, Any]
```

List objective events with optional cursor pagination.

**Args:**

* `limit`: Maximum events to return on this page.
* `cursor`: Opaque cursor from a prior response.

**Returns:**

* Event page payload including items and an optional next cursor.

### `ResearchRunEventsTasksAPI` <sup><a href="https://github.com/synth-laboratories/synth-ai/blob/main/synth_ai/research/run_readouts.py#L160" target="_blank"><Icon icon="github" style="width: 14px; height: 14px;" /></a></sup>

Task lifecycle events emitted during a run.

**Methods:**

#### `list` <sup><a href="https://github.com/synth-laboratories/synth-ai/blob/main/synth_ai/research/run_readouts.py#L163" target="_blank"><Icon icon="github" style="width: 14px; height: 14px;" /></a></sup>

```python theme={null}
list(self) -> dict[str, Any]
```

List task events with optional cursor pagination.

**Args:**

* `limit`: Maximum events to return on this page.
* `cursor`: Opaque cursor from a prior response.

**Returns:**

* Event page payload including items and an optional next cursor.

### `ResearchRunEventsAPI` <sup><a href="https://github.com/synth-laboratories/synth-ai/blob/main/synth_ai/research/run_readouts.py#L181" target="_blank"><Icon icon="github" style="width: 14px; height: 14px;" /></a></sup>

Structured and streaming runtime events for a run.

**Methods:**

#### `objectives` <sup><a href="https://github.com/synth-laboratories/synth-ai/blob/main/synth_ai/research/run_readouts.py#L190" target="_blank"><Icon icon="github" style="width: 14px; height: 14px;" /></a></sup>

```python theme={null}
objectives(self) -> ResearchRunEventsObjectivesAPI
```

Objective-scoped event list.

#### `tasks` <sup><a href="https://github.com/synth-laboratories/synth-ai/blob/main/synth_ai/research/run_readouts.py#L197" target="_blank"><Icon icon="github" style="width: 14px; height: 14px;" /></a></sup>

```python theme={null}
tasks(self) -> ResearchRunEventsTasksAPI
```

Task-scoped event list.

#### `stream` <sup><a href="https://github.com/synth-laboratories/synth-ai/blob/main/synth_ai/research/run_readouts.py#L203" target="_blank"><Icon icon="github" style="width: 14px; height: 14px;" /></a></sup>

```python theme={null}
stream(self) -> Iterator[RunRuntimeStreamEvent]
```

Stream runtime events over SSE.

**Args:**

* `transcript_cursor`: Resume streaming after this transcript cursor.
* `view`: Projection name (for example `"operator"`).
* `last_event_id`: Resume after this event id when reconnecting.
* `timeout`: Optional read timeout in seconds.

### `ResearchRunTasksAPI` <sup><a href="https://github.com/synth-laboratories/synth-ai/blob/main/synth_ai/research/run_readouts.py#L230" target="_blank"><Icon icon="github" style="width: 14px; height: 14px;" /></a></sup>

Task summaries attached to a run.

**Methods:**

#### `list` <sup><a href="https://github.com/synth-laboratories/synth-ai/blob/main/synth_ai/research/run_readouts.py#L233" target="_blank"><Icon icon="github" style="width: 14px; height: 14px;" /></a></sup>

```python theme={null}
list(self) -> List[Any]
```

List task summaries for the run.

**Args:**

* `kind`: Optional task kind filter.
* `limit`: Maximum summaries to return.

### `ResearchRunMessageQueueMessagesAPI` <sup><a href="https://github.com/synth-laboratories/synth-ai/blob/main/synth_ai/research/run_readouts.py#L253" target="_blank"><Icon icon="github" style="width: 14px; height: 14px;" /></a></sup>

Outbound operator messages on the run message queue.

**Methods:**

#### `list` <sup><a href="https://github.com/synth-laboratories/synth-ai/blob/main/synth_ai/research/run_readouts.py#L256" target="_blank"><Icon icon="github" style="width: 14px; height: 14px;" /></a></sup>

```python theme={null}
list(self) -> List[Any]
```

List queued messages, optionally scoped to a thread.

#### `send` <sup><a href="https://github.com/synth-laboratories/synth-ai/blob/main/synth_ai/research/run_readouts.py#L265" target="_blank"><Icon icon="github" style="width: 14px; height: 14px;" /></a></sup>

```python theme={null}
send(self, **kwargs: Any) -> dict[str, Any]
```

Publish a message to the run message queue.

**Args:**

* `body`: Message body text.
* `**kwargs`: Additional wire fields forwarded to the backend.

### `ResearchRunMessageQueueThreadsAPI` <sup><a href="https://github.com/synth-laboratories/synth-ai/blob/main/synth_ai/research/run_readouts.py#L275" target="_blank"><Icon icon="github" style="width: 14px; height: 14px;" /></a></sup>

Message queue threads for operator steering.

**Methods:**

#### `list` <sup><a href="https://github.com/synth-laboratories/synth-ai/blob/main/synth_ai/research/run_readouts.py#L278" target="_blank"><Icon icon="github" style="width: 14px; height: 14px;" /></a></sup>

```python theme={null}
list(self) -> List[Any]
```

List message queue threads for the run.

### `ResearchRunMessageQueueInteractionsAPI` <sup><a href="https://github.com/synth-laboratories/synth-ai/blob/main/synth_ai/research/run_readouts.py#L283" target="_blank"><Icon icon="github" style="width: 14px; height: 14px;" /></a></sup>

Pending and completed message queue interactions.

**Methods:**

#### `list` <sup><a href="https://github.com/synth-laboratories/synth-ai/blob/main/synth_ai/research/run_readouts.py#L286" target="_blank"><Icon icon="github" style="width: 14px; height: 14px;" /></a></sup>

```python theme={null}
list(self) -> List[Any]
```

List interactions, optionally filtered by status.

### `ResearchRunMessageQueueAPI` <sup><a href="https://github.com/synth-laboratories/synth-ai/blob/main/synth_ai/research/run_readouts.py#L296" target="_blank"><Icon icon="github" style="width: 14px; height: 14px;" /></a></sup>

Operator steering via threads, messages, and interactions.

**Methods:**

#### `messages` <sup><a href="https://github.com/synth-laboratories/synth-ai/blob/main/synth_ai/research/run_readouts.py#L306" target="_blank"><Icon icon="github" style="width: 14px; height: 14px;" /></a></sup>

```python theme={null}
messages(self) -> ResearchRunMessageQueueMessagesAPI
```

Outbound messages API.

#### `threads` <sup><a href="https://github.com/synth-laboratories/synth-ai/blob/main/synth_ai/research/run_readouts.py#L313" target="_blank"><Icon icon="github" style="width: 14px; height: 14px;" /></a></sup>

```python theme={null}
threads(self) -> ResearchRunMessageQueueThreadsAPI
```

Thread listing API.

#### `interactions` <sup><a href="https://github.com/synth-laboratories/synth-ai/blob/main/synth_ai/research/run_readouts.py#L320" target="_blank"><Icon icon="github" style="width: 14px; height: 14px;" /></a></sup>

```python theme={null}
interactions(self) -> ResearchRunMessageQueueInteractionsAPI
```

Interaction listing API.

### `ResearchRunRuntimeMessagesAPI` <sup><a href="https://github.com/synth-laboratories/synth-ai/blob/main/synth_ai/research/run_readouts.py#L327" target="_blank"><Icon icon="github" style="width: 14px; height: 14px;" /></a></sup>

Runtime messages visible to operators and viewers.

**Methods:**

#### `list` <sup><a href="https://github.com/synth-laboratories/synth-ai/blob/main/synth_ai/research/run_readouts.py#L330" target="_blank"><Icon icon="github" style="width: 14px; height: 14px;" /></a></sup>

```python theme={null}
list(self) -> List[dict[str, Any]]
```

List runtime messages for the run.

**Args:**

* `status`: Optional delivery or read status filter.
* `viewer_role`: Role used to project the message list.
* `viewer_target`: Optional target id or list of targets.
* `limit`: Maximum messages to return.

### `ResearchRunTranscriptAPI` <sup><a href="https://github.com/synth-laboratories/synth-ai/blob/main/synth_ai/research/run_readouts.py#L356" target="_blank"><Icon icon="github" style="width: 14px; height: 14px;" /></a></sup>

Transcript pages and cursor-based pagination for run events.

**Methods:**

#### `get` <sup><a href="https://github.com/synth-laboratories/synth-ai/blob/main/synth_ai/research/run_readouts.py#L359" target="_blank"><Icon icon="github" style="width: 14px; height: 14px;" /></a></sup>

```python theme={null}
get(self) -> dict[str, Any]
```

Fetch a transcript page (use `get_page` for `SyncPage` iteration).

#### `get_page` <sup><a href="https://github.com/synth-laboratories/synth-ai/blob/main/synth_ai/research/run_readouts.py#L376" target="_blank"><Icon icon="github" style="width: 14px; height: 14px;" /></a></sup>

```python theme={null}
get_page(self) -> SyncPage[dict[str, Any]]
```

Fetch a transcript page wrapped as `SyncPage` for iteration.

### `ResearchRunMilestonesAPI` <sup><a href="https://github.com/synth-laboratories/synth-ai/blob/main/synth_ai/research/run_readouts.py#L407" target="_blank"><Icon icon="github" style="width: 14px; height: 14px;" /></a></sup>

Run-scoped milestone readouts.

**Methods:**

#### `list_primary_parent` <sup><a href="https://github.com/synth-laboratories/synth-ai/blob/main/synth_ai/research/run_readouts.py#L410" target="_blank"><Icon icon="github" style="width: 14px; height: 14px;" /></a></sup>

```python theme={null}
list_primary_parent(self) -> List[dict[str, Any]]
```

List primary parent milestones linked to the run.

### `ResearchRunWorkProductsContentAPI` <sup><a href="https://github.com/synth-laboratories/synth-ai/blob/main/synth_ai/research/run_readouts.py#L418" target="_blank"><Icon icon="github" style="width: 14px; height: 14px;" /></a></sup>

Fetch work product payload bytes or text.

**Methods:**

#### `get` <sup><a href="https://github.com/synth-laboratories/synth-ai/blob/main/synth_ai/research/run_readouts.py#L421" target="_blank"><Icon icon="github" style="width: 14px; height: 14px;" /></a></sup>

```python theme={null}
get(self, work_product_id: str) -> str | bytes
```

Return work product content.

**Args:**

* `work_product_id`: Work product identifier from `list`.
* `as_text`: When `True`, decode as UTF-8 text; otherwise return bytes.

### `ResearchRunTrainedModelsAPI` <sup><a href="https://github.com/synth-laboratories/synth-ai/blob/main/synth_ai/research/run_readouts.py#L439" target="_blank"><Icon icon="github" style="width: 14px; height: 14px;" /></a></sup>

Trained model artifacts produced by a run.

**Methods:**

#### `list` <sup><a href="https://github.com/synth-laboratories/synth-ai/blob/main/synth_ai/research/run_readouts.py#L442" target="_blank"><Icon icon="github" style="width: 14px; height: 14px;" /></a></sup>

```python theme={null}
list(self) -> List[Any]
```

List trained models registered for the run.

### `ResearchRunWorkProductsEvalPackagesAPI` <sup><a href="https://github.com/synth-laboratories/synth-ai/blob/main/synth_ai/research/run_readouts.py#L447" target="_blank"><Icon icon="github" style="width: 14px; height: 14px;" /></a></sup>

Container eval packages attached to run work products.

**Methods:**

#### `list` <sup><a href="https://github.com/synth-laboratories/synth-ai/blob/main/synth_ai/research/run_readouts.py#L450" target="_blank"><Icon icon="github" style="width: 14px; height: 14px;" /></a></sup>

```python theme={null}
list(self) -> List[Any]
```

List eval packages exported from the run workspace.

### `ResearchRunWorkProductsAPI` <sup><a href="https://github.com/synth-laboratories/synth-ai/blob/main/synth_ai/research/run_readouts.py#L458" target="_blank"><Icon icon="github" style="width: 14px; height: 14px;" /></a></sup>

Work products and derived outputs from a run.

**Methods:**

#### `content` <sup><a href="https://github.com/synth-laboratories/synth-ai/blob/main/synth_ai/research/run_readouts.py#L467" target="_blank"><Icon icon="github" style="width: 14px; height: 14px;" /></a></sup>

```python theme={null}
content(self) -> ResearchRunWorkProductsContentAPI
```

Download work product bodies.

#### `eval_packages` <sup><a href="https://github.com/synth-laboratories/synth-ai/blob/main/synth_ai/research/run_readouts.py#L474" target="_blank"><Icon icon="github" style="width: 14px; height: 14px;" /></a></sup>

```python theme={null}
eval_packages(self) -> ResearchRunWorkProductsEvalPackagesAPI
```

List container eval packages.

#### `list` <sup><a href="https://github.com/synth-laboratories/synth-ai/blob/main/synth_ai/research/run_readouts.py#L480" target="_blank"><Icon icon="github" style="width: 14px; height: 14px;" /></a></sup>

```python theme={null}
list(self) -> List[Any]
```

List work product metadata for the run.

### `ResearchRunArtifactsManifestAPI` <sup><a href="https://github.com/synth-laboratories/synth-ai/blob/main/synth_ai/research/run_readouts.py#L488" target="_blank"><Icon icon="github" style="width: 14px; height: 14px;" /></a></sup>

Artifact manifest for a run.

**Methods:**

#### `get` <sup><a href="https://github.com/synth-laboratories/synth-ai/blob/main/synth_ai/research/run_readouts.py#L491" target="_blank"><Icon icon="github" style="width: 14px; height: 14px;" /></a></sup>

```python theme={null}
get(self) -> Any
```

Return the artifact manifest describing available run outputs.

### `ResearchRunArtifactsContentAPI` <sup><a href="https://github.com/synth-laboratories/synth-ai/blob/main/synth_ai/research/run_readouts.py#L499" target="_blank"><Icon icon="github" style="width: 14px; height: 14px;" /></a></sup>

Download individual run artifacts.

**Methods:**

#### `get` <sup><a href="https://github.com/synth-laboratories/synth-ai/blob/main/synth_ai/research/run_readouts.py#L502" target="_blank"><Icon icon="github" style="width: 14px; height: 14px;" /></a></sup>

```python theme={null}
get(self, artifact_id: str) -> str | bytes
```

Return artifact content by id.

**Args:**

* `artifact_id`: Artifact identifier from `list` or the manifest.
* `as_text`: When `True`, decode as UTF-8 text; otherwise return bytes.

### `ResearchRunArtifactsAPI` <sup><a href="https://github.com/synth-laboratories/synth-ai/blob/main/synth_ai/research/run_readouts.py#L520" target="_blank"><Icon icon="github" style="width: 14px; height: 14px;" /></a></sup>

Run artifacts listing, manifest, and content download.

**Methods:**

#### `manifest` <sup><a href="https://github.com/synth-laboratories/synth-ai/blob/main/synth_ai/research/run_readouts.py#L529" target="_blank"><Icon icon="github" style="width: 14px; height: 14px;" /></a></sup>

```python theme={null}
manifest(self) -> ResearchRunArtifactsManifestAPI
```

Artifact manifest API.

#### `content` <sup><a href="https://github.com/synth-laboratories/synth-ai/blob/main/synth_ai/research/run_readouts.py#L536" target="_blank"><Icon icon="github" style="width: 14px; height: 14px;" /></a></sup>

```python theme={null}
content(self) -> ResearchRunArtifactsContentAPI
```

Artifact content download API.

#### `list` <sup><a href="https://github.com/synth-laboratories/synth-ai/blob/main/synth_ai/research/run_readouts.py#L542" target="_blank"><Icon icon="github" style="width: 14px; height: 14px;" /></a></sup>

```python theme={null}
list(self) -> List[Any]
```

List artifacts for the run with optional type filter.

### `ResearchRunResultsAPI` <sup><a href="https://github.com/synth-laboratories/synth-ai/blob/main/synth_ai/research/run_readouts.py#L559" target="_blank"><Icon icon="github" style="width: 14px; height: 14px;" /></a></sup>

Final run results and outcome payload.

**Methods:**

#### `get` <sup><a href="https://github.com/synth-laboratories/synth-ai/blob/main/synth_ai/research/run_readouts.py#L562" target="_blank"><Icon icon="github" style="width: 14px; height: 14px;" /></a></sup>

```python theme={null}
get(self) -> dict[str, Any]
```

Return the run results document when execution has finished.

### `ResearchRunLogsAPI` <sup><a href="https://github.com/synth-laboratories/synth-ai/blob/main/synth_ai/research/run_readouts.py#L570" target="_blank"><Icon icon="github" style="width: 14px; height: 14px;" /></a></sup>

Structured run logs for debugging and audit.

**Methods:**

#### `list` <sup><a href="https://github.com/synth-laboratories/synth-ai/blob/main/synth_ai/research/run_readouts.py#L573" target="_blank"><Icon icon="github" style="width: 14px; height: 14px;" /></a></sup>

```python theme={null}
list(self) -> dict[str, Any]
```

List log records with optional cursor pagination.

### `ResearchRunOrchestratorAPI` <sup><a href="https://github.com/synth-laboratories/synth-ai/blob/main/synth_ai/research/run_readouts.py#L588" target="_blank"><Icon icon="github" style="width: 14px; height: 14px;" /></a></sup>

Orchestrator state and routing metadata for a run.

**Methods:**

#### `get` <sup><a href="https://github.com/synth-laboratories/synth-ai/blob/main/synth_ai/research/run_readouts.py#L591" target="_blank"><Icon icon="github" style="width: 14px; height: 14px;" /></a></sup>

```python theme={null}
get(self) -> dict[str, Any]
```

Return orchestrator readouts for the run.

### `ResearchRunWorkspaceAPI` <sup><a href="https://github.com/synth-laboratories/synth-ai/blob/main/synth_ai/research/run_readouts.py#L599" target="_blank"><Icon icon="github" style="width: 14px; height: 14px;" /></a></sup>

Run workspace archive download.

**Methods:**

#### `download` <sup><a href="https://github.com/synth-laboratories/synth-ai/blob/main/synth_ai/research/run_readouts.py#L602" target="_blank"><Icon icon="github" style="width: 14px; height: 14px;" /></a></sup>

```python theme={null}
download(self, destination: str) -> dict[str, Any]
```

Download the run workspace archive to a local path.

**Args:**

* `destination`: Local filesystem path for the archive.
* `timeout_seconds`: Optional download timeout.

### `ResearchRunCodeAPI` <sup><a href="https://github.com/synth-laboratories/synth-ai/blob/main/synth_ai/research/run_readouts.py#L622" target="_blank"><Icon icon="github" style="width: 14px; height: 14px;" /></a></sup>

Run code archive download.

**Methods:**

#### `download` <sup><a href="https://github.com/synth-laboratories/synth-ai/blob/main/synth_ai/research/run_readouts.py#L625" target="_blank"><Icon icon="github" style="width: 14px; height: 14px;" /></a></sup>

```python theme={null}
download(self, path: str) -> dict[str, Any]
```

Download run code to the given local path.

### `ResearchRunActorsAPI` <sup><a href="https://github.com/synth-laboratories/synth-ai/blob/main/synth_ai/research/run_readouts.py#L630" target="_blank"><Icon icon="github" style="width: 14px; height: 14px;" /></a></sup>

Runtime actor inventory for a run.

**Methods:**

#### `list` <sup><a href="https://github.com/synth-laboratories/synth-ai/blob/main/synth_ai/research/run_readouts.py#L633" target="_blank"><Icon icon="github" style="width: 14px; height: 14px;" /></a></sup>

```python theme={null}
list(self) -> dict[str, Any]
```

List actors participating in the run.

### `ResearchRunEvidenceAPI` <sup><a href="https://github.com/synth-laboratories/synth-ai/blob/main/synth_ai/research/run_readouts.py#L638" target="_blank"><Icon icon="github" style="width: 14px; height: 14px;" /></a></sup>

Operator evidence bundle for debugging run behavior.

**Methods:**

#### `get` <sup><a href="https://github.com/synth-laboratories/synth-ai/blob/main/synth_ai/research/run_readouts.py#L641" target="_blank"><Icon icon="github" style="width: 14px; height: 14px;" /></a></sup>

```python theme={null}
get(self) -> dict[str, Any]
```

Return operator evidence with optional per-section limits.

### `ResearchRunAuthorityAPI` <sup><a href="https://github.com/synth-laboratories/synth-ai/blob/main/synth_ai/research/run_readouts.py#L658" target="_blank"><Icon icon="github" style="width: 14px; height: 14px;" /></a></sup>

Authority and permission readouts for operators.

**Methods:**

#### `get` <sup><a href="https://github.com/synth-laboratories/synth-ai/blob/main/synth_ai/research/run_readouts.py#L661" target="_blank"><Icon icon="github" style="width: 14px; height: 14px;" /></a></sup>

```python theme={null}
get(self) -> Any
```

Return authority readouts for the run.

**Args:**

* `include_runtime_authority`: Include live runtime authority fields when
  available.

### `ResearchRunExecutionAPI` <sup><a href="https://github.com/synth-laboratories/synth-ai/blob/main/synth_ai/research/run_readouts.py#L673" target="_blank"><Icon icon="github" style="width: 14px; height: 14px;" /></a></sup>

Execution state and worker routing for a run.

**Methods:**

#### `get` <sup><a href="https://github.com/synth-laboratories/synth-ai/blob/main/synth_ai/research/run_readouts.py#L676" target="_blank"><Icon icon="github" style="width: 14px; height: 14px;" /></a></sup>

```python theme={null}
get(self, **kwargs: Any) -> Any
```

Return execution readouts for the run.

### `ResearchRunTickingAPI` <sup><a href="https://github.com/synth-laboratories/synth-ai/blob/main/synth_ai/research/run_readouts.py#L685" target="_blank"><Icon icon="github" style="width: 14px; height: 14px;" /></a></sup>

Run ticking / heartbeat controls for long-running workloads.

**Methods:**

#### `get` <sup><a href="https://github.com/synth-laboratories/synth-ai/blob/main/synth_ai/research/run_readouts.py#L688" target="_blank"><Icon icon="github" style="width: 14px; height: 14px;" /></a></sup>

```python theme={null}
get(self) -> Any
```

Return current ticking state for the run.

#### `set` <sup><a href="https://github.com/synth-laboratories/synth-ai/blob/main/synth_ai/research/run_readouts.py#L692" target="_blank"><Icon icon="github" style="width: 14px; height: 14px;" /></a></sup>

```python theme={null}
set(self, update: Any = None, **kwargs: Any) -> Any
```

Update ticking configuration for the run.

### `ResearchRunReadoutsMixin` <sup><a href="https://github.com/synth-laboratories/synth-ai/blob/main/synth_ai/research/run_readouts.py#L697" target="_blank"><Icon icon="github" style="width: 14px; height: 14px;" /></a></sup>

Lazy nested readout namespaces on :class:`ResearchRunHandle`.

Access via `handle.usage`, `handle.progress`, `handle.snapshots`,
`handle.transcript`, `handle.message_queue`, etc.

**Methods:**

#### `usage` <sup><a href="https://github.com/synth-laboratories/synth-ai/blob/main/synth_ai/research/run_readouts.py#L728" target="_blank"><Icon icon="github" style="width: 14px; height: 14px;" /></a></sup>

```python theme={null}
usage(self) -> ResearchRunUsageAPI
```

Usage, cost, and limit readouts.

#### `progress` <sup><a href="https://github.com/synth-laboratories/synth-ai/blob/main/synth_ai/research/run_readouts.py#L735" target="_blank"><Icon icon="github" style="width: 14px; height: 14px;" /></a></sup>

```python theme={null}
progress(self) -> ResearchRunProgressAPI
```

Coarse progress for polling UIs.

#### `snapshots` <sup><a href="https://github.com/synth-laboratories/synth-ai/blob/main/synth_ai/research/run_readouts.py#L742" target="_blank"><Icon icon="github" style="width: 14px; height: 14px;" /></a></sup>

```python theme={null}
snapshots(self) -> ResearchRunSnapshotsAPI
```

Observability snapshots (control or full).

#### `events` <sup><a href="https://github.com/synth-laboratories/synth-ai/blob/main/synth_ai/research/run_readouts.py#L749" target="_blank"><Icon icon="github" style="width: 14px; height: 14px;" /></a></sup>

```python theme={null}
events(self) -> ResearchRunEventsAPI
```

Structured and streaming runtime events.

#### `tasks` <sup><a href="https://github.com/synth-laboratories/synth-ai/blob/main/synth_ai/research/run_readouts.py#L756" target="_blank"><Icon icon="github" style="width: 14px; height: 14px;" /></a></sup>

```python theme={null}
tasks(self) -> ResearchRunTasksAPI
```

Task summaries for the run.

#### `message_queue` <sup><a href="https://github.com/synth-laboratories/synth-ai/blob/main/synth_ai/research/run_readouts.py#L763" target="_blank"><Icon icon="github" style="width: 14px; height: 14px;" /></a></sup>

```python theme={null}
message_queue(self) -> ResearchRunMessageQueueAPI
```

Operator message queue threads and outbound messages.

#### `messages` <sup><a href="https://github.com/synth-laboratories/synth-ai/blob/main/synth_ai/research/run_readouts.py#L770" target="_blank"><Icon icon="github" style="width: 14px; height: 14px;" /></a></sup>

```python theme={null}
messages(self) -> ResearchRunRuntimeMessagesAPI
```

Runtime messages visible to operators.

#### `transcript` <sup><a href="https://github.com/synth-laboratories/synth-ai/blob/main/synth_ai/research/run_readouts.py#L777" target="_blank"><Icon icon="github" style="width: 14px; height: 14px;" /></a></sup>

```python theme={null}
transcript(self) -> ResearchRunTranscriptAPI
```

Transcript pages with optional cursor pagination.

#### `work_products` <sup><a href="https://github.com/synth-laboratories/synth-ai/blob/main/synth_ai/research/run_readouts.py#L784" target="_blank"><Icon icon="github" style="width: 14px; height: 14px;" /></a></sup>

```python theme={null}
work_products(self) -> ResearchRunWorkProductsAPI
```

Work products produced by the run.

#### `trained_models` <sup><a href="https://github.com/synth-laboratories/synth-ai/blob/main/synth_ai/research/run_readouts.py#L791" target="_blank"><Icon icon="github" style="width: 14px; height: 14px;" /></a></sup>

```python theme={null}
trained_models(self) -> ResearchRunTrainedModelsAPI
```

Trained models registered for the run.

#### `artifacts` <sup><a href="https://github.com/synth-laboratories/synth-ai/blob/main/synth_ai/research/run_readouts.py#L798" target="_blank"><Icon icon="github" style="width: 14px; height: 14px;" /></a></sup>

```python theme={null}
artifacts(self) -> ResearchRunArtifactsAPI
```

Run artifacts listing and download.

#### `results` <sup><a href="https://github.com/synth-laboratories/synth-ai/blob/main/synth_ai/research/run_readouts.py#L805" target="_blank"><Icon icon="github" style="width: 14px; height: 14px;" /></a></sup>

```python theme={null}
results(self) -> ResearchRunResultsAPI
```

Final run results when execution completes.

#### `logs` <sup><a href="https://github.com/synth-laboratories/synth-ai/blob/main/synth_ai/research/run_readouts.py#L812" target="_blank"><Icon icon="github" style="width: 14px; height: 14px;" /></a></sup>

```python theme={null}
logs(self) -> ResearchRunLogsAPI
```

Structured run logs.

#### `orchestrator` <sup><a href="https://github.com/synth-laboratories/synth-ai/blob/main/synth_ai/research/run_readouts.py#L819" target="_blank"><Icon icon="github" style="width: 14px; height: 14px;" /></a></sup>

```python theme={null}
orchestrator(self) -> ResearchRunOrchestratorAPI
```

Orchestrator readouts for the run.

#### `workspace` <sup><a href="https://github.com/synth-laboratories/synth-ai/blob/main/synth_ai/research/run_readouts.py#L826" target="_blank"><Icon icon="github" style="width: 14px; height: 14px;" /></a></sup>

```python theme={null}
workspace(self) -> ResearchRunWorkspaceAPI
```

Run workspace archive download.

#### `code` <sup><a href="https://github.com/synth-laboratories/synth-ai/blob/main/synth_ai/research/run_readouts.py#L833" target="_blank"><Icon icon="github" style="width: 14px; height: 14px;" /></a></sup>

```python theme={null}
code(self) -> ResearchRunCodeAPI
```

Run code archive download.

#### `actors` <sup><a href="https://github.com/synth-laboratories/synth-ai/blob/main/synth_ai/research/run_readouts.py#L840" target="_blank"><Icon icon="github" style="width: 14px; height: 14px;" /></a></sup>

```python theme={null}
actors(self) -> ResearchRunActorsAPI
```

Runtime actor inventory.

#### `evidence` <sup><a href="https://github.com/synth-laboratories/synth-ai/blob/main/synth_ai/research/run_readouts.py#L847" target="_blank"><Icon icon="github" style="width: 14px; height: 14px;" /></a></sup>

```python theme={null}
evidence(self) -> ResearchRunEvidenceAPI
```

Operator evidence bundle for debugging.

#### `authority` <sup><a href="https://github.com/synth-laboratories/synth-ai/blob/main/synth_ai/research/run_readouts.py#L854" target="_blank"><Icon icon="github" style="width: 14px; height: 14px;" /></a></sup>

```python theme={null}
authority(self) -> ResearchRunAuthorityAPI
```

Authority and permission readouts.

#### `execution` <sup><a href="https://github.com/synth-laboratories/synth-ai/blob/main/synth_ai/research/run_readouts.py#L861" target="_blank"><Icon icon="github" style="width: 14px; height: 14px;" /></a></sup>

```python theme={null}
execution(self) -> ResearchRunExecutionAPI
```

Execution state readouts.

#### `milestones` <sup><a href="https://github.com/synth-laboratories/synth-ai/blob/main/synth_ai/research/run_readouts.py#L868" target="_blank"><Icon icon="github" style="width: 14px; height: 14px;" /></a></sup>

```python theme={null}
milestones(self) -> ResearchRunMilestonesAPI
```

Run-scoped milestone readouts.

#### `ticking` <sup><a href="https://github.com/synth-laboratories/synth-ai/blob/main/synth_ai/research/run_readouts.py#L875" target="_blank"><Icon icon="github" style="width: 14px; height: 14px;" /></a></sup>

```python theme={null}
ticking(self) -> ResearchRunTickingAPI
```

Run ticking / heartbeat controls.
