knowledge-base-crud
Typed filesystem access for a file-based knowledge base. Operations are grouped by resource while KnowledgeBase remains the entry point:
use ;
use ;
let knowledge_base = new;
let entity_id = "Q1".?;
let source = knowledge_base.entities.read?;
let filters = ;
let matches = knowledge_base.entities.query?;
let batch = read?;
let outcome = knowledge_base
.entities
.apply_statements?;
# Ok::
Equivalent read services are available through entity_types(), properties(), references(), and entity_contexts(). Reads return files exactly as stored.
entities().query() requires at least one typed property/value filter and applies AND semantics to top-level statements. It scans the entity directory, sorts matches by numeric ID, and returns complete parsed entities with offset pagination metadata.
Mutations use a shared .knowledge-base.lock, validate a staged repository, detect changes made after planning, and attempt rollback if a later replacement fails. Multi-file mutations are not crash-atomic.