forensic-vfs-resolver 0.1.2

The generic layer resolver over the forensic-vfs contracts: sniff a byte source, match a registered prober, and descend container/volume/filesystem layers until a filesystem mounts — the evolving detection behavior, firewalled from the frozen forensic-vfs contract leaf
Documentation

forensic-vfs-resolver

The generic layer resolver: sniff a byte source, match a registered prober, and descend container/volume/filesystem layers until a filesystem mounts.

This is the reader-independent core of detection — it touches only the [forensic_vfs::Openers] prober traits and the layered [PathSpec]/[Layer] model, never a concrete reader. It is deliberately split out of the forensic-vfs contract leaf so the evolving detection behavior (this crate) is firewalled from the frozen contract the fleet's reader crates pin.

The orchestration layer (forensic-vfs-engine) wires concrete probers into a [Openers], resolves a base [DynSource] from a path (EWF-by-path vs a raw file), and offers the by-path open/snapshot API; everything below that — the recursion, the sniff windows, [walk], and the snapshot view — lives here so any tool or test can drive it openers-first.

Because open cannot be an inherent method on the leaf's [Openers] from another crate (the orphan rule), it is exposed as the [SourceOpen] extension trait; bring it into scope and call openers.open(source, spec, 0).