# ADR-0006: Stable hardware identity and typed observations **Status:** Accepted ## Context Hostnames, GPU indexes and current telemetry are not stable identities. Containers can also expose an image-local machine ID that is identical on different hosts. Missing metrics cannot safely be stored as zero or ambiguous nulls. ## Decision Direct nodes derive a privacy-preserving UUIDv5 from the OS machine ID; container deployments use a persisted UUID volume or explicit configured identity. GPU UUID is the accelerator identity within a node. Optional observations pair nullable values with `known`, `unknown`, `unsupported`, `unavailable` or `temporarily_failed`. Inventory and latest telemetry persist separately. Reconciliation preserves temporarily absent hardware. ## Consequences Repeated scans are idempotent, container restarts preserve node identity, and absence is not confused with a measured zero. Moving the same GPU between nodes is represented honestly as a different node- accelerator relation. M1 stores only latest telemetry; history/export belongs to observability work.