inillucent-base 2.0.1

Checked binary primitives, identifiers, buffers, limits, and the stable error model.
Documentation

Checked binary primitives, identifiers, buffers, limits, and the stable error model shared by every inillucent layer.

Invariant: nothing in this crate can panic, wrap, or allocate without being asked to. Every function that reads attacker-controlled bytes - a database page, a journal frame, a varint from a record - returns a DbError instead of indexing out of bounds or overflowing, and every allocation is fallible.

This is the bottom of the crate dependency graph the SQLite feature-parity design lays out. It has no internal dependencies and no third-party dependencies at all, so a bug in the layers above can never be blamed on something underneath them.

That design's crate table names inillucent-value and inillucent-vfs as the two leaves. Phase 1 needs checked integers, varints, checksums, page arithmetic and the error table before values exist, and inillucent-vfs needs the same error table, so those primitives live here in a leaf below both rather than being duplicated or forced into a crate whose own contents land in phase 2. docs/invariants/layering.toml records the refinement and enforces it.