mirror of
https://github.com/lukaszraczylo/claude-mnemonic.git
synced 2026-06-08 23:39:40 +00:00
19514bdc55
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.
1.2 KiB
1.2 KiB
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:
- StorageAlways - Store all embeddings (backwards compatible)
- StorageHub - Store only frequently-accessed "hub" embeddings
- StorageOnDemand - Recompute all embeddings during search
See the main documentation for more details on the LEANN algorithm and hybrid storage approach.