> This page is for NeMo Relay, version dev.
> 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.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 Plugin Phase

> Observed plugin lifecycle phase or policy-gate context, independent of classification.

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 PluginPhase {
    Validation,
    Activation,
    Runtime,
    Policy,
    Shutdown,
}
```

Observed plugin lifecycle phase or policy-gate context, independent of classification.

The phase-one core adapter automatically supplies only [`Self::Activation`](/reference/api/rust-library-reference/nemo-relay/diagnostics/enum-pluginphase). Other values are authoring/wire contracts for producers integrated later; declaring a value does not mean its stage is currently observed by Relay.

## Variants (Non-exhaustive)

### `Validation`

<pre />

Validation lifecycle phase.

### `Activation`

<pre />

Activation lifecycle phase.

### `Runtime`

<pre />

Runtime lifecycle phase.

### `Policy`

<pre />

Host policy evaluation that permits or blocks plugin realization.

### `Shutdown`

<pre />

Plugin cleanup and confirmed process termination.

## Implementations

### `impl PluginPhase`

<pre />

#### `from_canonical_name`

<pre />

Interpret an exact supported canonical name without allocating.

#### `as_str`

<pre />

Stable portable name, also available in const contexts.

## Trait Implementations

### `impl Clone for PluginPhase`

<pre />

#### `clone`

<pre />

#### `clone_from`

<pre />

### `impl Debug for PluginPhase`

<pre />

#### `fmt`

<pre />

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

<pre />

#### `deserialize`

<pre />

### `impl<'_derivative_strum> From<&'_derivative_strum PluginPhase> for &'static str`

<pre />

#### `from`

<pre />

### `impl From<PluginPhase> for &'static str`

<pre />

#### `from`

<pre />

### `impl From<PluginPhase> for PluginPhaseName`

<pre />

#### `from`

<pre />

### `impl FromStr for PluginPhase`

<pre />

#### `Err`

<pre />

#### `from_str`

<pre />

### `impl Hash for PluginPhase`

<pre />

#### `hash`

<pre />

#### `hash_slice`

<pre />

### `impl Ord for PluginPhase`

<pre />

#### `cmp`

<pre />

#### `max`

<pre />

#### `min`

<pre />

#### `clamp`

<pre />

### `impl PartialEq for PluginPhase`

<pre />

#### `eq`

<pre />

#### `ne`

<pre />

### `impl PartialOrd for PluginPhase`

<pre />

#### `partial_cmp`

<pre />

#### `lt`

<pre />

#### `le`

<pre />

#### `gt`

<pre />

#### `ge`

<pre />

### `impl Serialize for PluginPhase`

<pre />

#### `serialize`

<pre />

### `impl TryFrom<&str> for PluginPhase`

<pre />

#### `Error`

<pre />

#### `try_from`

<pre />

### `impl Copy for PluginPhase`

<pre />

### `impl Eq for PluginPhase`

<pre />

### `impl StructuralPartialEq for PluginPhase`

<pre />