Expand description
Core Rust library for working with STTP nodes, AVEC calibration, and context retrieval.
This crate provides:
- domain models and contracts,
- parsers and validators for STTP node payloads,
- application services for calibration, storage, retrieval, mood presets, rollups, and rekey,
- storage implementations (in-memory and SurrealDB-backed).
§Quick Start
use std::sync::Arc;
use locus_core_rs::{
CalibrationService, ContextQueryService, InMemoryNodeStore, NodeStoreInitializer,
StoreContextService, TreeSitterValidator,SttpNodeParser
};
let runtime = tokio::runtime::Builder::new_current_thread()
.enable_all()
.build()?;
runtime.block_on(async {
let store = Arc::new(InMemoryNodeStore::new());
let initializer: Arc<dyn NodeStoreInitializer> = store.clone();
initializer.initialize_async().await?;
let validator = Arc::new(TreeSitterValidator::new());
let store_context = StoreContextService::new(store.clone(), validator, SttpNodeParser::new());
let calibration = CalibrationService::new(store.clone());
let context_query = ContextQueryService::new(store);
let raw_node = r#"
⊕⟨ { trigger: manual, response_format: temporal_node, origin_session: "demo", compression_depth: 1, parent_node: null, prime: { attractor_config: { stability: 0.85, friction: 0.25, logic: 0.80, autonomy: 0.70 }, context_summary: "demo", relevant_tier: raw, retrieval_budget: 3 } } ⟩
⦿⟨ { timestamp: "2026-03-05T06:30:00Z", tier: raw, session_id: "demo", user_avec: { stability: 0.85, friction: 0.25, logic: 0.80, autonomy: 0.70, psi: 2.60 }, model_avec: { stability: 0.85, friction: 0.25, logic: 0.80, autonomy: 0.70, psi: 2.60 } } ⟩
◈⟨ { note(.99): "example" } ⟩
⍉⟨ { rho: 0.96, kappa: 0.94, psi: 2.60, compression_avec: { stability: 0.85, friction: 0.25, logic: 0.80, autonomy: 0.70, psi: 2.60 } } ⟩
"#;
let store_result = store_context.store_async(raw_node, "demo-session").await;
if store_result.valid {
let _ = calibration
.calibrate_async("demo-session", 0.9, 0.2, 0.9, 0.85, "manual")
.await?;
let _ = context_query.get_context_async("demo-session", 0.9, 0.2, 0.9, 0.85, 5).await;
}
Ok::<(), anyhow::Error>(())
})?;Re-exports§
pub use application::services::CalibrationService;pub use application::services::ContextQueryService;pub use application::services::EmbeddingMigrationFilter;pub use application::services::EmbeddingMigrationMode;pub use application::services::EmbeddingMigrationPreviewRequest;pub use application::services::EmbeddingMigrationPreviewResult;pub use application::services::EmbeddingMigrationRunRequest;pub use application::services::EmbeddingMigrationRunResult;pub use application::services::EmbeddingMigrationSample;pub use application::services::EmbeddingMigrationService;pub use application::services::MonthlyRollupService;pub use application::services::MoodCatalogService;pub use application::services::RekeyScopeService;pub use application::services::StoreContextService;pub use application::services::StoreRetryPolicy;pub use application::services::SyncCoordinatorService;pub use application::validation::TreeSitterValidator;pub use domain::contracts::NodeStore;pub use domain::contracts::NodeStoreInitializer;pub use domain::contracts::NodeValidator;pub use domain::contracts::SyncChangeSource;pub use domain::contracts::SyncCoordinatorPolicy;pub use parsing::SttpNodeParser;pub use storage::InMemoryNodeStore;pub use storage::QueryParams;pub use storage::SurrealDbClient;pub use storage::SurrealDbEndpointsSettings;pub use storage::SurrealDbNodeStore;pub use storage::SurrealDbRuntimeOptions;pub use storage::SurrealDbSettings;pub use domain::models::*;
Modules§
- application
- Core application services and validation pipelines.
- domain
- Core domain contracts and canonical models for STTP nodes.
- parsing
- Parsing stack for STTP lexical analysis and node parsing.
- storage
- Storage backends for STTP nodes.