Skip to main content

Crate plugmem_core

Crate plugmem_core 

Source
Expand description

plugmem engine core.

The no_std + alloc, single-threaded memory engine on top of plugmem_arena: the data model (facts, entities, edges, bitemporality), the indexes (BM25, temporal, graph, vectors), hybrid recall, and the snapshot/journal machinery. The core owns no I/O, no clock and no threads — timestamps arrive as parameters, bytes leave through the Storage trait.

Design: ..05. Implementation lands in stages 2-4; modules appear here in dependency order as those stages complete.

Re-exports§

pub use config::Config;
pub use error::Error;
pub use id::EntityId;
pub use id::FactId;
pub use id::NONE_U32;
pub use memory::FactFault;
pub use memory::FactView;
pub use memory::LinkInput;
pub use memory::MaintainReport;
pub use memory::Memory;
pub use memory::OpenReport;
pub use memory::RecallQuery;
pub use memory::RecallResult;
pub use memory::RecallScratch;
pub use memory::RecalledEdge;
pub use memory::RecalledFact;
pub use memory::RememberInput;
pub use memory::RememberOutcome;
pub use memory::Similar;
pub use memory::SimilarReason;
pub use memory::Stats;
pub use model::EdgeSlot;
pub use model::EntityByName;
pub use model::EntityRecord;
pub use model::FactAux;
pub use model::FactRecord;
pub use model::TemporalSlot;
pub use model::VALID_TO_OPEN;
pub use model::fact_flags;
pub use storage::MemScratch;
pub use storage::MemStorage;
pub use storage::Scratch;
pub use storage::Storage;

Modules§

config
Engine configuration.
error
Engine error type.
id
Typed identifiers.
index
The recall indexes: shared posting storage, the BM25 lexical index, and plain id-list indexes (tag → facts, entity → facts) with sorted-list intersection.
journal
Journal record framing.
memory
The engine: data model state, verbs, journaling and replay (/03, /05).
model
Record layouts of the data model.
snapshot
Snapshot container: the file format’s header, section table and checksums.
storage
The Storage trait and the in-memory reference implementation
tokenizer
The core tokenizer, v2.

Structs§

BlobId
Handle to one blob in a BlobHeap: a dense index assigned in push order, starting at 0.
TermId
Handle to one interned string: dense, assigned in first-seen order, starting at 0. Numerically equal to the underlying heap’s BlobId.