limnifs-core 0.3.0

LimniFS core reader — manifest parse, drop store, overlay resolution
Documentation

LimniFS core reader: manifest header + section parsers, plus the drop-store primitives (slab header, drop record, slab index).

Source of truth: limnifs/spec §3 (drop store), §5 (manifest sections), and the bit-level files under bit-level/.

Architecture: every parser takes a [cursor::ManifestCursor] and returns the parsed value plus the cursor advanced past the section. Bounds checks live in one place (the cursor); each parser focuses on the structural invariants of its own section. Adding a new section is a new module + a new parser function — no edits to existing parsers (OCP).

Module map

Module Owns
[cursor] [ManifestCursor] — bounded reader over &[u8]
[error] [CoreError]
[header] [ManifestHeader] + [parse_manifest_header]
[feature_flags] [FeatureFlag], [FeatureFlags] + [parse_feature_flags_section]
[metadata_reference] [MetadataReference] + [parse_metadata_reference]
[metadata] [MetadataBlob] + [parse_metadata_blob]
[inode] [Inode], [ContentHandle] + [parse_inode]
[directory_node] [DirectoryNode], [DirEntry] + [parse_directory_node]
[slab_index] [SlabIndex], [SlabIndexEntry] + [parse_slab_index]
[history] [HistoryEntry], [History] + [parse_history]
[merkle] [SectionHashes], [compute_merkle_root]
[slab] [SlabHeader] + [parse_slab_header]
[slab_reader] [SlabView] + [parse_slab] — locate and read drop plaintexts
[drop_record] [DropRecord] + [parse_drop_record]
[locator] [LocatorEntry] + [parse_locator_entry]