SIGN IN SIGN UP

fix(tests): a capability asserts the domain is not silent, not that it has values

Third attempt at the same assertion, and the previous two were wrong in the
same way: they encoded what the machine in front of me happened to have.

It first required an observation per usable domain, and failed on CI runners
with no GPU. It then accepted an observation or a `<domain>.<none>`
diagnostic, and failed on runners with no battery — where
`power.battery.percentage` resolves as unavailable carrying "no battery
present (desktop or always-AC machine)". That is a correct and complete
answer, and it is neither of the two things the test accepted.

A capability describes what this build can read, not what this machine has.
Whether rows carry values depends on the hardware present, which a capability
does not claim. What it does claim is that the domain answers, so the
assertion is that the snapshot contains rows for it. That every absent row
carries a reason is already guaranteed by
`every_absence_carries_a_usable_reason` in the ontology suite, so the pair is
complete without either one overreaching.

Verified it still catches what it is for: a declared `reading.nonexistent`
that nothing resolves fails with "no nonexistent rows at all — not a reading,
not an absence, not a diagnostic".

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
A
Adam Erickson committed
1a097aa8b008b854782884a0a481623750f90143
Parent: dff3489