feat: statically link sqlite-vec and improve fresh install reliability#11
Merged
blackaxgit merged 6 commits intomainfrom Mar 20, 2026
Merged
feat: statically link sqlite-vec and improve fresh install reliability#11blackaxgit merged 6 commits intomainfrom
blackaxgit merged 6 commits intomainfrom
Conversation
Replace runtime load_extension() mechanism for sqlite-vec with compile-time static linking using the sqlite-vec Rust crate (v0.1.7). This eliminates the #1 installation pain point where users had to manually download vec0.dylib and deal with macOS Gatekeeper issues. Key changes: - Add sqlite-vec 0.1.7 as workspace dependency - Remove "load_extension" feature from rusqlite - Add init_sqlite_vec() using sqlite3_auto_extension in clx-core - Call init_sqlite_vec() from all 3 binary entry points - Remove try_load_vec_extension(), get_extension_search_paths() - Remove extension_loaded field from EmbeddingStore - Simplify is_vector_search_enabled() to always return true - Remove all "download vec0.dylib" user-facing messages - Update tests to call init_sqlite_vec() in test harnesses Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
F-02: Force-pull Docker image before starting (avoid stale cache) F-03: Create ~/.clx/docker/ and embed docker-compose.yml in Rust installer F-04: Add --help and TTY detection to clx-hook (no more parse errors) F-05: Add prerequisite validation to install.sh (cargo, git, curl) F-06: Add commented CA cert mount to docker-compose.yml for corporate TLS
install.sh and clx-services.sh now read model names from ~/.clx/config.yaml if available, with qwen3:1.7b and qwen3-embedding:0.6b as fallback defaults. Prevents drift between installer and user config.
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.
Summary
Eliminates the #1 installation pain point (manual sqlite-vec download) and improves fresh install reliability with 7 fixes from two user installation reports.
Changes
F-08: Static link sqlite-vec (CRITICAL)
F-07: Sync model names from config
F-02: Force-pull Docker image
F-03: Create Docker directory in Rust installer
F-04: clx-hook --help and TTY detection
F-05: Prerequisite validation
F-06: Corporate TLS/SSL support
Test plan