Repository navigation
Memory Getting Started
github-actions[bot] edited this page Sep 21, 2026
·
6 revisions
Get cognitive memory running in your Java application in under 5 minutes.
| Requirement | Version | Notes |
|---|---|---|
| JDK | 25+ | OpenJDK with Vector API incubator |
| Maven | 3.9+ | Build tool |
| Ollama | Latest | For real embeddings (optional — mock provider works for testing) |
<dependency>
<groupId>com.spectrayan</groupId>
<artifactId>spector-memory</artifactId>
<version>0.1.0-SNAPSHOT</version>
</dependency>
<!-- Ollama embedding provider (optional) -->
<dependency>
<groupId>com.spectrayan</groupId>
<artifactId>spector-embed-ollama</artifactId>
<version>0.1.0-SNAPSHOT</version>
</dependency>Spector Memory uses the Vector API (incubator) for SIMD acceleration:
java --add-modules jdk.incubator.vector \
--enable-native-access=ALL-UNNAMED \
--enable-preview \
-jar your-app.jartip: Maven Surefire These flags are already configured in the parent
pom.xml. Tests run out of the box withmvn test.
import com.spectrayan.spector.memory.*;
import com.spectrayan.spector.memory.cortex.MemorySource;
// Create a mock embedding provider for testing
EmbeddingProvider mock = text -> {
float[] vec = new float[128];
// Deterministic hash-based vector for reproducibility
var rng = new java.util.Random(text.hashCode());
for (int i = 0; i < 128; i++) vec[i] = rng.nextFloat() - 0.5f;
return new EmbeddingResult(vec, text.split("\\s+").length, "mock");
};
try (SpectorMemory memory = SpectorMemory.builder()
.dimensions(128)
.embeddingProvider(mock)
.build()) {
// Remember
memory.remember("fact-1",
"The user prefers dark mode in all editors.",
MemoryType.EPISODIC, MemorySource.USER_STATED,
"preferences", "ui").get();
// Recall
List<CognitiveResult> results = memory.recall("dark theme settings",
RecallOptions.builder().topK(5).build());
results.forEach(r ->
System.out.printf("%.4f [%s] %s%n", r.score(), r.memoryType(), r.text()));
}import com.spectrayan.spector.embed.ollama.OllamaEmbeddingProvider;
// Pull the model first: ollama pull qwen3-embedding
var embedder = OllamaEmbeddingProvider.create("qwen3-embedding");
try (SpectorMemory memory = SpectorMemory.builder()
.dimensions(embedder.dimensions()) // Auto-detect: 4096 for qwen3-embedding
.embeddingProvider(embedder)
.workingCapacity(100)
.episodicPartitionCapacity(10_000)
.semanticCapacity(5_000)
.proceduralCapacity(500)
.build()) {
// Ingest diverse memories
memory.remember("err-db",
"Database connection pool exhausted — 50 active, 0 idle connections.",
MemoryType.EPISODIC, MemorySource.OBSERVED,
"error", "database").get();
memory.remember("rule-retry",
"Always implement exponential backoff for database retries.",
MemoryType.PROCEDURAL, MemorySource.PROCEDURAL,
"database", "retry").get();
// Semantic recall with synaptic tag filtering
List<CognitiveResult> results = memory.recall("database connection error",
RecallOptions.builder()
.topK(5)
.synapticFilter("database") // Only memories tagged "database"
.minImportance(0.2f) // Skip trivial memories
.build());
}// Async — returns CompletableFuture
CompletableFuture<Void> future = memory.remember(
"unique-id", // Unique memory identifier
"The text content to remember", // Raw text (will be auto-embedded)
MemoryType.EPISODIC, // Cognitive tier
MemorySource.USER_STATED, // Provenance
"tag1", "tag2", "tag3" // Synaptic tags (Bloom filter encoded)
);
future.get(); // Block if neededList<CognitiveResult> results = memory.recall("query text",
RecallOptions.builder()
.topK(10) // Max results
.synapticFilter("java", "debugging") // Bloom filter pre-screen
.minImportance(0.3f) // Importance threshold
.memoryTypes(MemoryType.EPISODIC, // Tier filter
MemoryType.SEMANTIC)
.minValence((byte) -50) // Emotional range
.maxValence((byte) 50)
.alpha(0.6f) // Similarity weight
.beta(0.4f) // Importance × decay weight
.build());// Permanent: tombstone the memory (excluded from all future scans)
memory.forget("memory-id");
// Temporary: suppress from recall (can be un-suppressed later)
memory.suppress("memory-id", "Not relevant to current task");// Memory health statistics
int total = memory.totalMemories();
var stats = memory.introspect();Add cognitive memory to your AI agent via the built-in MCP server. Enable memory in your spector.yml:
spector:
mode: memory
memory:
enabled: true
persistence-mode: DISK
persistence-path: .spector/memory
dimensions: 768
provider:
embedding:
model: qwen3-embedding
base-url: http://localhost:11434Then configure your agent:
{
"mcpServers": {
"spector": {
"command": "java",
"args": [
"--add-modules", "jdk.incubator.vector",
"--enable-native-access=ALL-UNNAMED",
"--enable-preview",
"-jar", "/path/to/spector.jar",
"--config", "/path/to/spector.yml"
]
}
}
}With memory.enabled: true, the MCP server registers all 16 cognitive memory tools.
- :material-brain: [[System Architecture|Memory--Architecture]] — understand the full package hierarchy
- :material-lightning-bolt: [[6-Phase Scoring Pipeline|Memory--Scoring-Pipeline]] — how recall actually works under the hood
- :material-head-cog: [[Cognitive Subsystems|Memory--Tiers]] — explore each cognitive subsystem
- :material-speedometer: [[Performance|Memory--Performance]] — benchmarks and optimization techniques
- Home
-
Getting Started
- Quick Start
- Installation
- Developer Guide
- JDK API Status
- MCP Server
- Java SDK
- Java API Reference
- Python SDK
- TypeScript SDK
- Spring AI Integration
- CLI Reference
- REST API
- API Playground
- Error Codes
- Configuration
- Deployment
-
Cognitive Memory
- Overview
- Getting Started
- Use Cases
- API Reference
- Concepts
- Pathways
- Scoring features
- Profiles
- Experimental
- Internals
- Design ancestry
-
Memory Kernel
- Overview
- Bundle Architecture
- Memory Shapes
- Binary Layouts & Tags
- WAL & Durability
-
Region Reference
- Overview & Index
- Partition Regions
-
Runtime Regions
- Working Memory
- Co-Activation Matrix
- Index MIDX
- Index IDPL
- Hebbian Graph
- Temporal Chains
- Temporal Facts
- Entity Directory
- Entity Names Pool
- HyperEntity Graph
- Entity Types Registry
- Relation Types Registry
- BM25 Lexical Index
- Checkpoint
- Insula (Somatic Self-Model)
- Continuity
- Provenance
- SPLADE Sparse Index
- Entity Reverse Index
- Identity Regions
- Synapse & Cortex
-
Architecture
- System Overview
- Core Concepts
- Ingestion Pipeline
- MCP Integration
- Distributed Mode
- Event Notifications
- Namespace Sharding
- Single-Namespace Scale & Capacity Limits
- Scale Benchmark Empirical Results
- Writer Quiesce Pause Empirical Results
- Kill-Owner Failover Empirical Results
- Salience & Importance Architecture
- GPU Acceleration
- Performance Tuning
- Test Framework & LLM Judge
- Chat & Visual Test Infrastructure
- Security & Data
-
Architecture Decision Records (ADRs)
- Overview
- Template
- Master Catalog (0001-0088)
-
Memory Kernel & Storage Formats
- ADR-0001: Graph Compression Strategy for Entity Graph
- ADR-0002: Multi-Partition Recall Fan-Out & Frozen Reten...
- ADR-0003: Completing Hypergraph Entity-Graph Graduation
- ADR-0004: Mmap Bundle Architecture & File Descriptor Sc...
- ADR-0005: spector-memory Technical Debt Hardening
- ADR-0042: Graph Recall Architecture and Cognitive Trave...
- ADR-0043: Single-VMA Bundle Layout Specification
- ADR-0044: Memory Kernel Isolation, Composition, and Layout
- ADR-0045: Spector Memory Import & Export Pipeline
- ADR-0046: Single Engram, Four Stores Storage Architecture
- ADR-0047: Episodic Memory and Engram Model Hierarchy
- ADR-0057: Remediation of Hardcoded Memory Offsets and Alignment Constants
- ADR-0062: Spector Memory Organization — Three-Plane Architecture
- ADR-0082: Index Plane Lifecycle, Derived Views, and Reconciliation
-
Active Inference Self-Model Engine (AISME)
- ADR-0006: Episodic Conversation Architecture
- ADR-0007: ReflectPathway — Biological Sleep Consolidation
- ADR-0008: Cognitive Substrate Evolution (TANGLE, GPM, M...
- ADR-0009: AISME Phase 1 — Homeostatic Affective Core
- ADR-0010: AISME Phase 2 — Free-Energy Guided Recall
- ADR-0011: AISME Phase 3 — Modern Hopfield Associative M...
- ADR-0012: AISME Phase 4 — Neural Manifold Distance (NMD)
- ADR-0013: AISME Phase 5 — Predictive Coding Narrative Self
- ADR-0014: AISME Phase 6 — Consciousness Continuity Metr...
- ADR-0015: AISME Phase 7 — Synaptic Relay Wiring & Pathw...
- ADR-0016: AISME Phase 8 — Closed-Loop Epistemic Learning
- ADR-0017: AISME Phase 9 — Generative Counterfactuals & ...
- ADR-0018: AISME Phase 10 — WanderPathway & Kernel Conti...
- ADR-0019: AISME Phase 11 — Expected Free Energy Policy ...
- ADR-0020: AISME Phase 12 — Continuous Self-Dynamics
- ADR-0023: AISME Complete Loop Closure & CognitiveVector...
- ADR-0024: Polymorphic SoulContext Hierarchy in AISME
- ADR-0027: Soul-Conditioned & Salience-Modulated Persona...
- ADR-0048: Cross-Capture Graph & CoActivation Kernel
- ADR-0049: Identity Trajectory Lyapunov Stability
- ADR-0050: Event Density Gating and Dynamic Epistemic Co...
- ADR-0051: Bayesian Online Change-Point Episode Segmenta...
- ADR-0052: Differential Privacy and Edge Anonymization
- ADR-0053: Multimodal Composite Importance Scoring
- ADR-0054: Lifespan-Adaptive Forgetting & Retention Kernel
- ADR-0055: LSR & RFF Dense Associative Memory Engineerin...
- ADR-0056: Log-Sum-ReLU (LSR) & Random Fourier Features ...
- ADR-0058: Linguistic & Vocal Prosody Expression Engine
- ADR-0063: Spacetime Vector Search and Synaptic Relay Architecture
- ADR-0064: Spacetime Simulation on Wander, Dream, and Express Pathways
- ADR-0071: Remember Cognitive Pathway Architecture
- ADR-0072: Six-Phase Fused Cognitive Scoring Pipeline
- ADR-0073: Recall Cognitive Pathway and Multi-Phase Retrieval Architecture
- ADR-0074: Reflect Cognitive Pathway and Sleep Consolidation Architecture
- ADR-0078: Salience Network and Thalamic Cognitive Profiles Architecture
-
Platform, Synapse & Clustering
- ADR-0021: Nucleus Symmetric Hardware Abstraction Layer ...
- ADR-0022: Embodied Kinesics & Phenomenological MCP Engine
- ADR-0025: Declarative MCP Tool Definitions via JSON Sch...
- ADR-0026: Dual-Plane Concurrency & Async Queue Backpres...
- ADR-0028: Dual-Plane Memory Audit Architecture (Separat...
- ADR-0029: Episodic→Semantic Lineage Provenance Region
- ADR-0030: Unified Engram Encoding Header Architecture
- ADR-0031: Unified Configuration Architecture & Bypass E...
- ADR-0032: Persona Enactment — Soul as Policy over Memory
- ADR-0033: Decoupling Cognitive & Mathematical Kernels t...
- ADR-0034: Cell Topology, Namespace Ownership, and HA Cl...
- ADR-0035: Cognitive Pathway Framework Rearchitecture
- ADR-0036: Pathway Error Handling, Isolation, and Circui...
- ADR-0037: Ingestion Boundary and Sensory Relocation
- ADR-0038: SIMD-Accelerated BM25 Lexical Scoring Optimiz...
- ADR-0039: Robust Unified Rate Limiting Architecture
- ADR-0040: Universal Apache Camel Messaging Channels
- ADR-0041: Unified Connector Architecture for Ingestion
- ADR-0059: Java 27 Upgrade Strategy and Value Class Migration
- ADR-0060: Cognitive Continuity Layer and Decoded Mind Streams
- ADR-0061: In-Memory Multi-Tenant Quartz Scheduler
- ADR-0065: Client SDK Architecture, OpenAPI, and MCP Integration
- ADR-0066: Engine & CLI Stabilization — Issue #727 Hardening
- ADR-0067: Cell-Based High Availability and Namespace-Sticky Sharding
- ADR-0068: Phileas PII Redaction Engine for Spector Synapse
- ADR-0069: Synapse-Owned Tool Access Policy
- ADR-0070: Unified Error Taxonomy and Exception Handling Architecture
- ADR-0075: Extensible LLM and Multimodal Embedding Provider SPI
- ADR-0076: Zero-Dependency Pluggable Cache Abstraction
- ADR-0077: Model B Asynchronous Task Queue and Concurrency
- ADR-0079: Asynchronous Memory Event and Telemetry Notification Bus
- ADR-0080: Observed Memory and Pathway Metrics Telemetry Architecture
- ADR-0081: Dedicated Reactive Ingress and In-Process Path Router
- ADR-0083: Namespace-Isolated Memory Analytics & Telemetry
- ADR-0084: Dual-Plane Conversation Persistence
- ADR-0085: Dynamic Synapse Configuration Overrides and Runtime Propagation
- ADR-0086: Procedural Skill Crystallization
- ADR-0087: Admin Role Model, Content-Free Admin API Contract & Break-Glass Policy
- ADR-0088: Bring Your Own Key (BYOK) & Per-Tenant Envelope Encryption
-
Modules Registry
- Overview
- Foundation Layer (/nucleus)
- Cognitive Layer (/memory)
- Gateway Layer (/synapse)
- Benchmarks & UI
- Deep Dives
-
Community
- Governance
- Contributing
- FAQ
- Glossary
- Roadmap
- 🔬 Labs
- Third-Party Legal