Files
claude-mnemonic/internal/vector/hybrid
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
..

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.