SIGN IN SIGN UP

fix: a Linux swap parse that could not report "unknown", and a clippy --fix regression

`parse_swap_info` started at zero and filled in whatever `/proc/meminfo`
happened to contain, so a container with no swap accounting — no `SwapTotal:`
line at all — produced a confident "this machine has no swap". A missing
field is now an error. Zero means the kernel said zero.

The type-level fix is `Option` fields on `SwapInfo`, which would make the
whole class impossible rather than closing one instance. It is 62 read sites
away and stays in HANDOFF.md rather than being half-done here; every current
reader now either produces a real number or errors, so the ambiguity is not
reachable through any of them.

Also repairs a regression I introduced with `cargo clippy --fix`: it removed
`use crate::error::Result` from four core modules because the import is
unused on Windows, and Linux-gated code in `core::process` needs it. Invisible
on the machine that ran the fix, caught by the Linux cross-check.

And `health`, `prometheus` and `SiliconMonitor::snapshot_cpu` now reach the
platform readers through one `stats::platform_cpu_stats` wrapper. The macOS
implementations are `pub(super)` in a nested module and cannot be
re-exported, so without a wrapper macOS would have been the one platform
where those three kept returning zeros.

All three targets compile; 802 lib tests green.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
A
Adam Erickson committed
7c2ba7f13a8208ec4abdb402ce2239f82361d39a
Parent: 445923d