Skip to main content

apm_partition_forensic/
lib.rs

1//! Forensic anomaly auditor for Apple Partition Maps.
2//!
3//! Reads partition-map geometry via the [`apm`] parser crate and grades it into
4//! severity-ranked findings on the shared [`forensicnomicon::report`] model.
5//! Each finding is an *observation* ("consistent with …"); the examiner draws
6//! the conclusions.
7//!
8//! The forensic checks (overlaps, out-of-bounds, map-count inconsistency,
9//! residual/hidden entries, unmapped regions) live in [`analyse`]; the finding
10//! types live in [`findings`].
11
12// Production code is panic-free (enforced by the workspace lints); tests opt out.
13#![cfg_attr(test, allow(clippy::unwrap_used, clippy::expect_used))]
14
15pub mod findings;
16
17mod analyse;
18pub use analyse::{analyse, analyse_reader};
19pub use findings::{Anomaly, AnomalyKind, ApmAnalysis, Severity};
20
21// Re-export the parser surface so `apm-forensic`'s public API is unchanged:
22// callers keep using `apm_forensic::{Error, ApmPartition, ApplePartitionMap, parse}`.
23pub use apm::{parse, ApmPartition, ApplePartitionMap, Error};