Expand description
§ARMS - Attention Reasoning Memory Store
“The hippocampus of artificial minds”
ARMS is a spatial memory fabric for AI models. It stores computed attention states at their native dimensional coordinates, enabling instant retrieval by proximity rather than traditional indexing.
§Philosophy
- Position IS relationship - No foreign keys, proximity defines connection
- Configurable, not hardcoded - Dimensionality, proximity functions, all flexible
- Generators over assets - Algorithms, not rigid structures
- Pure core, swappable adapters - Hexagonal architecture
§Architecture
┌─────────────────────────────────────────────────────────────┐
│ ARMS │
├─────────────────────────────────────────────────────────────┤
│ │
│ CORE (pure math, no I/O) │
│ Point, Id, Blob, Proximity, Merge │
│ │
│ PORTS (trait contracts) │
│ Place, Near, Latency │
│ │
│ ADAPTERS (swappable implementations) │
│ Storage: Memory, NVMe │
│ Index: Flat, HNSW │
│ API: Python bindings │
│ │
│ ENGINE (orchestration) │
│ Arms - the main entry point │
│ │
└─────────────────────────────────────────────────────────────┘§Quick Start
ⓘ
use arms::{Arms, ArmsConfig, Point};
// Create ARMS with default config (768 dimensions)
let mut arms = Arms::new(ArmsConfig::default());
// Place a point in the space
let point = Point::new(vec![0.1; 768]);
let id = arms.place(point, b"my data".to_vec());
// Find nearby points
let query = Point::new(vec![0.1; 768]);
let neighbors = arms.near(&query, 5);Re-exports§
pub use crate::core::Point;pub use crate::core::Id;pub use crate::core::Blob;pub use crate::core::PlacedPoint;pub use crate::core::proximity::Proximity;pub use crate::core::proximity::Cosine;pub use crate::core::proximity::Euclidean;pub use crate::core::proximity::DotProduct;pub use crate::core::merge::Merge;pub use crate::core::merge::Mean;pub use crate::core::merge::WeightedMean;pub use crate::core::merge::MaxPool;pub use crate::core::config::ArmsConfig;pub use crate::ports::Place;pub use crate::ports::Near;pub use crate::ports::Latency;pub use crate::engine::Arms;
Modules§
- adapters
- Adapter implementations - swappable components Contains: storage, index, python submodules
- core
- Core domain - pure math, no I/O Contains: Point, Id, Blob, Proximity trait, Merge trait
- engine
- Engine - orchestration layer Contains: Arms main struct
- ports
- Port definitions - trait contracts for adapters Contains: Place trait, Near trait, Latency trait