Description
The GPU fault workflow starts from an Xid burst and pivots from the DCGM Xid counter to the driver’s kernel log lines for the same GPU and time window. The host construct already emits journald streams (signals/host.md) but no NVIDIA driver content, and NVSwitch-bearing systems also log through the fabric manager service (SXid). Without these lines the GPU fault, failed job and support-evidence journeys stop at a metric.
Acceptance Criteria
- #1 GPU nodes emit kernel-transport NVRM Xid lines in the real driver format (PCI bus ID, Xid code, process name where the driver prints it) using codes from NVIDIA’s Xid catalogue, and NVSwitch-bearing nodes emit fabric manager logs
- #2 An Xid failure mode produces the log lines and the matching DCGM Xid series at the same time and on the same GPU identity
- #3 Stream labels follow signals/host.md; PCI bus ID and PID ride in structured metadata or the body
- #4 Steady-state Xid volume is near zero at rest
- #5 Every metric, label, attribute and log field is sourced from vendor documentation or a capture at a pinned version and recorded with provenance in the named signals/ area file; anything unconfirmed is a PENDING in cantfind.md, never an invented name
Definition of Done
- #1 just check (fmt-check, lint, gen-check, env-check, docs-check, test, race, hygiene, ui-check, compose-check, helm-test, lab-check, signal-fidelity)
- #2 just gen (only if a blueprint field, construct/workload config struct, or a skill under plugins/synthkit/skills/ changed)
- #3 just dump — inventory diffed against signals/
Implementation Notes
loop47: admitted R05 pinned NVIDIA driver-log contract research; implementation waits for fixture/DCGM landing
loop47 dependency park, implementation0: DCGM consumer SKT-0087.04 (GPU exporter profiles) source-blocked before code. Resume after its source-correct green landing; I05 dual host/k8s log adapters serialize before I06 lifecycle/KSM/capacity/operator adapters. Generic fixture Done does not release these consumer joins or authorize invented vendor events.
loop48 in-loop dependency park, no admitted implementation/attempt consumed: narrowed DCGM prerequisite is Parked after admitted attempt and independent owner/seam diagnosis. Resume only after DCGM lands with sourced physical constraint/clock semantics and applicable proof; then retain host/node-log ownership and public Xid/SXid/NVRM projection checks. No driver-log source support inferred from the HGX fixture alone.