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.
Structs
AffectedComponent
AffectedComponent summarizes a category with non-Pass results.
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].
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).
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.
NodeVerdict
NodeVerdict aggregates per-check verdicts into a node-level health assessment.
Prerequisite
Prerequisite declares a minimum software requirement for a check.
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.
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.
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.
ThresholdSpec
ThresholdSpec defines a threshold in a check definition. It carries the catalog-authored value and its governance classification.
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.
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.
ExecutionClass
ExecutionClass distinguishes passive observation from active probing.
ExecutionContext
ExecutionContext identifies where a health check can run within a GPU cluster.
MaturityLevel
MaturityLevel describes how production-ready a check is.
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].
Provenance
Provenance identifies who authored a check definition and determines the trust level of its verdicts.
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.
Severity
Severity represents the graduated health severity of a check result. The levels form a total order: Pass < Info < Warning < Critical. Unknown is a special case indicating the check could not complete.
SkipReason
SkipReason provides a machine-readable code for why a check did not run.
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.