> This page is for Health Validation.

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

# Verdict Schema

Type definitions behind the verdict JSON. Enums serialize as strings, and struct fields are listed with their JSON key names. The machine-readable contract is [`node-verdict.schema.json`](https://github.com/dsx-ai-factory/health-validation/blob/main/catalog/health/node-verdict.schema.json).

## Structs

### AffectedComponent

AffectedComponent summarizes a category with non-Pass results.

| Field | JSON name | Type | Description |
|---|---|---|---|
| <nobr>`CheckIDs`</nobr> | <nobr>`check_ids`</nobr> | <nobr>`[]string`</nobr> |  |
| <nobr>`Entities`</nobr> | <nobr>`entities`</nobr> | <nobr>`[]string`</nobr> |  |
| <nobr>`Category`</nobr> | <nobr>`category`</nobr> | [<nobr>`Category`</nobr>](#category) |  |
| <nobr>`MaxSeverity`</nobr> | <nobr>`max_severity`</nobr> | [<nobr>`Severity`</nobr>](#severity) |  |

### CheckDefinition

CheckDefinition is the canonical shape of a health check in the catalog. Each definition encodes NVIDIA's operational judgment about a specific hardware or driver condition: which signals to examine, what thresholds apply, what action to recommend, and how far the condition reaches. Check definitions are data. They carry no sensor or hardware dependencies. Evaluation happens when a caller provides signal values to [Catalog.Evaluate].

| Field | JSON name | Type | Description |
|---|---|---|---|
| <nobr>`Thresholds`</nobr> | <nobr>`thresholds`</nobr> | [<nobr>`map[string]ThresholdSpec`</nobr>](#thresholdspec) |  |
| <nobr>`FeasibilityClass`</nobr> | <nobr>`feasibility_class`</nobr> | <nobr>`string`</nobr> |  |
| <nobr>`Description`</nobr> | <nobr>`description`</nobr> | <nobr>`string`</nobr> |  |
| <nobr>`Name`</nobr> | <nobr>`name`</nobr> | <nobr>`string`</nobr> |  |
| <nobr>`ID`</nobr> | <nobr>`id`</nobr> | <nobr>`string`</nobr> |  |
| <nobr>`Dependencies`</nobr> | <nobr>`dependencies`</nobr> | <nobr>`[]string`</nobr> | Dependencies names check IDs whose Critical verdict explains this check's inability to collect. Checks never read each other's results, so a dependency has no effect on whether this check runs, what it reports, or its severity. Its only effect is that a verdict for an entity this check could not read at all gains a message naming the dependency as the cause. An ID that is not registered is an inactive edge by design, so a consumer may register any subset of the catalog. Validate rejects only a check that names itself. |
| <nobr>`Architectures`</nobr> | <nobr>`architectures`</nobr> | <nobr>`[]string`</nobr> |  |
| <nobr>`Rules`</nobr> | <nobr>`rules`</nobr> | [<nobr>`[]Rule`</nobr>](#rule) |  |
| <nobr>`ExecutionContexts`</nobr> | <nobr>`execution_contexts`</nobr> | [<nobr>`[]ExecutionContext`</nobr>](#executioncontext) |  |
| <nobr>`Prerequisites`</nobr> | <nobr>`prerequisites`</nobr> | [<nobr>`[]Prerequisite`</nobr>](#prerequisite) |  |
| <nobr>`RequiredSignals`</nobr> | <nobr>`required_signals`</nobr> | <nobr>`[]string`</nobr> |  |
| <nobr>`RecommendedAction`</nobr> | <nobr>`recommended_action`</nobr> | [<nobr>`RecommendedAction`</nobr>](#recommendedaction) |  |
| <nobr>`Timeout`</nobr> | <nobr>`timeout`</nobr> | <nobr>`time.Duration`</nobr> |  |
| <nobr>`MaturityLevel`</nobr> | <nobr>`maturity_level`</nobr> | [<nobr>`MaturityLevel`</nobr>](#maturitylevel) |  |
| <nobr>`SchedulingCadence`</nobr> | <nobr>`scheduling_cadence`</nobr> | [<nobr>`SchedulingCadence`</nobr>](#schedulingcadence) |  |
| <nobr>`Category`</nobr> | <nobr>`category`</nobr> | [<nobr>`Category`</nobr>](#category) |  |
| <nobr>`ConditionScope`</nobr> | <nobr>`condition_scope`</nobr> | [<nobr>`ConditionScope`</nobr>](#conditionscope) |  |
| <nobr>`Provenance`</nobr> | <nobr>`provenance`</nobr> | [<nobr>`Provenance`</nobr>](#provenance) |  |
| <nobr>`ExecutionClass`</nobr> | <nobr>`execution_class`</nobr> | [<nobr>`ExecutionClass`</nobr>](#executionclass) |  |

### CheckVerdict

CheckVerdict is the outcome of evaluating a single check against signal values. It carries all context needed for downstream systems to make remediation decisions without referencing catalog source. Every Rule whose expression matched contributes one entry to Messages. Severity is the most severe across the matching rules; RecommendedAction comes from the highest-priority matching rule's override (or the check default when no override applies).

| Field | JSON name | Type | Description |
|---|---|---|---|
| <nobr>`Timestamp`</nobr> | <nobr>`timestamp`</nobr> | <nobr>`time.Time`</nobr> |  |
| <nobr>`ObservedValues`</nobr> | <nobr>`observed_values`</nobr> | <nobr>`map[string]any`</nobr> |  |
| <nobr>`Thresholds`</nobr> | <nobr>`thresholds`</nobr> | [<nobr>`map[string]ResolvedThreshold`</nobr>](#resolvedthreshold) |  |
| <nobr>`CheckID`</nobr> | <nobr>`check_id`</nobr> | <nobr>`string`</nobr> |  |
| <nobr>`SpanID`</nobr> | <nobr>`span_id`</nobr> | <nobr>`string`</nobr> | Unique per check invocation. |
| <nobr>`TraceID`</nobr> | <nobr>`trace_id`</nobr> | <nobr>`string`</nobr> | Shared by all checks in the same run. |
| <nobr>`SkipDetail`</nobr> | <nobr>`skip_detail`</nobr> | <nobr>`string`</nobr> |  |
| <nobr>`Messages`</nobr> | <nobr>`messages`</nobr> | <nobr>`[]string`</nobr> |  |
| <nobr>`AffectedEntities`</nobr> | <nobr>`affected_entities`</nobr> | <nobr>`[]string`</nobr> |  |
| <nobr>`RecommendedAction`</nobr> | <nobr>`recommended_action`</nobr> | [<nobr>`RecommendedAction`</nobr>](#recommendedaction) |  |
| <nobr>`Severity`</nobr> | <nobr>`severity`</nobr> | [<nobr>`Severity`</nobr>](#severity) |  |
| <nobr>`Category`</nobr> | <nobr>`category`</nobr> | [<nobr>`Category`</nobr>](#category) |  |
| <nobr>`ConditionScope`</nobr> | <nobr>`condition_scope`</nobr> | [<nobr>`ConditionScope`</nobr>](#conditionscope) | Blast radius; NODE when collection failed. |
| <nobr>`SkipReason`</nobr> | <nobr>`skip_reason`</nobr> | [<nobr>`SkipReason`</nobr>](#skipreason) |  |
| <nobr>`MaturityLevel`</nobr> | <nobr>`maturity_level`</nobr> | [<nobr>`MaturityLevel`</nobr>](#maturitylevel) |  |
| <nobr>`Skipped`</nobr> | <nobr>`skipped`</nobr> | <nobr>`bool`</nobr> |  |
| <nobr>`NVIDIAEndorsed`</nobr> | <nobr>`nvidia_endorsed`</nobr> | <nobr>`bool`</nobr> |  |

### ErroredMeasurement

ErroredMeasurement records one per-signal collection failure on a measurement. Sensors append entries via the typed measurement's AddError method (e.g. [GPUMeasurement.AddError]) as they encounter failures while measuring different fields, so a single measurement may carry several entries — one per failing call. The catalog fails a check Critical when any entry's FailedSignals overlaps with the check's RequiredSignals; the verdict's message joins the matching entries' Err.Error() strings. Checks whose required signals were all collected still run normally on the partial data. The zero value is not valid; construct entries with [NewErroredMeasurement] (or via the typed measurement's AddError), which guarantees Err is non-nil so consumers always have a surfaceable failure cause.

### FixedThresholdError

FixedThresholdError is returned when an operator attempts to override a threshold classified as Fixed.

| Field | JSON name | Type | Description |
|---|---|---|---|
| <nobr>`ThresholdName`</nobr> |  | <nobr>`string`</nobr> |  |
| <nobr>`CheckID`</nobr> |  | <nobr>`string`</nobr> |  |

### NodeVerdict

NodeVerdict aggregates per-check verdicts into a node-level health assessment.

| Field | JSON name | Type | Description |
|---|---|---|---|
| <nobr>`SchemaVersion`</nobr> | <nobr>`schema_version`</nobr> | <nobr>`string`</nobr> |  |
| <nobr>`CatalogVersion`</nobr> | <nobr>`catalog_version`</nobr> | <nobr>`string`</nobr> | Catalog module version compiled into the producer. |
| <nobr>`Timestamp`</nobr> | <nobr>`timestamp`</nobr> | <nobr>`time.Time`</nobr> |  |
| <nobr>`NodeID`</nobr> | <nobr>`node_id`</nobr> | <nobr>`string`</nobr> | Opaque identifier for the node under test. |
| <nobr>`TraceID`</nobr> | <nobr>`trace_id`</nobr> | <nobr>`string`</nobr> | Shared by all checks in this run; echoed on each CheckVerdict. |
| <nobr>`SeverityByDomain`</nobr> | <nobr>`severity_by_domain`</nobr> | [<nobr>`map[Category]Severity`</nobr>](#severity) |  |
| <nobr>`AffectedComponents`</nobr> | <nobr>`affected_components`</nobr> | [<nobr>`[]AffectedComponent`</nobr>](#affectedcomponent) |  |
| <nobr>`CheckResults`</nobr> | <nobr>`check_results`</nobr> | [<nobr>`[]CheckVerdict`</nobr>](#checkverdict) |  |
| <nobr>`SkippedChecks`</nobr> | <nobr>`skipped_checks`</nobr> | [<nobr>`[]CheckVerdict`</nobr>](#checkverdict) |  |
| <nobr>`OverallSeverity`</nobr> | <nobr>`overall_severity`</nobr> | [<nobr>`Severity`</nobr>](#severity) |  |

### Prerequisite

Prerequisite declares a minimum software requirement for a check.

| Field | JSON name | Type | Description |
|---|---|---|---|
| <nobr>`Name`</nobr> | <nobr>`name`</nobr> | <nobr>`string`</nobr> |  |
| <nobr>`MinVersion`</nobr> | <nobr>`min_version`</nobr> | <nobr>`string`</nobr> |  |

### RecommendedAction

RecommendedAction is the structured remediation a check carries. OperationalState is the high-level state change to apply; RemediationActions is the ordered sequence of remediation steps a cluster operator's remediation engine should work through, and is only meaningful (and only emitted in JSON) when OperationalState is [OperationalDrain]. Use [Drain] / [Monitor] / [NoAction] for readable call sites instead of constructing the struct directly.

| Field | JSON name | Type | Description |
|---|---|---|---|
| <nobr>`RemediationActions`</nobr> | <nobr>`remediation_actions`</nobr> | <nobr>`[]RemediationAction`</nobr> |  |
| <nobr>`OperationalState`</nobr> | <nobr>`operational_state`</nobr> | [<nobr>`OperationalState`</nobr>](#operationalstate) |  |

### ResolvedThreshold

ResolvedThreshold is a threshold value after operator overrides have been applied. It tracks provenance so downstream systems can audit whether NVIDIA defaults or operator-supplied values were used.

| Field | JSON name | Type | Description |
|---|---|---|---|
| <nobr>`Value`</nobr> | <nobr>`value`</nobr> | <nobr>`any`</nobr> |  |
| <nobr>`OriginalValue`</nobr> | <nobr>`original_value`</nobr> | <nobr>`any`</nobr> |  |
| <nobr>`Category`</nobr> | <nobr>`category`</nobr> | [<nobr>`ThresholdCategory`</nobr>](#thresholdcategory) |  |
| <nobr>`Overridden`</nobr> | <nobr>`overridden`</nobr> | <nobr>`bool`</nobr> |  |

### Rule

Rule defines a single evaluation condition within a check. Every rule is evaluated and the matches are aggregated: the verdict's severity is the worst across matching rules, Messages holds one entry per matching rule in declaration order, and RecommendedAction comes from the highest-severity matching rule (ties go to declaration order); its override applies when present, otherwise the check-level action is used.

| Field | JSON name | Type | Description |
|---|---|---|---|
| <nobr>`Expression`</nobr> | <nobr>`expression`</nobr> | <nobr>`string`</nobr> | Expression is a CEL expression that evaluates to a boolean. Variables available are the union of signal field names and threshold names from the parent CheckDefinition. |
| <nobr>`Message`</nobr> | <nobr>`message`</nobr> | <nobr>`string`</nobr> | Message describes the detected condition. May contain $\{variable\} placeholders interpolated from signal and threshold values. |
| <nobr>`RecommendedAction`</nobr> | <nobr>`recommended_action`</nobr> | [<nobr>`RecommendedAction`</nobr>](#recommendedaction) | RecommendedAction, when non-zero (see [RecommendedAction.IsZero]), overrides the parent [CheckDefinition.RecommendedAction] in the resulting [CheckVerdict]. Use it when a specific failure mode warrants a different remediation sequence than the check's default. A zero value leaves the check-level action in place. |
| <nobr>`Severity`</nobr> | <nobr>`severity`</nobr> | [<nobr>`Severity`</nobr>](#severity) | Severity produced when this rule matches. |

### ThresholdSpec

ThresholdSpec defines a threshold in a check definition. It carries the catalog-authored value and its governance classification.

| Field | JSON name | Type | Description |
|---|---|---|---|
| <nobr>`Value`</nobr> | <nobr>`value`</nobr> | <nobr>`any`</nobr> |  |
| <nobr>`PerArchitecture`</nobr> | <nobr>`per_architecture`</nobr> | <nobr>`map[string]any`</nobr> | PerArchitecture overrides Value for a specific detected architecture (keyed by the catalog architecture identifier, e.g. "H100"). It lets one check carry per-architecture defaults — e.g. NVLink speed differs by GPU generation. Architectures absent from the map fall back to Value. When the check declares Architectures, registration requires this map to include every listed architecture; Value may then be omitted. |
| <nobr>`Description`</nobr> | <nobr>`description`</nobr> | <nobr>`string`</nobr> |  |
| <nobr>`Unit`</nobr> | <nobr>`unit`</nobr> | <nobr>`string`</nobr> |  |
| <nobr>`Category`</nobr> | <nobr>`category`</nobr> | [<nobr>`ThresholdCategory`</nobr>](#thresholdcategory) |  |
| <nobr>`RequiredOverride`</nobr> | <nobr>`required_override`</nobr> | <nobr>`bool`</nobr> | RequiredOverride marks a threshold with no meaningful catalog value that the operator must supply per fleet. It is independent of Category, which governs whether an override is permitted at all; pairing it with [FixedThreshold] is rejected at registration. A check whose RequiredOverride threshold is unset is skipped with [ThresholdUnconfigured] rather than evaluated. |

## Enums

### Category

Category groups related checks by the hardware or interconnect domain they monitor. It determines how failure domains are reported in node-level verdicts.

| Name | JSON value | Description |
|---|---|---|
| <nobr>`GPU`</nobr> | <nobr>`gpu`</nobr> | GPU covers GPU device health: driver-reported events (XID), thermal state, driver status, power, and clock behavior. |
| <nobr>`NVLink`</nobr> | <nobr>`nvlink`</nobr> | NVLink covers NVLink interconnect health: replay counters, link errors, and fabric state. |
| <nobr>`PCIe`</nobr> | <nobr>`pcie`</nobr> | PCIe covers PCI Express bus health: link width, speed degradation, and error counters. |
| <nobr>`InfiniBand`</nobr> | <nobr>`infiniband`</nobr> | InfiniBand covers InfiniBand network health: port state, error rates, and link integrity. |
| <nobr>`Storage`</nobr> | <nobr>`storage`</nobr> | Storage covers storage health in NVIDIA-validated configurations: NVMe state, SMART counters. |
| <nobr>`Node`</nobr> | <nobr>`node`</nobr> | Node covers host-wide GPU-system signals that are not bound to any single device — GPU count, driver version, and similar inventory checks. |
| <nobr>`Xid`</nobr> | <nobr>`xid`</nobr> | Xid covers NVRM Xid fault events logged by the NVIDIA driver to the kernel ring buffer. Xid measurements are collected separately from GPU telemetry and route only to Xid checks. |
| <nobr>`CPU`</nobr> | <nobr>`cpu`</nobr> | CPU covers host processor inventory and availability signals. |

### ConditionScope

ConditionScope records how far the condition a check detects reaches: the smallest boundary that must be inspected to explain it. It is independent of [RecommendedAction], which stays node-local: a ClusterScope verdict reports what the fault implicates, not that the cluster should be acted on. NodeScope is the zero value, so a check that omits it is treated as node-local, which is how consumers already treat every check. The NODE value is distinct from the [Node] Category: one is a blast radius, the other a hardware domain. They serialize with different casing.

| Name | JSON value | Description |
|---|---|---|
| <nobr>`NodeScope`</nobr> | <nobr>`NODE`</nobr> | This node's own hardware explains the condition. |
| <nobr>`DomainScope`</nobr> | <nobr>`DOMAIN`</nobr> | Explaining it requires the NVLink domain shared with peer nodes. |
| <nobr>`ClusterScope`</nobr> | <nobr>`CLUSTER`</nobr> | Explaining it requires the cluster network fabric beyond the node. |

### ExecutionClass

ExecutionClass distinguishes passive observation from active probing.

| Name | JSON value | Description |
|---|---|---|
| <nobr>`Passive`</nobr> | <nobr>`PASSIVE`</nobr> | Reads existing state without perturbing the system. |
| <nobr>`Active`</nobr> | <nobr>`ACTIVE`</nobr> | May exercise hardware or run diagnostic commands. |

### ExecutionContext

ExecutionContext identifies where a health check can run within a GPU cluster.

| Name | JSON value | Description |
|---|---|---|
| <nobr>`OperatorInfra`</nobr> | <nobr>`OPERATOR_INFRA`</nobr> | Host OS or CSP privileged control-plane VM. |
| <nobr>`TenantGuest`</nobr> | <nobr>`TENANT_GUEST`</nobr> | Tenant VM, container, or K8s worker node. |
| <nobr>`OutOfBand`</nobr> | <nobr>`OUT_OF_BAND`</nobr> | BMC via Redfish API. |

### MaturityLevel

MaturityLevel describes how production-ready a check is.

| Name | JSON value | Description |
|---|---|---|
| <nobr>`Stable`</nobr> | <nobr>`stable`</nobr> | Vetted for production use. |
| <nobr>`Experimental`</nobr> | <nobr>`experimental`</nobr> | Under evaluation; may change or be withdrawn. |

### OperationalState

OperationalState names the node-level state change a verdict recommends. It is the high-level "what should happen to the node?" answer; the [RemediationAction] companion sequence narrows the why when the state is [OperationalDrain].

| Name | JSON value | Description |
|---|---|---|
| <nobr>`OperationalReady`</nobr> | <nobr>`ready`</nobr> | OperationalReady is the zero value: the node stays ready for work and no node-level action is recommended. |
| <nobr>`OperationalMonitor`</nobr> | <nobr>`monitor`</nobr> | OperationalMonitor keeps the node in service but flags the finding for trending; no action required right now. |
| <nobr>`OperationalDrain`</nobr> | <nobr>`drain`</nobr> | OperationalDrain removes the node from scheduling so the finding can be remediated. The accompanying [RemediationAction] sequence names the specific remediation steps. |

### Provenance

Provenance identifies who authored a check definition and determines the trust level of its verdicts.

| Name | JSON value | Description |
|---|---|---|
| <nobr>`NVIDIA`</nobr> | <nobr>`nvidia`</nobr> | Authored and maintained by NVIDIA. |
| <nobr>`Community`</nobr> | <nobr>`community`</nobr> | Community-contributed, NVIDIA-reviewed. |
| <nobr>`Private`</nobr> | <nobr>`private`</nobr> | Privately authored for a specific deployment. |

### SchedulingCadence

SchedulingCadence describes how often a check is meant to run in a node's operational lifecycle. The cadences nest by frequency — Continuous > Prolog > MaintenanceWindow — so a check declared at a more frequent cadence is also eligible to run in every less frequent window: a Continuous check runs at prolog and in maintenance windows, a Prolog check runs in maintenance windows. See [SchedulingCadence.Covers]. Continuous is the zero value: a check that omits SchedulingCadence defaults to the most frequent cadence, so it runs in every window rather than being silently excluded from more frequent ones.

| Name | JSON value | Description |
|---|---|---|
| <nobr>`Continuous`</nobr> | <nobr>`CONTINUOUS`</nobr> | During normal operation (most frequent); the zero-value default. |
| <nobr>`Prolog`</nobr> | <nobr>`PROLOG`</nobr> | Before job dispatch. |
| <nobr>`MaintenanceWindow`</nobr> | <nobr>`MAINTENANCE`</nobr> | During scheduled maintenance (least frequent). |

### Severity

Severity represents the graduated health severity of a check result. The levels form a total order: Pass &lt; Info &lt; Warning &lt; Critical. Unknown is a special case indicating the check could not complete.

| Name | JSON value | Description |
|---|---|---|
| <nobr>`Pass`</nobr> | <nobr>`PASS`</nobr> | Pass indicates no condition detected. The monitored state is within normal operating bounds. |
| <nobr>`Info`</nobr> | <nobr>`INFO`</nobr> | Info indicates an anomaly detected within safe operating bounds. The node may remain in service; monitor for trend. |
| <nobr>`Warning`</nobr> | <nobr>`WARNING`</nobr> | Warning indicates a condition that degrades performance or increases failure risk. The node may continue in service for a bounded window pending operator action. |
| <nobr>`Critical`</nobr> | <nobr>`CRITICAL`</nobr> | Critical indicates imminent risk of failure, data corruption, or unrecoverable state. The node should be removed from service without delay. |
| <nobr>`Unknown`</nobr> | <nobr>`UNKNOWN`</nobr> | Unknown indicates the check could not complete. Service eligibility for the affected component cannot be assessed. This typically results from tool failures or insufficient data. |

### SkipReason

SkipReason provides a machine-readable code for why a check did not run.

| Name | JSON value | Description |
|---|---|---|
| <nobr>`NotSkipped`</nobr> | <nobr>`NOT_SKIPPED`</nobr> | Check ran normally. |
| <nobr>`ArchitectureUnsupported`</nobr> | <nobr>`SIGNAL_UNAVAILABLE_ARCHITECTURE`</nobr> | Wrong GPU architecture. |
| <nobr>`DeploymentUnsupported`</nobr> | <nobr>`SIGNAL_UNAVAILABLE_DEPLOYMENT_MODEL`</nobr> | Requires different execution context. |
| <nobr>`CheckDisabled`</nobr> | <nobr>`CHECK_DISABLED`</nobr> | Operator disabled this check. |
| <nobr>`InsufficientHistory`</nobr> | <nobr>`INSUFFICIENT_HISTORY`</nobr> | Time-window data not yet available. |
| <nobr>`ThresholdUnconfigured`</nobr> | <nobr>`THRESHOLD_UNCONFIGURED`</nobr> | Required threshold not supplied for this fleet. |
| <nobr>`NoApplicableMeasurement`</nobr> | <nobr>`NO_APPLICABLE_MEASUREMENT`</nobr> | No supplied measurement carries the check's required signals. |
| <nobr>`SensorMissing`</nobr> | <nobr>`SENSOR_MISSING`</nobr> | SensorMissing marks a check whose whole category was expected but never arrived: the sensor is absent, unconfigured, or its backend was never constructed. It is distinct from NoApplicableMeasurement, which means the category was collected but no measurement carried this check's required signals, and from a Critical errored verdict, which means the sensor ran and failed. |
| <nobr>`CadenceMismatch`</nobr> | <nobr>`CADENCE_MISMATCH`</nobr> | Check is not scheduled for the requested cadence. |

### ThresholdCategory

ThresholdCategory classifies how a threshold value may be modified by operators. The catalog enforces governance rules: Fixed thresholds reject override attempts with an error; Default and Adjustable thresholds accept operator-supplied values.

| Name | JSON value | Description |
|---|---|---|
| <nobr>`DefaultThreshold`</nobr> | <nobr>`DEFAULT`</nobr> | DefaultThreshold is NVIDIA's recommended starting value. Operators may override it via a parameter file. |
| <nobr>`FixedThreshold`</nobr> | <nobr>`FIXED`</nobr> | FixedThreshold is a hard boundary that cannot be overridden. Attempts to override produce an error and the check will not run with an invalid override applied. |
| <nobr>`AdjustableThreshold`</nobr> | <nobr>`ADJUSTABLE`</nobr> | AdjustableThreshold may be tuned by operators within documented bounds. |