ruvector/docs/adr
rUv 240f019d58 fix(hnsw): resolve segfault with parameterized queries (Issue #141)
This commit fixes a critical P0 bug where HNSW indexes on ruvector
columns would crash PostgreSQL with a segmentation fault when using
parameterized queries (prepared statements, ORMs, application drivers).

Root Cause:
- Query vector extraction failed for parameterized queries
- Code fell back to zero vector without validation
- Zero vector caused segfault during HNSW search

Changes:
- Add multi-method query vector extraction pipeline
  1. Direct RuVector::from_polymorphic_datum()
  2. Text parameter conversion for parameterized queries
  3. Validated varlena fallback with dimension checking
- Add query_valid flag to track extraction success
- Add validation before search execution:
  - Reject empty/invalid query vectors with clear errors
  - Reject all-zero vectors (invalid for similarity search)
  - Validate dimension match between query and index
- Apply same fixes to IVFFlat for consistency

Testing:
- Added regression tests for parameterized queries
- Added tests for zero vector error handling
- Added tests for dimension mismatch errors
- Added 384-dimension production-scale tests

Fixes: #141
See: docs/adr/ADR-0027-hnsw-parameterized-query-fix.md

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-28 16:34:42 +00:00
..
coherence-engine feat(prime-radiant): Universal Coherence Engine with Sheaf Laplacian AI Safety (#131) 2026-01-22 21:27:27 -05:00
delta-behavior feat(delta-behavior): Complete Δ-behavior implementation with WASM 2026-01-28 04:18:34 +00:00
ADR-001-ruvector-core-architecture.md feat(training): RuvLTRA v2.4 Ecosystem Edition - 100% routing accuracy (#123) 2026-01-20 20:08:30 -05:00
ADR-002-ruvllm-integration.md feat(training): RuvLTRA v2.4 Ecosystem Edition - 100% routing accuracy (#123) 2026-01-20 20:08:30 -05:00
ADR-003-simd-optimization-strategy.md feat(training): RuvLTRA v2.4 Ecosystem Edition - 100% routing accuracy (#123) 2026-01-20 20:08:30 -05:00
ADR-004-kv-cache-management.md feat(training): RuvLTRA v2.4 Ecosystem Edition - 100% routing accuracy (#123) 2026-01-20 20:08:30 -05:00
ADR-005-wasm-runtime-integration.md feat(training): RuvLTRA v2.4 Ecosystem Edition - 100% routing accuracy (#123) 2026-01-20 20:08:30 -05:00
ADR-006-memory-management.md feat(training): RuvLTRA v2.4 Ecosystem Edition - 100% routing accuracy (#123) 2026-01-20 20:08:30 -05:00
ADR-007-security-review-technical-debt.md feat(training): RuvLTRA v2.4 Ecosystem Edition - 100% routing accuracy (#123) 2026-01-20 20:08:30 -05:00
ADR-008-mistral-rs-integration.md feat(training): RuvLTRA v2.4 Ecosystem Edition - 100% routing accuracy (#123) 2026-01-20 20:08:30 -05:00
ADR-009-structured-output.md feat(training): RuvLTRA v2.4 Ecosystem Edition - 100% routing accuracy (#123) 2026-01-20 20:08:30 -05:00
ADR-010-function-calling.md feat(training): RuvLTRA v2.4 Ecosystem Edition - 100% routing accuracy (#123) 2026-01-20 20:08:30 -05:00
ADR-011-prefix-caching.md feat(training): RuvLTRA v2.4 Ecosystem Edition - 100% routing accuracy (#123) 2026-01-20 20:08:30 -05:00
ADR-012-security-remediation.md feat(training): RuvLTRA v2.4 Ecosystem Edition - 100% routing accuracy (#123) 2026-01-20 20:08:30 -05:00
ADR-013-huggingface-publishing.md feat(training): RuvLTRA v2.4 Ecosystem Edition - 100% routing accuracy (#123) 2026-01-20 20:08:30 -05:00
ADR-014-coherence-engine.md feat(prime-radiant): Universal Coherence Engine with Sheaf Laplacian AI Safety (#131) 2026-01-22 21:27:27 -05:00
ADR-015-coherence-gated-transformer.md feat(prime-radiant): Universal Coherence Engine with Sheaf Laplacian AI Safety (#131) 2026-01-22 21:27:27 -05:00
ADR-016-delta-behavior-ddd-architecture.md feat(delta-behavior): Complete Δ-behavior implementation with WASM 2026-01-28 04:18:34 +00:00
ADR-0027-hnsw-parameterized-query-fix.md fix(hnsw): resolve segfault with parameterized queries (Issue #141) 2026-01-28 16:34:42 +00:00