Skip to main content

Crate ijima_core

Crate ijima_core 

Source
Expand description

§ijima-core

Core schema, stores, error types, and API contract for the Ijima centralized agentic memory backend.

Ijima is the single source of truth for agentic memory across the IA ecosystem. This crate holds the type-level contract every other Ijima crate and every harness adapter speaks: the memory palace model, the knowledge graph, the session context repository, and the unified error type.

The store implementations (SQLite + vector index), the HTTP server, the mining engine, and the harness client live in their own crates (ijima-server, ijima-miner, ijima-client). This crate deliberately stays transport- and backend-free so the contract can be shared without pulling in heavy I/O dependencies.

§Features

  • std (default): Standard library support. Without it, only the pure type definitions compile.

  • embeddings: pure Embedder trait + Embedding vector type. The default dimension is 384 to match pi-mempalace’s all-MiniLM-L6-v2 for migration parity.

  • serde: Serialize/Deserialize impls for all domain types. Required by the store backends and the HTTP API.

  • store: the pure async Store trait every backend implements.

§Status

Scaffolded — the API surface is being filled in test-first. See docs/HANDOFF.md and docs/DESIGN.md at the repository root.

Re-exports§

pub use capabilities::intersection_number;
pub use diary::DiaryEntry;
pub use embeddings::DEFAULT_EMBEDDING_DIM;
pub use embeddings::Embedder;
pub use embeddings::Embedding;
pub use error::IjimaError;
pub use knowledge::Entity;
pub use knowledge::EntityId;
pub use knowledge::EntityRecord;
pub use knowledge::ImportTriple;
pub use knowledge::KgImportCounts;
pub use knowledge::KgStats;
pub use knowledge::KnowledgeGraph;
pub use knowledge::Triple;
pub use memory::Memory;
pub use memory::MemoryId;
pub use memory::MemorySource;
pub use mining::AcceptedExtraction;
pub use mining::QueuedExtraction;
pub use namespace::Namespace;
pub use namespace::NamespaceId;
pub use namespace::NamespaceKind;
pub use namespace::NamespaceMembership;
pub use palace::PalaceGraph;
pub use palace::ProjectTaxon;
pub use palace::Room;
pub use palace::Tunnel;
pub use palace::TunnelTraversal;
pub use provenance::AuthorityScope;
pub use provenance::InstanceId;
pub use repo::RepoDirectory;
pub use revocation::TokenRevocation;
pub use session::Session;
pub use session::SessionId;
pub use session::SessionTurn;
pub use session::TurnRole;
pub use store::NamespaceCount;
pub use store::SearchHit;
pub use store::Store;
pub use store::StoreStats;

Modules§

capabilities
Ijima’s capability vocabulary.
diary
Per-agent diary journals (Phase 3.3).
embeddings
Embedding contract — pure trait, no backend.
error
Centralized error type for the Ijima memory backend.
harness
Typed identifiers for the agentic harnesses that connect to Ijima.
knowledge
Knowledge graph domain types — entities (nodes) + temporal triples (edges). The structured-facts layer: “Who depends on Y?” “What did we decide about X?”
memory
Memory palace domain types — the curated long-term memory surface.
mining
The mining review queue (ADR M2, M3).
namespace
Memory namespaces — the isolation boundary for multi-user access (D2).
palace
Palace organization types — the navigational views over a namespace’s memory palace (Phase 3.1 + 3.2).
provenance
Provenance newtypes — the identity/authority stamp every [Memory] carries.
repo
The Context Mapper — a global registry mapping repo names to filesystem paths, remote URLs, and roles (the “canonical Anima ecosystem member list”).
revocation
Token revocation — the kill-switch for issued grant tokens.
session
Session-context repository domain types — the raw session transcript store (HANDOFF §4). Append-only, high-fidelity; mined into the memory palace by ijima-miner.
store
The storage contract — the abstraction boundary between Ijima’s domain logic and the SurrealDB / SQLite / mock backends.

Type Aliases§

Result
Convenience Result alias used throughout the Ijima crates.