24 lines
1.1 KiB
Markdown
24 lines
1.1 KiB
Markdown
# 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.
|