fix(ontology): only observations can contradict a <none> diagnostic
The named rows turned out to be gpu.setting.gt_max_freq_mhz, gpu.setting.perf_level and gpu.setting.persistence_mode — the three writable GPU settings, declared from their registered apply handlers, all Linux-only, and read by no resolver. The generic pass reports them as unavailable, "no resolver bound on this build". That is not a contradiction. `gpu.<none>` says no GPU was enumerated; an unavailable setting row says this build does not read that setting. Neither claims a GPU exists, and they are both true at once on a headless Linux runner. The test's own doc always described the fault as `disk.<none>` beside "eight disk readings" — readings, values. The predicate counted every row in the domain instead, including ones asserting nothing. Verified it still catches the real thing rather than being quietly defanged: injecting a spurious `gpu.<none>` on this machine fails the test and names all 29 genuine readings across three adapters. The control was reverted and the clean run re-confirmed. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
A
Adam Erickson committed
4989046c5033c42447c8be2cfda4abf5588ab4fe
Parent: c06d52f