| Crates.io | exo-manifold |
| lib.rs | exo-manifold |
| version | 0.1.0 |
| created_at | 2025-12-02 04:06:17.031555+00 |
| updated_at | 2025-12-02 04:06:17.031555+00 |
| description | Continuous embedding space with SIREN networks for smooth manifold deformation in cognitive AI |
| homepage | https://ruv.io |
| repository | https://github.com/ruvnet/ruvector |
| max_upload_size | |
| id | 1961118 |
| size | 81,946 |
Continuous manifold storage using implicit neural representations (SIREN networks) for the EXO-AI cognitive substrate.
Instead of discrete vector storage, memories are encoded as continuous functions on a learned manifold using SIREN (Sinusoidal Representation Networks).
src/retrieval.rs)src/deformation.rs)src/forgetting.rs)src/network.rs)Query → Gradient Descent → Converged Position → Extract Patterns
↓
SIREN Network
(Learned Manifold)
↓
Relevance Field
✅ Complete Implementation:
⚠️ Known Issue:
The burn crate v0.14 has a compatibility issue with bincode v2.x.
Workaround:
Add to workspace Cargo.toml:
[patch.crates-io]
bincode = { version = "1.3" }
Or wait for burn v0.15 which resolves this issue.
use exo_manifold::ManifoldEngine;
use exo_core::{ManifoldConfig, Pattern};
use burn::backend::NdArray;
// Create engine
let config = ManifoldConfig::default();
let device = Default::default();
let mut engine = ManifoldEngine::<NdArray>::new(config, device);
// Deform manifold with pattern
let pattern = Pattern { /* ... */ };
engine.deform(pattern, 0.9)?;
// Retrieve similar patterns
let query = vec![/* embedding */];
let results = engine.retrieve(&query, 10)?;
// Strategic forgetting
engine.forget(0.5, 0.1)?;
position = query_vector
FOR step IN 1..MAX_DESCENT_STEPS:
relevance_field = manifold_network.forward(position)
gradient = manifold_network.backward(relevance_field)
position = position - LEARNING_RATE * gradient
IF norm(gradient) < CONVERGENCE_THRESHOLD:
BREAK
results = ExtractPatternsNear(position, k)
embedding = Tensor(pattern.embedding)
current_relevance = manifold_network.forward(embedding)
target_relevance = salience
deformation_loss = (current_relevance - target_relevance)^2
smoothness_loss = ManifoldCurvatureRegularizer(manifold_network)
total_loss = deformation_loss + LAMBDA * smoothness_loss
gradients = total_loss.backward()
optimizer.step(gradients)
FOR region IN manifold_network.sample_regions():
avg_salience = ComputeAverageSalience(region)
IF avg_salience < salience_threshold:
ForgetKernel = GaussianKernel(sigma=decay_rate)
manifold_network.apply_kernel(region, ForgetKernel)
manifold_network.prune_weights(threshold=1e-6)
exo-core: Core types and traitsburn: Deep learning frameworkburn-ndarray: NdArray backendndarray: N-dimensional arraysparking_lot: Lock-free data structurescargo test -p exo-manifold
../../architecture/ARCHITECTURE.md../../architecture/PSEUDOCODE.mdMIT OR Apache-2.0