build(deps): bump com.google.protobuf:protobuf-java from 4.28.2 to 4.35.0#13
Closed
dependabot[bot] wants to merge 168 commits into
Closed
build(deps): bump com.google.protobuf:protobuf-java from 4.28.2 to 4.35.0#13dependabot[bot] wants to merge 168 commits into
dependabot[bot] wants to merge 168 commits into
Conversation
…ne, Euclidean, VectorOps)
…p) with zero-copy I/O
… SECURITY, README, CI, templates)
…double-consonant dedup
… HNSW recall tests
…n-testtools dependency
…hunker, TextUtils and add chunked ingestion for large documents
…kenizer for large document support
… auto-embed engine integration
- QuantizationType enum (NONE, SCALAR_INT8) - ScalarQuantizer with min/max calibration and INT8 encoding - QuantizedCosineSimilarity and QuantizedDotProduct SIMD kernels - SimilarityFunction updated with quantized variants - ScalarQuantizerTest for encode/decode and batch operations
- PersistenceMode enum (IN_MEMORY, DISK, MMAP) - IndexFileFormat for binary HNSW serialization - QuantizedVectorStore with INT8 compression - InMemoryVectorStore concurrent access improvements
- DiskHnswWriter for binary HNSW graph serialization - DiskHnswIndex for mmap-based read-only index loading - QuantizedHnswIndex with INT8 scalar quantization (4x memory reduction) - BM25Index and HnswIndex performance improvements - DiskHnswIndexTest and QuantizedHnswIndexTest
- ProductQuantizer: K-Means++ codebook training, PQ encode/decode, ADC distance computation, batch encoding - IvfPqIndex: full IVF-PQ implementing VectorIndex SPI with cluster assignment, residual-based PQ encoding, and multi-probe search - PostingList: per-cluster growable storage for PQ codes - 14 tests: PQ training/encode/decode/ADC + IVF-PQ search/recall/sorting
- Reranker SPI interface for pluggable re-ranking strategies - LlmReranker: listwise relevance scoring using Ollama generate API with prompt-based 0-10 scoring and graceful fallback - HybridSearchOrchestrator: integrated optional re-ranking post-processing - LlmRerankerTest: fallback behavior, empty input, topK limiting
- spector-gpu Maven module with Panama FFM CUDA bindings - GpuCapability: runtime CUDA detection (device count, name, memory) - GpuBatchSimilarity: SIMD-optimized batch dot product and cosine similarity using FMA Vector API operations - CudaKernelLauncher: PTX module loader, function resolver, kernel launcher with grid/block configuration - batch_similarity.cu: CUDA kernels for batch_cosine, batch_dot, batch_l2 with block-level shared memory reduction - 14 tests: GPU detection, batch similarity correctness, CUDA launcher
…hitecture - spector-cluster Maven module with gRPC/protobuf integration - spector_search.proto: 6 RPC definitions (vector, keyword, hybrid search, ingest, health check, stats) - ClusterCoordinator: fan-out/merge query execution via virtual threads with consistent hash shard routing - ShardNode: gRPC server wrapping SpectorEngine - SpectorSearchServiceImpl: full gRPC service delegating to local engine - RemoteShardClient: type-safe gRPC client for all 5 RPC methods - ClusterConfig: multi-node endpoint configuration with replication - ClusterConfigTest: routing, hash consistency, topology tests
…rEngine - IndexType enum (HNSW, IVF_PQ) for configurable index strategy - SpectorConfig: added indexType, ivfNlist, ivfNprobe, pqSubspaces with builder methods (withIvfPq) and auto-defaults - SpectorEngine: IVF-PQ auto-training pipeline that buffers ingested vectors and trains PQ codebooks after nlist*40 samples - Backward-compatible 7-arg constructor preserved - 4 new tests: auto-training, keyword search during buffering, config builder, auto-defaults
- HeavyPerformanceBenchmark: keyword/vector/hybrid at 50K-100K scale - IvfPqBenchmark: IVF-PQ search, PQ encode/decode, ADC distance, batch cosine similarity at 10K-50K scale - ConcurrencyBenchmark: multi-threaded search throughput - IngestionBenchmark: document ingestion throughput - PerformanceTestRunner: standalone runner with formatted results
- pom.xml: added spector-gpu, spector-cluster modules to reactor and dependencyManagement - README.md: expanded architecture (13 modules), 5 new features, updated comparison table (quantization, IVF-PQ, GPU, LLM, distributed), updated test suite (316+ tests), added roadmap checklist
Extract ~300 lines of duplicated graph traversal code (greedyClosest, searchLayer, selectNeighbors, addConnection, getNeighbors, setNeighbors) into AbstractHnswIndex base class with three template method hooks: - computeDistance(float[], int) — distance from query to stored node - getNodeVector(int) — float32 vector retrieval for pruning - storeVector(int, float[]) — vector storage on insertion HnswIndex: 413 -> 76 lines (-81%) QuantizedHnswIndex: 476 -> 226 lines (-53%) All 316+ tests passing, zero regressions.
- VectorIndex: add default isReadOnly() method (returns false) - DiskHnswIndex: override isReadOnly() to return true - KeywordIndex: add default remove(String id) method - BM25Index: expose existing removeDoc() logic via KeywordIndex.remove() Completes the deletion API path across the engine.
- Add gpuEnabled, rerankerEnabled, rerankerOllamaUrl, rerankerModel, rerankerMaxCandidates fields to SpectorConfig record - Add with*() builder-style methods for GPU and reranker config - Add IVF-PQ computed defaults (effectiveNlist, effectiveNprobe, etc.) - Add spector-gpu dependency to engine POM
EngineComponentFactory now always creates writable components, then loads existing data from disk via addPrebuilt(). Eliminates the mutually exclusive read-only vs fresh-empty startup paths. Flow: create writable store/index → load ID mappings → copy DiskHnswIndex graph into writable HnswIndex → load DocumentStore. All data survives restarts while remaining fully writable for new ingestion.
With the unified startup path, forceWritable is no longer needed: - SpectorConfig: remove forceWritable field + withForceWritable() - SpectorConfigFactory: remove from EngineDefaults record - SpectorRuntime: remove 3-arg from() overload - IngestCommand: use standard 2-arg from() - Tests: update path expectations (.spector/index, .spector/memory)
- Change engine data-directory default from .spector-data to .spector/index - Change memory persistence-path default from .spector-memory to .spector/memory - Align with code defaults in SpectorConfigFactory - Update .gitignore to use single .spector/ entry - Update all READMEs with corrected paths
- 40-byte binary record layout (RFC-style wire format) - Chunked file architecture with rolling and snapshot-driven truncation - Corruption Recovery Strategy: torn writes vs mid-log bit rot taxonomy - Compaction & Garbage Collection policy with snapshot-aware truncation - CRDT merge semantics and cloud replication architecture - Compression (DEFLATE) and configuration reference
- Update .spector-memory → .spector/memory in all docs - Update .spector-data → .spector/index in MCP server docs - Fix modules nav: add spector-node/config/metrics/dist, remove stale server/cluster - Delete stale spector-server.md and spector-cluster.md doc pages - Register extra_css and mermaid-init.js in mkdocs.yml (was missing)
Engine close() now uses ShardedDiskHnswWriter which writes to index_shards/ directory, not a single index.spct file.
The standalone Armeria server has been consolidated into spector-node which provides REST + gRPC + SSE + cluster coordination.
Cluster coordination, shard management, and replication are planned for V3. Removing premature scaffolding to reduce build surface and test noise.
- Remove spector-server and spector-cluster from root POM modules - Update dependency versions and module cross-references
…ctorProperties - PersistenceFiles record for centralized persistence file naming - SpectorConfig enhancements for sharded index persistence - SpectorProperties improvements for typed config access
…ed persistence on close - EngineComponentFactory now accepts PersistenceFiles for disk I/O - DefaultSpectorEngine.close() persists via ShardedDiskHnswWriter - EngineIngestion updated for new component wiring
…dex improvements - ShardedDiskHnswIndex and ShardedDiskHnswWriter for multi-shard persistence - AbstractHnswIndex shared base for HNSW variants - DiskHnswIndex and DiskHnswWriter updates - QuantizedHnswIndex enhancements - SpectorIndex and SpectorShard refinements
- ShardedMappedVectorStore for multi-shard vector persistence - ShardedIndexFormat for shard file layout - MappedVectorStore and VectorStoreFactory refinements
…lectDaemon improvements - MemoryWal: ReentrantLock for virtual thread safety, corruption recovery - WalCorruptionException for explicit corruption signaling - CognitiveRecordLayout and SynapticHeaderConstants alignment - CloudSync CRDT merge semantics - DefaultSpectorMemory composition - ReflectDaemon hippocampus refinements
- Updated wiring for engine + memory + ingestion pipeline - Aligned with unified .spector/ directory structure
- MemoryPinning for virtual thread memory safety - NativeOsMemory for OS-level memory operations
- CognitiveMemoryBenchmark for memory subsystem performance - Updated concurrency, ingestion, and index operation benchmarks
- Spring AI integration auto-config - Resource configuration files
- Armeria-based HTTP REST + gRPC + SSE event streaming - Cluster coordination and node management - Replaces spector-server with full-featured unified node
- Prometheus metric collectors - JVM memory and GC instrumentation - Health check endpoints
- README updated with new module structure and directory paths - CHANGELOG reflects server→node, cluster removal, WAL improvements - Architecture, API, getting-started, and configuration docs updated - Scripts updated for .spector/ directory and MCP config - Deploy configuration added - CONTRIBUTING guide updated
- SpectorProperties test defaults - MappedVectorStore test updates - SpectorToolRegistryTest updates - MemoryWal persistence and integration tests - Commons concurrent utility tests - Spring auto-config tests - Update roadmap skill scripts
Rules: - Project-wide coding standards, architecture boundaries, git conventions Skills: - coding-standards: Java 25, Panama FFM, SIMD, naming, class structure - code-review: 8-step structured review with checklist - doc-sync: code-to-documentation sync mapping - incremental-commits: dependency-ordered commit grouping Workflows: - feature-development: requirements to commit end-to-end - pr-review: diff analysis to verdict - module-lifecycle: add/remove/rename Maven modules - documentation-update: write, build, verify docs - release-prep: test, changelog, version bump, tag - perf-investigation: profile, optimize, benchmark
Bumps [com.google.protobuf:protobuf-java](https://github.com/protocolbuffers/protobuf) from 4.28.2 to 4.35.0. - [Release notes](https://github.com/protocolbuffers/protobuf/releases) - [Commits](https://github.com/protocolbuffers/protobuf/commits) --- updated-dependencies: - dependency-name: com.google.protobuf:protobuf-java dependency-version: 4.35.0 dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <support@github.com>
779abcc to
ca6f634
Compare
Author
|
OK, I won't notify you again about this release, but will get in touch when a new version is available. If you'd rather skip all updates until the next major or minor version, let me know by commenting If you change your mind, just re-open this PR and I'll resolve any conflicts on it. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Bumps com.google.protobuf:protobuf-java from 4.28.2 to 4.35.0.
Commits