> For clean Markdown of any page, append .md to the page URL. > For a complete documentation index, see https://docs.nvidia.com/nemo/relay/v0.11.0/reference/api/rust-library-reference/nemo-relay-plugin/diagnostics/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](/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](/reference/api/rust-library-reference/nemo-relay-plugin/diagnostics/struct-classification): Shared classification payload for producers, projections, and decoded evidence. * [ClassificationError](/reference/api/rust-library-reference/nemo-relay-plugin/diagnostics/struct-classificationerror): A cause is missing, forbidden, or unsupported by the selected catalogue code. * [ComponentDeclaration](/reference/api/rust-library-reference/nemo-relay-plugin/diagnostics/struct-componentdeclaration): Borrowed component declaration evaluated only when collection is available. * [DeliveryStats](/reference/api/rust-library-reference/nemo-relay-plugin/diagnostics/struct-deliverystats): Local delivery totals, not core observation or retention totals. * [DiagnosticComponent](/reference/api/rust-library-reference/nemo-relay-plugin/diagnostics/struct-diagnosticcomponent): Shared producer registration. Last drop closes it; explicit close fences clones. * [DiagnosticCorrelation](/reference/api/rust-library-reference/nemo-relay-plugin/diagnostics/struct-diagnosticcorrelation): Optional caller correlation identifiers, excluded from aggregation keys. * [DiagnosticCount](/reference/api/rust-library-reference/nemo-relay-plugin/diagnostics/struct-diagnosticcount): Magnitude of an occurrence or loss counter, including overflow visibility. * [DiagnosticDiscovery](/reference/api/rust-library-reference/nemo-relay-plugin/diagnostics/struct-diagnosticdiscovery): Side-effect-free discovery, available even when snapshot queries are disabled. * [DiagnosticMemoryPage](/reference/api/rust-library-reference/nemo-relay-plugin/diagnostics/struct-diagnosticmemorypage): Bounded independent memory view; inspection neither records nor freezes history. * [DiagnosticQuery](/reference/api/rust-library-reference/nemo-relay-plugin/diagnostics/struct-diagnosticquery): Portable bounded selection; consumers never reset or mutate evidence. * [DiagnosticReader](/reference/api/rust-library-reference/nemo-relay-plugin/diagnostics/struct-diagnosticreader): Authorized read facade; each call independently checks live host authority. * [DiagnosticSnapshot](/reference/api/rust-library-reference/nemo-relay-plugin/diagnostics/struct-diagnosticsnapshot): Read evidence from one source incarnation, using the canonical snapshot schema. * [Diagnostics](/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`](/reference/api/rust-library-reference/nemo-relay-plugin/diagnostics/enum-diagnosticerror). * [Observation](/reference/api/rust-library-reference/nemo-relay-plugin/diagnostics/struct-observation): Typed observation with borrowed detail and shared caller correlation. * [RecordReceipt](/reference/api/rust-library-reference/nemo-relay-plugin/diagnostics/struct-recordreceipt): Accepted lifetime and current-summary update. ## Enums * [BuiltinDiagnosticCode](/reference/api/rust-library-reference/nemo-relay-plugin/diagnostics/enum-builtindiagnosticcode): Fixed-size canonical authoring value with one authoritative hierarchy. * [CommonPluginFailureCode](/reference/api/rust-library-reference/nemo-relay-plugin/diagnostics/enum-commonpluginfailurecode): Plugin failures supported by phase-one activation recording. * [DiagnosticAvailability](/reference/api/rust-library-reference/nemo-relay-plugin/diagnostics/enum-diagnosticavailability): Availability of evidence, without applying deployment or application health. * [DiagnosticCode](/reference/api/rust-library-reference/nemo-relay-plugin/diagnostics/enum-diagnosticcode): One declared code. Extension namespace and component ownership are host-assigned. * [DiagnosticError](/reference/api/rust-library-reference/nemo-relay-plugin/diagnostics/enum-diagnosticerror): Diagnostic operation error. These values never classify plugin execution. * [DiagnosticOutcome](/reference/api/rust-library-reference/nemo-relay-plugin/diagnostics/enum-diagnosticoutcome): Observed operation outcome; severity does not imply this value. * [DiagnosticReadReason](/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](/reference/api/rust-library-reference/nemo-relay-plugin/diagnostics/enum-diagnosticseverity): Severity of evidence, independent of an operation's outcome. * [EvidenceDisposition](/reference/api/rust-library-reference/nemo-relay-plugin/diagnostics/enum-evidencedisposition): Evidence retention is independent of numeric acceptance. * [FailureClass](/reference/api/rust-library-reference/nemo-relay-plugin/diagnostics/enum-failureclass): Supported general cause, independent of health, retries, and operation outcome. * [FailureCode](/reference/api/rust-library-reference/nemo-relay-plugin/diagnostics/enum-failurecode): Failure event hierarchy for integrated producers. * [PluginFailureCode](/reference/api/rust-library-reference/nemo-relay-plugin/diagnostics/enum-pluginfailurecode): Plugin failure hierarchy for integrated producers. * [RecordOutcome](/reference/api/rust-library-reference/nemo-relay-plugin/diagnostics/enum-recordoutcome): Accepted collection or intentional disablement. ## Traits * [DiagnosticClassifier](/reference/api/rust-library-reference/nemo-relay-plugin/diagnostics/trait-diagnosticclassifier): Pure producer behavior: borrow original evidence and return shared classification metadata. > 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. ## Docs - [Module abi](https://docs.nvidia.com/nemo/relay/v0.11.0/reference/api/rust-library-reference/nemo-relay-plugin/diagnostics/abi.md): 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. - [Struct Bytes](https://docs.nvidia.com/nemo/relay/v0.11.0/reference/api/rust-library-reference/nemo-relay-plugin/diagnostics/abi/struct-bytes.md): Borrowed bytes. A null pointer is permitted only for an empty span. - [Struct Capabilities](https://docs.nvidia.com/nemo/relay/v0.11.0/reference/api/rust-library-reference/nemo-relay-plugin/diagnostics/abi/struct-capabilities.md): Non-sensitive recording capabilities; no source-wide diagnostic content. - [Struct Code](https://docs.nvidia.com/nemo/relay/v0.11.0/reference/api/rust-library-reference/nemo-relay-plugin/diagnostics/abi/struct-code.md): One declaration. Kind 0 selects a built-in; kind 1 declares an extension. - [Struct Native Diagnostics ApiV1](https://docs.nvidia.com/nemo/relay/v0.11.0/reference/api/rust-library-reference/nemo-relay-plugin/diagnostics/abi/struct-nativediagnosticsapiv1.md): Frozen diagnostics callback table. Status 0 means success; other values are defined by `DiagnosticError::from_status`. Read kinds: 0 discovery, 1 snapshot, 2 memory. Read output is caller-owned; `written` is zero on any failure. - [Struct Native Host ApiV8 With Diagnostics](https://docs.nvidia.com/nemo/relay/v0.11.0/reference/api/rust-library-reference/nemo-relay-plugin/diagnostics/abi/struct-nativehostapiv8withdiagnostics.md): Size-discovered tail of the unchanged ABI-8 execution table. - [Struct Observation](https://docs.nvidia.com/nemo/relay/v0.11.0/reference/api/rust-library-reference/nemo-relay-plugin/diagnostics/abi/struct-observation.md): Borrowed observation. Empty optional strings mean absent values. - [Struct Receipt](https://docs.nvidia.com/nemo/relay/v0.11.0/reference/api/rust-library-reference/nemo-relay-plugin/diagnostics/abi/struct-receipt.md): Allocation-free receipt written only after acceptance. - [Struct Registration](https://docs.nvidia.com/nemo/relay/v0.11.0/reference/api/rust-library-reference/nemo-relay-plugin/diagnostics/abi/struct-registration.md): Borrowed registration, whose complete vocabulary is admitted together. - [Constant CONTRACT_VERSION](https://docs.nvidia.com/nemo/relay/v0.11.0/reference/api/rust-library-reference/nemo-relay-plugin/diagnostics/abi/constant-contract-version.md): Independent diagnostic transport version; execution ABI remains 8. - [Constant MAX_CALLS](https://docs.nvidia.com/nemo/relay/v0.11.0/reference/api/rust-library-reference/nemo-relay-plugin/diagnostics/abi/constant-max-calls.md): Maximum concurrent native data calls per host process. - [Constant MAX_CLASSES](https://docs.nvidia.com/nemo/relay/v0.11.0/reference/api/rust-library-reference/nemo-relay-plugin/diagnostics/abi/constant-max-classes.md): Maximum classes per extension. - [Constant MAX_CODES](https://docs.nvidia.com/nemo/relay/v0.11.0/reference/api/rust-library-reference/nemo-relay-plugin/diagnostics/abi/constant-max-codes.md): Maximum declared codes per component. - [Constant MAX_COMPONENTS](https://docs.nvidia.com/nemo/relay/v0.11.0/reference/api/rust-library-reference/nemo-relay-plugin/diagnostics/abi/constant-max-components.md): Maximum simultaneously live component registrations per activation. - [Constant MAX_EXTENSIONS](https://docs.nvidia.com/nemo/relay/v0.11.0/reference/api/rust-library-reference/nemo-relay-plugin/diagnostics/abi/constant-max-extensions.md): Maximum cumulative extension declarations per activation. - [Constant MAX_REQUEST_BYTES](https://docs.nvidia.com/nemo/relay/v0.11.0/reference/api/rust-library-reference/nemo-relay-plugin/diagnostics/abi/constant-max-request-bytes.md): Maximum total text bytes in a native request. - [Constant MAX_SESSIONS](https://docs.nvidia.com/nemo/relay/v0.11.0/reference/api/rust-library-reference/nemo-relay-plugin/diagnostics/abi/constant-max-sessions.md): Maximum concurrently admitted authoring sessions per host process. - [Struct Classification](https://docs.nvidia.com/nemo/relay/v0.11.0/reference/api/rust-library-reference/nemo-relay-plugin/diagnostics/struct-classification.md): Shared classification payload for producers, projections, and decoded evidence. - [Struct Classification Error](https://docs.nvidia.com/nemo/relay/v0.11.0/reference/api/rust-library-reference/nemo-relay-plugin/diagnostics/struct-classificationerror.md): A cause is missing, forbidden, or unsupported by the selected catalogue code. - [Struct Component Declaration](https://docs.nvidia.com/nemo/relay/v0.11.0/reference/api/rust-library-reference/nemo-relay-plugin/diagnostics/struct-componentdeclaration.md): Borrowed component declaration evaluated only when collection is available. - [Struct Delivery Stats](https://docs.nvidia.com/nemo/relay/v0.11.0/reference/api/rust-library-reference/nemo-relay-plugin/diagnostics/struct-deliverystats.md): Local delivery totals, not core observation or retention totals. - [Struct Diagnostic Component](https://docs.nvidia.com/nemo/relay/v0.11.0/reference/api/rust-library-reference/nemo-relay-plugin/diagnostics/struct-diagnosticcomponent.md): Shared producer registration. Last drop closes it; explicit close fences clones. - [Struct Diagnostic Correlation](https://docs.nvidia.com/nemo/relay/v0.11.0/reference/api/rust-library-reference/nemo-relay-plugin/diagnostics/struct-diagnosticcorrelation.md): Optional caller correlation identifiers, excluded from aggregation keys. - [Struct Diagnostic Count](https://docs.nvidia.com/nemo/relay/v0.11.0/reference/api/rust-library-reference/nemo-relay-plugin/diagnostics/struct-diagnosticcount.md): Magnitude of an occurrence or loss counter, including overflow visibility. - [Struct Diagnostic Discovery](https://docs.nvidia.com/nemo/relay/v0.11.0/reference/api/rust-library-reference/nemo-relay-plugin/diagnostics/struct-diagnosticdiscovery.md): Side-effect-free discovery, available even when snapshot queries are disabled. - [Struct Diagnostic Memory Page](https://docs.nvidia.com/nemo/relay/v0.11.0/reference/api/rust-library-reference/nemo-relay-plugin/diagnostics/struct-diagnosticmemorypage.md): Bounded independent memory view; inspection neither records nor freezes history. - [Struct Diagnostic Query](https://docs.nvidia.com/nemo/relay/v0.11.0/reference/api/rust-library-reference/nemo-relay-plugin/diagnostics/struct-diagnosticquery.md): Portable bounded selection; consumers never reset or mutate evidence. - [Struct Diagnostic Reader](https://docs.nvidia.com/nemo/relay/v0.11.0/reference/api/rust-library-reference/nemo-relay-plugin/diagnostics/struct-diagnosticreader.md): Authorized read facade; each call independently checks live host authority. - [Struct Diagnostic Snapshot](https://docs.nvidia.com/nemo/relay/v0.11.0/reference/api/rust-library-reference/nemo-relay-plugin/diagnostics/struct-diagnosticsnapshot.md): Read evidence from one source incarnation, using the canonical snapshot schema. - [Struct Diagnostics](https://docs.nvidia.com/nemo/relay/v0.11.0/reference/api/rust-library-reference/nemo-relay-plugin/diagnostics/struct-diagnostics.md): 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`. - [Struct Observation](https://docs.nvidia.com/nemo/relay/v0.11.0/reference/api/rust-library-reference/nemo-relay-plugin/diagnostics/struct-observation.md): Typed observation with borrowed detail and shared caller correlation. - [Struct Record Receipt](https://docs.nvidia.com/nemo/relay/v0.11.0/reference/api/rust-library-reference/nemo-relay-plugin/diagnostics/struct-recordreceipt.md): Accepted lifetime and current-summary update. - [Enum Builtin Diagnostic Code](https://docs.nvidia.com/nemo/relay/v0.11.0/reference/api/rust-library-reference/nemo-relay-plugin/diagnostics/enum-builtindiagnosticcode.md): Fixed-size canonical authoring value with one authoritative hierarchy. - [Enum Common Plugin Failure Code](https://docs.nvidia.com/nemo/relay/v0.11.0/reference/api/rust-library-reference/nemo-relay-plugin/diagnostics/enum-commonpluginfailurecode.md): Plugin failures supported by phase-one activation recording. - [Enum Diagnostic Availability](https://docs.nvidia.com/nemo/relay/v0.11.0/reference/api/rust-library-reference/nemo-relay-plugin/diagnostics/enum-diagnosticavailability.md): Availability of evidence, without applying deployment or application health. - [Enum Diagnostic Code](https://docs.nvidia.com/nemo/relay/v0.11.0/reference/api/rust-library-reference/nemo-relay-plugin/diagnostics/enum-diagnosticcode.md): One declared code. Extension namespace and component ownership are host-assigned. - [Enum Diagnostic Error](https://docs.nvidia.com/nemo/relay/v0.11.0/reference/api/rust-library-reference/nemo-relay-plugin/diagnostics/enum-diagnosticerror.md): Diagnostic operation error. These values never classify plugin execution. - [Enum Diagnostic Outcome](https://docs.nvidia.com/nemo/relay/v0.11.0/reference/api/rust-library-reference/nemo-relay-plugin/diagnostics/enum-diagnosticoutcome.md): Observed operation outcome; severity does not imply this value. - [Enum Diagnostic Read Reason](https://docs.nvidia.com/nemo/relay/v0.11.0/reference/api/rust-library-reference/nemo-relay-plugin/diagnostics/enum-diagnosticreadreason.md): 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. - [Enum Diagnostic Severity](https://docs.nvidia.com/nemo/relay/v0.11.0/reference/api/rust-library-reference/nemo-relay-plugin/diagnostics/enum-diagnosticseverity.md): Severity of evidence, independent of an operation's outcome. - [Enum Evidence Disposition](https://docs.nvidia.com/nemo/relay/v0.11.0/reference/api/rust-library-reference/nemo-relay-plugin/diagnostics/enum-evidencedisposition.md): Evidence retention is independent of numeric acceptance. - [Enum Failure Class](https://docs.nvidia.com/nemo/relay/v0.11.0/reference/api/rust-library-reference/nemo-relay-plugin/diagnostics/enum-failureclass.md): Supported general cause, independent of health, retries, and operation outcome. - [Enum Failure Code](https://docs.nvidia.com/nemo/relay/v0.11.0/reference/api/rust-library-reference/nemo-relay-plugin/diagnostics/enum-failurecode.md): Failure event hierarchy for integrated producers. - [Enum Plugin Failure Code](https://docs.nvidia.com/nemo/relay/v0.11.0/reference/api/rust-library-reference/nemo-relay-plugin/diagnostics/enum-pluginfailurecode.md): Plugin failure hierarchy for integrated producers. - [Enum Record Outcome](https://docs.nvidia.com/nemo/relay/v0.11.0/reference/api/rust-library-reference/nemo-relay-plugin/diagnostics/enum-recordoutcome.md): Accepted collection or intentional disablement. - [Trait Diagnostic Classifier](https://docs.nvidia.com/nemo/relay/v0.11.0/reference/api/rust-library-reference/nemo-relay-plugin/diagnostics/trait-diagnosticclassifier.md): Pure producer behavior: borrow original evidence and return shared classification metadata.