> This page is for NeMo Relay, version v0.11.0.
> For other versions, use one of these documentation indexes:
> - Latest (v0.10.4) (default): https://docs.nvidia.com/nemo/relay/latest/llms.txt
> - dev: https://docs.nvidia.com/nemo/relay/dev/llms.txt
> - v0.11.0: https://docs.nvidia.com/nemo/relay/v0.11.0/llms.txt
> - v0.10.4: https://docs.nvidia.com/nemo/relay/v0.10.4/llms.txt
> - v0.9.4: https://docs.nvidia.com/nemo/relay/v0.9.4/llms.txt
> - v0.8.4: https://docs.nvidia.com/nemo/relay/v0.8.4/llms.txt
> - v0.7.3: https://docs.nvidia.com/nemo/relay/v0.7.3/llms.txt

> For clean Markdown of any page, append .md to the page URL.
> For a complete documentation index, see https://docs.nvidia.com/nemo/relay/llms.txt.
> For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://docs.nvidia.com/nemo/relay/_mcp/server.

# Enum Diagnostic Read Reason

> Stable reasons shared by canonical snapshot adapters. These are operation results, never a source health classification or a producer failure code. Include a fallback arm when matching: future releases can add reasons.

Generated from `cargo doc --no-deps -p nemo-relay -p nemo-relay-adaptive -p nemo-relay-pii-redaction -p nemo-relay-ffi -p nemo-relay-types -p nemo-relay-plugin -p nemo-relay-worker-proto -p nemo-relay-worker`.

```rust
#[non_exhaustive]pub enum DiagnosticReadReason {
    Disabled,
    QueryDisabled,
    UnsupportedSchema,
    InvalidQuery,
    InvalidCursor,
    Busy,
    SnapshotCapacity,
    InvalidLimits,
    AllocationFailed,
    Internal,
}
```

Stable reasons shared by canonical snapshot adapters. These are operation results, never a source health classification or a producer failure code. Include a fallback arm when matching: future releases can add reasons.

## Variants (Non-exhaustive)

### `Disabled`

<pre />

Collection was disabled at startup.

### `QueryDisabled`

<pre />

Collection is enabled but snapshot workspaces were disabled.

### `UnsupportedSchema`

<pre />

Requested snapshot version is unsupported.

### `InvalidQuery`

<pre />

Malformed, oversized, unknown, or inadmissible query input.

### `InvalidCursor`

<pre />

Continuation source, selection, or revision no longer matches.

### `Busy`

<pre />

Core or adapter concurrency permits are temporarily exhausted.

### `SnapshotCapacity`

<pre />

The admitted page cannot fit a required envelope or atomic row.

### `InvalidLimits`

<pre />

Invalid startup capacity profile, including arithmetic overflow.

### `AllocationFailed`

<pre />

An admitted allocation could not be reserved.

### `Internal`

<pre />

An unexpected internal read failure; no original error text is exposed.

## Implementations

### `impl DiagnosticReadReason`

<pre />

#### `as_str`

<pre />

Stable wire spelling, also used by language error helpers.

## Trait Implementations

### `impl Clone for DiagnosticReadReason`

<pre />

#### `clone`

<pre />

#### `clone_from`

<pre />

### `impl Debug for DiagnosticReadReason`

<pre />

#### `fmt`

<pre />

### `impl<'de> Deserialize<'de> for DiagnosticReadReason`

<pre />

#### `deserialize`

<pre />

### `impl Display for DiagnosticReadReason`

<pre />

#### `fmt`

<pre />

### `impl Error for DiagnosticReadReason`

<pre />

#### `source`

<pre />

#### `description`

<pre />

#### `cause`

<pre />

#### `provide`

<pre />

### `impl From<DiagnosticReadReason> for EmbeddedDiagnosticError`

<pre />

#### `from`

<pre />

### `impl PartialEq for DiagnosticReadReason`

<pre />

#### `eq`

<pre />

#### `ne`

<pre />

### `impl Serialize for DiagnosticReadReason`

<pre />

#### `serialize`

<pre />

### `impl Copy for DiagnosticReadReason`

<pre />

### `impl Eq for DiagnosticReadReason`

<pre />

### `impl StructuralPartialEq for DiagnosticReadReason`

<pre />