build(deps): bump actions/checkout from 4 to 6 - #2
Closed
dependabot[bot] wants to merge 222 commits into
Closed
Conversation
…ne, Euclidean, VectorOps)
…p) with zero-copy I/O
… SECURITY, README, CI, templates)
Contributor
Author
LabelsThe following labels could not be found: Please fix the above issues or remove invalid values from |
…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 mycila license-maven-plugin v5.0.0 to root pom.xml - Create Apache 2.0 header template (src/license/apache2-header.txt) - Create BSL 1.1 header template (spector-memory/src/license/bsl-header.txt) - Override plugin in spector-memory/pom.xml for BSL header - Apply headers to all 533 Java source files: - Apache 2.0 for all modules except spector-memory - BSL 1.1 for spector-memory (107 files) Signed-off-by: Bharat Joshi <bharatjoshi@spectrayan.com>
- Add 'mvn license:check' step before the main build - Fails CI if any .java file is committed without a proper copyright header Signed-off-by: Bharat Joshi <bharatjoshi@spectrayan.com>
- Add DCO-style CLA section to CONTRIBUTING.md - Contributors certify IP ownership via 'git commit -s' sign-off - Covers dual-license: Apache 2.0 (core) + BSL 1.1 (spector-memory) - PRs without signed-off commits will not be merged Signed-off-by: Bharat Joshi <bharatjoshi@spectrayan.com>
BREAKING CHANGE: QuantizationType.VASQ → SVASQ, VASQ_4 → SVASQ_4 Rename all VasQ references to SVASQ (Spector Vector-Aligned Scalar Quantization) to avoid trademark conflict with VasQ™ (Laminate Medical Technologies Ltd, Nice Class 10 — vascular surgery device). Marketing name: SpectorQuant Technical acronym: SVASQ Changes: - Package: quantization.vasq → quantization.svasq - Classes: VasqEncoder → SvasqEncoder, Vasq4Strategy → Svasq4Strategy, etc. - Enums: VASQ → SVASQ, VASQ_4 → SVASQ_4 - Config: .vasq4() → .svasq4(), .vasqPreCalibrated() → .svasqPreCalibrated() - Docs: vasq-deep-dive.md → svasq-deep-dive.md - README: SpectorQuant — SVASQ (Spector Vector-Aligned Scalar Quantization) - Copyright headers applied to all renamed files - Delete one-time rename script (scripts/rename-vasq-to-svasq.sh) Signed-off-by: Bharat Joshi <bharatjoshi@spectrayan.com>
- Change link from ../../#-benchmarks (root README anchor, broken in MkDocs) to performance.md (local memory benchmarks page) Signed-off-by: Bharat Joshi <bharatjoshi@spectrayan.com>
Layer 1 - HebbianGraph: - Add save(Path)/load(Path) binary persistence with HGPH magic header - Wire into CognitiveIngestionTarget Step 9b (co-ingestion edge strengthening) - Wire into RecallPipeline Step 5c (spreading activation, top-3 seeds, 2-hop) - Builder option: hebbianGraphCapacity(int) Layer 2 - TemporalChain: - Off-heap doubly-linked list (16B per node: prev/next/session/flags) - Wire into CognitiveIngestionTarget Step 9c (session-local sequence linking) - Wire into RecallPipeline Step 5d (forward/backward 3-hop traversal) - Binary persistence with TCLK magic header - Builder option: temporalChainCapacity(int) Layer 3 - EntityGraph: - Off-heap entity nodes (64B, 8-byte aligned) + typed edges (12B) - On-heap ConcurrentHashMap for O(1) case-insensitive name lookup - BFS traversal with optional relation type filter - EntityExtractor SPI: NoOp, LlmEntityExtractor (structured prompt) - Configurable: entityExtractionMode(NONE/LLM/CUSTOM), maxEntitiesPerMemory(10), maxRelationsPerMemory(20) - Wire into CognitiveIngestionTarget Step 9d (extraction + graph population) - Wire into RecallPipeline Step 5e (query entity → 2-hop memory collection) - Binary persistence with EGPH magic header + name index serialization Integration: - SpectorMemory interface: hebbianGraph(), temporalChain(), entityGraph() - DefaultSpectorMemory: graph lifecycle (construct/load/save/close) - MeteredSpectorMemory: pass-through accessors - All graph components saved on close(), loaded on startup (DISK mode) Tests: 51 new tests (357 total, 0 failures) - HebbianGraphPersistenceTest (9) - TemporalChainTest (11) - EntityGraphTest (15) - LlmEntityExtractorTest (8) - NoOpEntityExtractorTest (3)
…sourceUtils EntityType: expanded from 8 → 22 types across 7 category groups: People & Org (PERSON, ORGANIZATION, TEAM, ROLE), Projects (PROJECT, PRODUCT, TASK), Knowledge (CONCEPT, TOPIC, SKILL, DECISION), Technology (TECHNOLOGY, TOOL, API, ARTIFACT), World (EVENT, LOCATION, DATE_TIME), Process & Data (PROCESS, METRIC, DOCUMENT), OTHER RelationType: expanded from 13 → 21 types across 6 category groups: People (MANAGES, REPORTS_TO, KNOWS, ASSIGNED_TO, AUTHORED), Work (WORKS_ON, CREATED_BY, OWNS, IMPLEMENTS), Structure (PART_OF, CONTAINS, DEPENDS_ON, USES), Causality (CAUSES, BLOCKS, SUPERSEDES, PRECEDES, FOLLOWS), Location (LOCATED_AT), General (RELATED_TO, OTHER) ResourceUtils (spector-commons): - Thread-safe classpath resource loader with ConcurrentHashMap cache - loadResource(), loadResourceOrDefault(), exists(), evict(), clearCache() - 6 tests LlmEntityExtractor: - Prompt externalized to prompts/entity-extraction.txt (classpath resource) - Uses ResourceUtils for one-time load + permanent cache - Prompt updated with all 22 entity types and 21 relation types
Phase 1b: CoActivationTracker Off-Heap Migration - Replaced on-heap ConcurrentHashMap with off-heap open-addressing hash tables: - Co-activation pairs: 32B/slot (hashA, hashB, count, flags) - STDP edges: 40B/slot (srcHash, tgtHash, weight, lastActivatedMs, activCount, flags) - FNV-1a 64-bit hash for tag strings → off-heap slot addressing - Linear probing with ~50% load factor (power-of-2 capacity) - On-heap ConcurrentHashMap<Long,String> for hash→tag name reverse resolution - Synchronized writes, lock-free reads (acceptable for soft-scoring) - Pruning: weakest 10% eviction when table exceeds 50% fill - Persistence: save(Path)/load(Path) with COAX magic header - Implements AutoCloseable for arena lifecycle - All existing CoActivationTrackerTest tests pass (6/6) - New CoActivationTrackerPersistenceTest: 7 tests (save/load round-trip, STDP edges, associated tags, canonical pairs, predictive strength) Phase 4: ReflectDaemon Graph Decay Wiring - DefaultSpectorMemory.reflect() now calls hebbianGraph.decayEdges(0.9f) after each reflection cycle (biological synaptic homeostasis: 10% decay) - CoActivationTracker loaded from disk on startup (DISK mode) - CoActivationTracker saved to disk on close (DISK mode) - CoActivationTracker.close() called on shutdown Tests: 357 pass, 0 failures (excluding pre-existing benchmark flake)
…oActivationTracker Split 901-line CoActivationTracker into 3 focused classes: OffHeapPairTable (272 lines): - Off-heap open-addressing hash table for undirected co-activation pairs - Own ReentrantLock for write operations - Lock-free reads - Self-contained slot layout, probing, pruning, persistence I/O OffHeapEdgeTable (281 lines): - Off-heap open-addressing hash table for directed STDP edges - Own ReentrantLock — independent from pair table - Lock-free reads - Self-contained slot layout, probing, pruning, persistence I/O CoActivationTracker (439 lines, was 901): - Thin coordinator: tag registry + public API + persistence orchestration - No more synchronized(this) — pair writes never block edge writes - Delegates all hash table operations to the extracted tables Concurrency improvement: - Before: single synchronized(this) lock for ALL writes - After: 2 independent ReentrantLocks (pair table + edge table) - Pair writes and STDP edge writes execute concurrently All 357 tests pass, 0 failures.
…rCode integration
New error codes (SPE-310-006..011):
GRAPH_HEBBIAN_FAILED, GRAPH_TEMPORAL_FAILED, GRAPH_ENTITY_FAILED,
GRAPH_COACTIVATION_FAILED, GRAPH_PERSISTENCE_FAILED, GRAPH_DECAY_FAILED
Exception hierarchy:
SpectorMemoryException
└── SpectorGraphException (base)
├── SpectorHebbianException (SPE-310-006)
├── SpectorTemporalChainException (SPE-310-007)
├── SpectorEntityGraphException (SPE-310-008)
├── SpectorCoActivationException (SPE-310-009)
├── SpectorGraphPersistenceException(SPE-310-010)
└── SpectorGraphDecayException (SPE-310-011)
Follows established patterns:
- Each exception binds a default ErrorCode
- Constructor args fill {} template placeholders — no concatenation
- Typed context fields (operation, graphType, path, details)
- Formatting happens inside the exception via errorCode.format(args)
Pipeline catch sites updated:
- CognitiveIngestionTarget: steps 9b/9c/9d use granular exceptions
- RecallPipeline: steps 5c/5d/5e use granular exceptions
- DefaultSpectorMemory.reflect: uses SpectorGraphDecayException
- LlmEntityExtractor: uses SpectorEntityGraphException
- All persistence throws: use SpectorGraphPersistenceException
- Replaced catch(Exception) with catch(RuntimeException)
- Replaced UncheckedIOException with SpectorGraphPersistenceException
Null guards added:
- EntityGraph.addEntity/findEntity: null/blank name → -1
- EntityGraph.addEntity: null type → EntityType.OTHER
- CoActivationTracker.recordCoActivation: null tags → no-op
All 357 tests pass, 0 failures.
Documents all 4 shipped phases, error framework, test coverage (357 tests), and the full integrated recall pipeline flow. Future roadmap: Phase 5a: Temporal chain pruning during consolidation Phase 5b: Cross-layer promotion (Hebbian → Entity relations) Phase 5c: Entity graph decay + weak node merging Phase 6: Graph-aware scoring weights (GraphScoringPolicy)
Shipped (✅): - 3-Layer Cognitive Graph (Hebbian, Entity, Temporal) - 6 error codes, 7 granular exceptions - 357 tests, 0 failures Planned (🔜): - Temporal chain pruning during consolidation - Cross-layer promotion (Hebbian → Entity) - Entity graph decay + weak node merging - GraphScoringPolicy configurable weights Summary table updated: 20 items, categorized by domain.
…dards
SKILL.md:
- Replaced minimal error handling section with comprehensive
SpectorException framework guide
- Covers: hierarchy tree, ErrorCode registry, exception creation
patterns, throw/catch site patterns, anti-patterns
- Added exception handling to trigger list
exception-hardening.md (NEW):
- 9-step workflow for auditing and hardening exceptions
- Audit anti-patterns (grep commands)
- Create ErrorCode + granular exception
- Fix throw sites and catch sites
- Verify and commit
- Invocable via /exception-hardening
hebbian.md: Full rewrite — now documents all 3 layers:
- Layer 1: HebbianGraph (164B/node off-heap) + CoActivationTracker
(OffHeapPairTable 32B/slot + OffHeapEdgeTable 40B/slot)
- Layer 2: EntityGraph (64B/entity, 12B/edge, 22 types × 21 relations)
- Layer 3: TemporalChain (16B/node doubly-linked list)
- Error framework (SpectorGraphException hierarchy)
- Memory budget table, persistence formats, pipeline integration
architecture.md:
- Added Steps 9b-9d (Hebbian, Temporal, Entity) to ingestion flow
- Added Steps 5c-5e to recall flow
- Added graph nodes to package dependency diagram
index.md:
- Updated biological metaphor diagram with 3-Layer Cognitive Graph
- Added Cognitive Graph card to explore section
scoring-pipeline.md:
- Added Graph Augmentation section (post-scorer Steps 5c/5d/5e)
- Mermaid diagram showing seed → graph → merge flow
mkdocs.yml:
- Moved Modules section under Architecture (reduces top-level nav)
- Renamed 'Hebbian' to '3-Layer Cognitive Graph'
New file: docs/docs/memory/biological-systems.md
- Brain-to-code mapping table (12 systems)
- Mermaid architecture diagram
- Key mathematical models with LaTeX:
* Ebbinghaus forgetting curve (decay buckets)
* Bjork & Bjork reconsolidation (spacing effect)
* Schultz dopamine prediction error (Z-score)
* Hebbian edge strengthening + decay
* Bi & Poo STDP learning rule
* Thompson & Spencer habituation penalty
- 14 academic references with DOI links
- Grid card navigation to each subsystem
mkdocs.yml: Added Overview entry to Biological Systems nav
SpectorMemory gained hebbianGraph(), temporalChain(), and entityGraph() during the cognitive graph feature. The DummySpectorMemory test stub in spector-metrics was missing these methods, causing compilation failure. Added: entityGraph(), hebbianGraph(), temporalChain() → all return null. Also fixed broken anchor link in labs/roadmap.md → hebbian.md.
- Angular 21 standalone app with zoneless change detection - Angular Material 3 theme (dark/light toggle, M3 tokens only) - Signal-based reactive architecture (CortexStateService) - MockDataService with toggleable simulated events - ThemeService for dark/light mode Core services: - CortexStateService: 20+ signals for query, graph, metrics, system state - MockDataService: realistic runtime data generation (queries, graph pulses, reflect cycles, vector embeddings, metrics, habituation) 12 visualization panels: - Neural Graph: Three.js 3D graph, 200 nodes, 3 edge types, particles, layer toggles, profile visual transforms, consolidation animation - Vector Space: Three.js 300-point embedding cloud with query dot - Scoring Pipeline: animated 6-phase cognitive funnel - Live Metrics: Canvas multi-line time-series chart - Cognitive Profile: Canvas 6-axis radar chart - SIMD & Hardware: Canvas 16-lane register heatmap - Memory Heatmap: off-heap segment utilization bars - Decay Curve: Ebbinghaus + LTP reconsolidation overlay - Query Input: unified search bar with progress indicator - Query History: scrollable timeline with profile/latency chips - Zeigarnik Tracker: unresolved task tension gauge - Habituation Meter: IoR/satiation/penalty gauges Layout: - Responsive 3-column CSS Grid with mat-card panels - Staggered fade-in animations - Header with connection status, profile chip, latency badge
- docs/docs/cortex/index.md: comprehensive dashboard docs with embedded screenshot, architecture diagrams, panel deep dives, project structure, design principles, SSE event mapping - docs/docs/modules/spector-cortex.md: module page with tech stack, dependency diagram, and links to full docs - mkdocs.yml: add 🧬 Cortex Dashboard nav section and spector-cortex to the Modules list
The previous sync-wiki job hardcoded ~15 specific file copies and ~15 sed link replacements, which meant new docs (cortex, memory subsystems, deep-dives) were never synced to the GitHub Wiki. New approach: - Auto-discovers ALL .md files under docs/docs/ via find - Generates wiki-friendly page names from path conventions (dir/file.md → Dir-File.md, dir/index.md → Dir.md) - Copies images and screenshots to wiki-accessible paths - Converts MkDocs-specific syntax (admonitions, tabs, snippets) to GitHub-compatible markdown - Auto-generates _Sidebar.md by parsing mkdocs.yml nav with Python - Removes need to manually update the workflow when new docs are added
- Add Docs badge linking to spectrayan.github.io/spector/ - Add 📖 Documentation section with links to MkDocs site, GitHub Wiki, Cognitive Memory, Neural Dashboard, API Reference, and MCP Server docs
- Remove push-only condition that caused wiki sync to skip on workflow_dispatch and after pages deploy - Add 'wiki_only' input to workflow_dispatch — when set to 'true', skips pages build/deploy and only syncs wiki - Use always() + result check so sync-wiki runs after both successful deploy AND when deploy is skipped (wiki-only mode) Usage: - Push to docs/ → builds pages + syncs wiki (both) - Manual trigger (wiki_only=false) → builds pages + syncs wiki - Manual trigger (wiki_only=true) → syncs wiki only (fast)
Bumps [actions/checkout](https://github.com/actions/checkout) from 4 to 6. - [Release notes](https://github.com/actions/checkout/releases) - [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md) - [Commits](actions/checkout@v4...v6) --- updated-dependencies: - dependency-name: actions/checkout dependency-version: '6' dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] <support@github.com>
dependabot
Bot
force-pushed
the
dependabot/github_actions/actions/checkout-6
branch
from
May 31, 2026 23:40
bfffcbc to
084661b
Compare
sbharatjoshi
added a commit
that referenced
this pull request
Jun 1, 2026
README: - Add VASQ-4 to features, programmatic API example, configuration table - Update architecture differentiators and compression highlights - Update roadmap: VASQ-4 done, add pending items (#2-#6) Docs: - vasq-deep-dive.md: add full VASQ-4 section (memory layout, calibration, SIMD kernel, usage tabs, expected recall table) - quantization-comparison.md: update Spector approach, tables, recall tiers - roadmap.md: new detailed roadmap page covering all 10 items with status, projected savings, and implementation scope - mkdocs.yml: add Roadmap to nav
Contributor
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. |
Closed
17 tasks
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 actions/checkout from 4 to 6.
Release notes
Sourced from actions/checkout's releases.
... (truncated)
Changelog
Sourced from actions/checkout's changelog.
... (truncated)
Commits
de0fac2Fix tag handling: preserve annotations and explicit fetch-tags (#2356)064fe7fAdd orchestration_id to git user-agent when ACTIONS_ORCHESTRATION_ID is set (...8e8c483Clarify v6 README (#2328)033fa0dAdd worktree support for persist-credentials includeIf (#2327)c2d88d3Update all references from v5 and v4 to v6 (#2314)1af3b93update readme/changelog for v6 (#2311)71cf226v6-beta (#2298)069c695Persist creds to a separate file (#2286)ff7abcdUpdate README to include Node.js 24 support details and requirements (#2248)08c6903Prepare v5.0.0 release (#2238)