Modules¶
Spector is organized as a multi-module Maven project (24 modules). Each module has a focused responsibility, clear API boundaries, and minimal cross-module coupling.
Architecture Hierarchy¶
graph TB
subgraph nucleus["nucleus/ (Foundation & Acceleration)"]
commons["spector-commons<br/><i>Error codes & utilities</i>"]
core["spector-core<br/><i>Compute SPIs & quantization</i>"]
cpu["spector-cpu<br/><i>Java 25 SIMD acceleration</i>"]
gpu["spector-gpu<br/><i>Panama FFM + CUDA GPU</i>"]
hdc["spector-hdc<br/><i>Hyperdimensional vectors</i>"]
index["spector-index<br/><i>HNSW + SpectorIndex + BM25</i>"]
config["spector-config<br/><i>SpectorConfig + YAML</i>"]
events["spector-events<br/><i>Telemetry event bus</i>"]
testsupport["spector-test-support<br/><i>Test harnesses & mocks</i>"]
end
subgraph memory["memory/ (Cognitive Memory Engine)"]
spectormemory["spector-memory<br/><i>Bundle Kernel, Recall Pipeline & Daemons</i>"]
providerApi["spector-provider-api<br/><i>Provider SPI</i>"]
providers["spector-providers<br/><i>AI Providers (Ollama, OpenAI, ONNX)</i>"]
ingestion["spector-ingestion<br/><i>File & sensory ingest pipeline</i>"]
inspect["spector-inspect<br/><i>Bundle inspection tool</i>"]
metrics["spector-metrics<br/><i>Micrometer + Prometheus metrics</i>"]
end
subgraph synapse["synapse/ (API, Integration & Gateways)"]
synapseapp["spector-synapse<br/><i>Spring Boot 4 / REST, SSE & Chat Graph</i>"]
connector["spector-connector<br/><i>Camel data connectors</i>"]
mcp["spector-mcp<br/><i>MCP Server (STDIO/SSE)</i>"]
cli["spector-cli<br/><i>spectorctl CLI & standalone spector.jar</i>"]
spring["spector-spring<br/><i>Spring AI VectorStore</i>"]
batch["spector-batch<br/><i>Batch migration engine</i>"]
end
subgraph bench["bench/ (Performance & Validation)"]
spectorbench["spector-bench<br/><i>JMH & cognitive benchmarks</i>"]
end
nucleus --> memory --> synapse
synapse --> bench
memory -.-> bench Module Dependency Graph¶
graph TD
synapseapp["🌐 synapse"] --> mcp["🤖 mcp"]
synapseapp --> connector["🔌 connector"]
synapseapp --> metrics["📈 metrics"]
synapseapp --> events["📡 events"]
synapseapp --> memory["🧠 memory"]
mcp --> memory
mcp --> ingestion["📥 ingestion"]
cli["🖥️ cli"] --> memory
cli --> mcp
cli --> ingestion
memory --> index["📊 index"]
memory --> core["🔬 core"]
memory --> cpu["⚡ cpu"]
memory --> config["⚙️ config"]
memory --> providerApi["🧬 provider-api"]
index --> core
index --> config
index --> commons["📄 commons"]
gpu --> index
gpu --> core
gpu --> commons
cpu --> core
cpu --> commons
metrics --> memory
metrics --> events
connector --> ingestion
connector --> providerApi
spring["🌱 spring"] --> memory
spring --> metrics
bench["🧪 bench"] --> memory
bench --> providers["🤖 providers"] Legend: Solid arrows = compile dependency. Dotted arrows = optional/benchmark dependency.
Bundle Kernel Architecture
spector-memory is backed by the off-heap Bundle Kernel Architecture (PartitionBundle, RuntimeBundle, EngramLayout). In-memory vector indexes are managed directly by spector-index, and SIMD/GPU operations are accelerated by spector-cpu and spector-gpu.
Architecture: Direct Memory Composition¶
All entry points (MCP Server, CLI, Spring Boot Synapse) interact directly with SpectorMemory:
graph TD
cli["🖥️ spector-cli<br/><i>SpectorCtl / spector.jar</i>"]
mcp["🤖 spector-mcp<br/><i>SpectorMcpServer</i>"]
synapseapp["🌐 spector-synapse<br/><i>SynapseApplication (Spring Boot 4)</i>"]
cli --> memory["🧠 SpectorMemory<br/><i>DefaultSpectorMemory</i>"]
mcp --> memory
synapseapp --> memory
memory --> recall["Recall Pipeline<br/><i>Dense + Sparse + Graph + Metamemory</i>"]
memory --> daemons["Consolidation Daemons<br/><i>Eager, Synaptic, Circadian</i>"]
memory --> storage["Bundle Kernel<br/><i>Off-Heap Memory Mapped</i>"] Module Overview¶
Foundation & Acceleration Layer (/nucleus)¶
| Module | Description |
|---|---|
| spector-bom | Bill of Materials POM managing dependency versions across all modules |
| spector-commons | Shared utilities, concurrent queues, base exceptions, ErrorCode registry |
| spector-core | Core compute SPIs (Similarity, HNSW, SVASQ, MaxSim) and quantization algorithms |
| spector-cpu | Java 25 Panama Vector SIMD acceleration kernel implementations |
| spector-gpu | Java 25 Panama FFM + CUDA GPU hardware acceleration kernels |
| spector-hdc | Hyperdimensional computing vector algebra and operations |
| spector-index | In-memory vector indexes (HNSW, SpectorIndex) and keyword indexes (BM25, Splade) |
| spector-config | Configuration — SpectorProperties, SpectorConfigFactory, YAML parsing |
| spector-events | Decoupled telemetry event bus (TelemetryBus, TelemetryScope) |
| spector-test-support | Common test harnesses, assertions, and mock providers |
Cognitive Memory Layer (/memory)¶
| Module | Description |
|---|---|
| spector-memory | Flagship cognitive memory engine — 4-tier memory, bundle kernel, recall pipeline, consolidation daemons |
| spector-provider-api | Model-agnostic LLM and embedding provider SPI |
| spector-providers | Out-of-the-box LLM/embedding providers (Ollama, OpenAI, Google, Anthropic, ONNX) |
| spector-ingestion | Unified ingestion pipeline — chunking, sensory extractors (PDF, audio, images), metadata extraction |
| spector-inspect | Binary inspection tool for partition bundles and runtime bundles |
| spector-metrics | Micrometer + Prometheus telemetry and distributed tracing instrumentation |
Nervous System & Gateways (/synapse)¶
| Module | Description |
|---|---|
| spector-synapse | API gateway and central nervous system — Spring Boot 4 REST/SSE server and agentic chat graph |
| spector-connector | Enterprise data connector subsystem powered by Apache Camel |
| spector-mcp | Model Context Protocol server exposing Spector memory via STDIO and SSE |
| spector-cli | Multi-function spectorctl CLI and standalone spector.jar runner |
| spector-spring | Spring AI VectorStore integration and auto-configuration |
| spector-batch | Batch migration and re-indexing engine |
Benchmarks (/bench)¶
| Module | Description |
|---|---|
| spector-bench | JMH micro-benchmarks and end-to-end cognitive memory evaluation harness |