pub fn run(paths: &Paths, probes: &[&dyn PlatformProbe]) -> Result<ScanOutcome>Expand description
Run a full scan: enumerate inventory, persist a snapshot, and (if a previous snapshot exists) compute a diff against it.
paths.user_home drives inventory target roots; paths.home drives
snapshot persistence. probes enumerates the per-platform target
roots (e.g. &[&ClaudeCodePlatform::new()] for Claude Code only).
§Errors
Returns crate::Error::Io if the snapshot directory cannot be
created, crate::Error::Json on snapshot serialization failure, or
crate::Error::Scan on snapshot parse failure when loading the
previous snapshot.