> 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.

# Module diagnostics

> Native diagnostic authoring and authorized reads. Native diagnostic authoring and explicitly authorized canonical reads. Recording is synchronous, state-only, and independent of operational logs. Disabled/unsupported facades skip factories. Diagnostic errors must not be propagated as plugin execution failures unless the application chooses so.

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`.

Native diagnostic authoring and authorized reads. Native diagnostic authoring and explicitly authorized canonical reads. Recording is synchronous, state-only, and independent of operational logs. Disabled/unsupported facades skip factories. Diagnostic errors must not be propagated as plugin execution failures unless the application chooses so.

## Modules

* [abi](/nemo/relay/v0.11.0/reference/api/rust-library-reference/nemo-relay-plugin/diagnostics/abi): Append-only native diagnostic ABI. All input spans are borrowed for one call. Nonempty spans and output pointers must be valid for their stated size; arrays must be aligned. No callback retains plugin memory. Integer tags are validated.

## Structs

* [Classification](/nemo/relay/v0.11.0/reference/api/rust-library-reference/nemo-relay-plugin/diagnostics/struct-classification): Shared classification payload for producers, projections, and decoded evidence.
* [ClassificationError](/nemo/relay/v0.11.0/reference/api/rust-library-reference/nemo-relay-plugin/diagnostics/struct-classificationerror): A cause is missing, forbidden, or unsupported by the selected catalogue code.
* [ComponentDeclaration](/nemo/relay/v0.11.0/reference/api/rust-library-reference/nemo-relay-plugin/diagnostics/struct-componentdeclaration): Borrowed component declaration evaluated only when collection is available.
* [DeliveryStats](/nemo/relay/v0.11.0/reference/api/rust-library-reference/nemo-relay-plugin/diagnostics/struct-deliverystats): Local delivery totals, not core observation or retention totals.
* [DiagnosticComponent](/nemo/relay/v0.11.0/reference/api/rust-library-reference/nemo-relay-plugin/diagnostics/struct-diagnosticcomponent): Shared producer registration. Last drop closes it; explicit close fences clones.
* [DiagnosticCorrelation](/nemo/relay/v0.11.0/reference/api/rust-library-reference/nemo-relay-plugin/diagnostics/struct-diagnosticcorrelation): Optional caller correlation identifiers, excluded from aggregation keys.
* [DiagnosticCount](/nemo/relay/v0.11.0/reference/api/rust-library-reference/nemo-relay-plugin/diagnostics/struct-diagnosticcount): Magnitude of an occurrence or loss counter, including overflow visibility.
* [DiagnosticDiscovery](/nemo/relay/v0.11.0/reference/api/rust-library-reference/nemo-relay-plugin/diagnostics/struct-diagnosticdiscovery): Side-effect-free discovery, available even when snapshot queries are disabled.
* [DiagnosticMemoryPage](/nemo/relay/v0.11.0/reference/api/rust-library-reference/nemo-relay-plugin/diagnostics/struct-diagnosticmemorypage): Bounded independent memory view; inspection neither records nor freezes history.
* [DiagnosticQuery](/nemo/relay/v0.11.0/reference/api/rust-library-reference/nemo-relay-plugin/diagnostics/struct-diagnosticquery): Portable bounded selection; consumers never reset or mutate evidence.
* [DiagnosticReader](/nemo/relay/v0.11.0/reference/api/rust-library-reference/nemo-relay-plugin/diagnostics/struct-diagnosticreader): Authorized read facade; each call independently checks live host authority.
* [DiagnosticSnapshot](/nemo/relay/v0.11.0/reference/api/rust-library-reference/nemo-relay-plugin/diagnostics/struct-diagnosticsnapshot): Read evidence from one source incarnation, using the canonical snapshot schema.
* [Diagnostics](/nemo/relay/v0.11.0/reference/api/rust-library-reference/nemo-relay-plugin/diagnostics/struct-diagnostics): Cloneable activation-scoped diagnostic facade. It does not start a service. Clones share four concurrent-call slots and one in-flight read-buffer slot. Same-thread recursion into the same activation returns [`DiagnosticError::Busy`](/nemo/relay/v0.11.0/reference/api/rust-library-reference/nemo-relay-plugin/diagnostics/enum-diagnosticerror).
* [Observation](/nemo/relay/v0.11.0/reference/api/rust-library-reference/nemo-relay-plugin/diagnostics/struct-observation): Typed observation with borrowed detail and shared caller correlation.
* [RecordReceipt](/nemo/relay/v0.11.0/reference/api/rust-library-reference/nemo-relay-plugin/diagnostics/struct-recordreceipt): Accepted lifetime and current-summary update.

## Enums

* [BuiltinDiagnosticCode](/nemo/relay/v0.11.0/reference/api/rust-library-reference/nemo-relay-plugin/diagnostics/enum-builtindiagnosticcode): Fixed-size canonical authoring value with one authoritative hierarchy.
* [CommonPluginFailureCode](/nemo/relay/v0.11.0/reference/api/rust-library-reference/nemo-relay-plugin/diagnostics/enum-commonpluginfailurecode): Plugin failures supported by phase-one activation recording.
* [DiagnosticAvailability](/nemo/relay/v0.11.0/reference/api/rust-library-reference/nemo-relay-plugin/diagnostics/enum-diagnosticavailability): Availability of evidence, without applying deployment or application health.
* [DiagnosticCode](/nemo/relay/v0.11.0/reference/api/rust-library-reference/nemo-relay-plugin/diagnostics/enum-diagnosticcode): One declared code. Extension namespace and component ownership are host-assigned.
* [DiagnosticError](/nemo/relay/v0.11.0/reference/api/rust-library-reference/nemo-relay-plugin/diagnostics/enum-diagnosticerror): Diagnostic operation error. These values never classify plugin execution.
* [DiagnosticOutcome](/nemo/relay/v0.11.0/reference/api/rust-library-reference/nemo-relay-plugin/diagnostics/enum-diagnosticoutcome): Observed operation outcome; severity does not imply this value.
* [DiagnosticReadReason](/nemo/relay/v0.11.0/reference/api/rust-library-reference/nemo-relay-plugin/diagnostics/enum-diagnosticreadreason): 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.
* [DiagnosticSeverity](/nemo/relay/v0.11.0/reference/api/rust-library-reference/nemo-relay-plugin/diagnostics/enum-diagnosticseverity): Severity of evidence, independent of an operation's outcome.
* [EvidenceDisposition](/nemo/relay/v0.11.0/reference/api/rust-library-reference/nemo-relay-plugin/diagnostics/enum-evidencedisposition): Evidence retention is independent of numeric acceptance.
* [FailureClass](/nemo/relay/v0.11.0/reference/api/rust-library-reference/nemo-relay-plugin/diagnostics/enum-failureclass): Supported general cause, independent of health, retries, and operation outcome.
* [FailureCode](/nemo/relay/v0.11.0/reference/api/rust-library-reference/nemo-relay-plugin/diagnostics/enum-failurecode): Failure event hierarchy for integrated producers.
* [PluginFailureCode](/nemo/relay/v0.11.0/reference/api/rust-library-reference/nemo-relay-plugin/diagnostics/enum-pluginfailurecode): Plugin failure hierarchy for integrated producers.
* [RecordOutcome](/nemo/relay/v0.11.0/reference/api/rust-library-reference/nemo-relay-plugin/diagnostics/enum-recordoutcome): Accepted collection or intentional disablement.

## Traits

* [DiagnosticClassifier](/nemo/relay/v0.11.0/reference/api/rust-library-reference/nemo-relay-plugin/diagnostics/trait-diagnosticclassifier): Pure producer behavior: borrow original evidence and return shared classification metadata.