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