fix(profile): a DIMM at zero volts, and three absence words as values
Reading `simon profile show` for each subsystem, which nothing had done.
**`Voltage = 0 V [dangerous]`** on every DIMM. SMBIOS Type 17 defines zero
in the voltage fields as "unknown" and this firmware leaves them there, so
the row asserted a voltage no DDR5 module can run at — and marked it
dangerous, which reads as significant rather than as missing. The row is
dropped when the field is zero.
**`Connection = Unknown`** on two of three displays. The ontology has turned
that into an absence with a reason since `push_str_as` began refusing the
word; this surface published it as though "Unknown" were a kind of
connector. The HDMI display keeps its real value, which is how the change is
known to be narrow.
**`Aspect Ratio = unknown`**, from `DisplayInfo::aspect_ratio` returning
`String` with no way to say nothing. Same word, arriving by a different
road: a return type that cannot express absence. It is now `Option<String>`,
which also removes the last absence word from the agent tool surface at its
source rather than at the boundary where `call_tool` nulls it out.
**`Performance State = Eight`**, printed directly above its own description
reading "P0 = highest performance, P15 = lowest". `nvml_wrapper` names the
variants `Zero`..`Fifteen`, so `{:?}` rendered a notation neither the
driver, the vendor tooling, nor the description beside it uses. It reads
`P8` now. `PerformanceState::Unknown` returns `None` and the row is dropped,
rather than publishing the string "unknown" — which would have been the
absence-word defect reintroduced by the fix for a different one.
After: zero absence words across gpu, cpu, nvme, display and memory, where
there were four.
Verified: fmt, clippy, both cross-target checks, display unit tests,
ontology_conformance (22) and ai_tool_surface (3).
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> A
Adam Erickson committed
7c79f8b9e0412aeb0aaaa09f7b477a7f6cc5b499
Parent: 4af44bc