exo-temporal
Temporal memory coordinator with causal structure for the EXO-AI 2025 cognitive substrate.
Overview
This crate implements a biologically-inspired temporal memory system with:
- Short-term buffer: Volatile memory for recent patterns
- Long-term store: Consolidated memory with strategic forgetting
- Causal graph: Tracks antecedent relationships between patterns
- Memory consolidation: Salience-based filtering (frequency, recency, causal importance, surprise)
- Predictive anticipation: Pre-fetching based on sequential patterns, temporal cycles, and causal chains
Architecture
┌─────────────────────────────────────────────────────────┐
│ TemporalMemory │
├─────────────────────────────────────────────────────────┤
│ ┌─────────────┐ ┌─────────────┐ ┌─────────────┐ │
│ │ Short-Term │ │ Long-Term │ │ Causal │ │
│ │ Buffer │→ │ Store │ │ Graph │ │
│ └─────────────┘ └─────────────┘ └─────────────┘ │
│ ↓ ↑ ↑ │
│ ┌─────────────────────────────────────────────┐ │
│ │ Consolidation Engine │ │
│ │ (Salience computation & filtering) │ │
│ └─────────────────────────────────────────────┘ │
│ ↓ │
│ ┌─────────────────────────────────────────────┐ │
│ │ Anticipation & Prefetch │ │
│ └─────────────────────────────────────────────┘ │
└─────────────────────────────────────────────────────────┘
Modules
types: Core type definitions (Pattern, Query, SubstrateTime, etc.)causal: Causal graph for tracking antecedent relationshipsshort_term: Volatile short-term memory bufferlong_term: Consolidated long-term memory storeconsolidation: Memory consolidation with salience computationanticipation: Predictive pre-fetching and query anticipation
Key Algorithms
Causal Cone Query (Pseudocode 3.1)
Retrieves patterns within causal light-cone constraints:
let results = memory.causal_query;
- Filters by time range (Past, Future, or LightCone)
- Computes causal distance via graph traversal
- Ranks by combined similarity, temporal, and causal relevance
Memory Consolidation (Pseudocode 3.2)
Transfers patterns from short-term to long-term based on salience:
let result = memory.consolidate;
Salience factors:
- Frequency: Access count (logarithmic scaling)
- Recency: Exponential decay from last access
- Causal importance: Out-degree in causal graph
- Surprise: Novelty compared to existing patterns
Predictive Anticipation (Pseudocode 3.3)
Pre-fetches likely future queries:
memory.anticipate;
Strategies:
- Sequential patterns: If A then B learned sequences
- Temporal cycles: Time-of-day / day-of-week patterns
- Causal chains: Downstream effects in causal graph
Usage Example
use ;
// Create temporal memory
let memory = new;
// Store pattern with causal context
let pattern = new;
let id = memory.store.unwrap;
// Retrieve pattern
let retrieved = memory.get.unwrap;
// Causal query
let query = from_embedding
.with_origin
.with_k;
let results = memory.causal_query;
// Trigger consolidation
let consolidation_result = memory.consolidate;
// Strategic forgetting
memory.forget;
// Get statistics
let stats = memory.stats;
println!;
println!;
println!;
Implementation Notes
Pseudocode Alignment
This implementation follows the pseudocode in PSEUDOCODE.md:
- Section 3.1:
causal_querymethod implements causal cone filtering - Section 3.2:
consolidatefunction implements salience-based consolidation - Section 3.3:
anticipatefunction implements predictive pre-fetching
Concurrency
- Uses
DashMapfor concurrent access to patterns and indices parking_lot::RwLockfor read-heavy workloads- Thread-safe throughout for multi-threaded substrate operations
Performance
- O(log n) temporal range queries via binary search on sorted index
- O(k × d) similarity search where k = results, d = embedding dimension
- O(n²) worst-case for causal distance via Dijkstra's algorithm
- O(1) prefetch cache lookup
Dependencies
exo-core: Core traits and types (to be implemented)dashmap: Concurrent hash mapsparking_lot: Efficient synchronization primitiveschrono: Temporal handlingpetgraph: Graph algorithms for causal distanceserde: Serialization support
Future Enhancements
- Temporal Knowledge Graph (TKG) integration (mentioned in ARCHITECTURE.md)
- Relativistic light cone with spatial distance
- Advanced consolidation policies (sleep-inspired replay)
- Distributed temporal memory via CRDT synchronization
- GPU-accelerated similarity search
References
- ARCHITECTURE.md: Section 2.5 (Temporal Memory Coordinator)
- PSEUDOCODE.md: Section 3 (Temporal Memory Coordinator)
- Research: Zep-inspired temporal knowledge graphs, IIT consciousness metrics
Links
License
MIT OR Apache-2.0