Skip to main content

Crate plasmite

Crate plasmite 

Source
Expand description

Purpose: Shared library crate used by the plasmite CLI and bindings. Exports: api (stable public surface), notice (structured stderr notices). Role: Public API boundary with private internal storage modules. Invariants: Additive-only changes to api; internal modules remain private. Invariants: Core modules prefer explicit inputs/outputs over hidden state.

Modulesยง

api
Purpose: Define the stable public Rust API boundary for Plasmite. Exports: Core types and operations needed by bindings and CLI. Role: Public, additive-only surface; hides internal storage modules. Invariants: This module is the only public path to storage primitives. Invariants: Internal modules remain private and are not directly exposed.
notice
Purpose: Define a stable, structured schema for non-fatal stderr notices. Exports: Notice, notice_json. Role: Shared contract helper for CLI diagnostics (non-error events). Invariants: Notices are non-fatal and never alter stdout payloads. Invariants: JSON schema is stable once published; fields are additive-only.