Files
claude-mnemonic/internal/vector/hybrid/README.md
T
lukaszraczylo 19514bdc55 docs: add testing documentation and macOS ARM64 known issue
Document the macOS ARM64 CGO linking issue with sqlite-vec-go-bindings
that prevents hybrid package tests from compiling locally.

Added:
- .github/TESTING.md: Comprehensive testing guide with platform-specific
  issues, workarounds, and CI configuration details
- internal/vector/hybrid/README.md: Package-specific documentation
  explaining the macOS limitation
- .github/CI_FIX_SUMMARY.md: Technical details of the CI fix

Key points:
- 41 out of 42 packages test successfully on all platforms
- hybrid package tests fail only on macOS ARM64 (local dev issue)
- Linux CI tests pass with proper build-tags: "fts5" configuration
- Production builds and runtime functionality unaffected

This is a known limitation of sqlite-vec-go-bindings on macOS ARM64
and does not impact CI/CD or production deployments.
2026-01-07 21:27:49 +00:00

33 lines
1.2 KiB
Markdown

# Hybrid Vector Storage
LEANN-inspired selective vector storage with hub detection and graph-based search.
## Testing
### macOS ARM64 Known Issue
Tests in this package currently fail to link on macOS ARM64 due to a known issue with `sqlite-vec-go-bindings/cgo`. This is a linking-time issue specific to macOS ARM64 and does not affect:
- Linux CI/CD (tests pass normally)
- Windows builds
- Runtime functionality (only affects test compilation)
The issue is caused by how macOS ARM64 handles CGO linking with multiple SQLite implementations (mattn/go-sqlite3 and sqlite-vec's embedded SQLite).
**Workaround for local development:**
- Run tests for other packages: `go test ./internal/db/... ./internal/search/...`
- The CI on Linux will test this package
- Or use a Linux container for local testing
**Status:** This does not affect production builds or CI/CD pipelines.
## Architecture
This package implements three storage strategies:
1. **StorageAlways** - Store all embeddings (backwards compatible)
2. **StorageHub** - Store only frequently-accessed "hub" embeddings
3. **StorageOnDemand** - Recompute all embeddings during search
See the main documentation for more details on the LEANN algorithm and hybrid storage approach.