The Intel Mac job failed the v2.0.5 AND v2.0.6 release workflows because
ort-sys 2.0.0-rc.11 (pinned by fastembed 5.13.2) does not ship Intel Mac
prebuilts. ci.yml already dropped the target weeks ago; release.yml is
now in sync.
README documents the build-from-source path for Intel Mac users and
v2.0.6 also removed the Intel Mac download link from the install block,
so no user-facing promise regresses. When ort-sys ships Intel Mac
prebuilts again, restore the matrix entry.
Two unrelated upstream issues were stopping two of our four release targets.
Root-caused and fixed both so v2.0.5 ships on 100% of supported platforms.
Windows MSVC (new regression in v2.0.5):
`usearch 2.24.0` introduced a `memory_mapping_allocator_gt` template
that references the POSIX `MAP_FAILED` macro from <sys/mman.h>, which
doesn't exist on MSVC. Confirmed upstream as unum-cloud/usearch#746
(open). The bump from 2.23.0 happened during the v2.0.5 Cargo.lock
refresh. Pinned `usearch = "=2.23.0"` in crates/vestige-core/Cargo.toml
with a comment linking the upstream issue. Unpin when the fix lands.
Intel Mac (latent bug exposed by the ci workaround):
Root cause was feature-propagation, not the release workflow.
crates/vestige-mcp/Cargo.toml hardcoded
`features = ["bundled-sqlite", "embeddings", "vector-search"]` on its
vestige-core dep, which forcibly enabled vestige-core's embeddings
feature regardless of whether vestige-mcp's own `embeddings` feature
flag was set. With `--no-default-features` at the top level (the old
Intel Mac ci workaround), vestige-mcp's feature flags turned off but
vestige-core's embeddings stayed on through the hardcoded list. That
pulled in fastembed -> ort-sys, but without any of the flags that
select ort-sys' backend binaries, so the ort-sys build script failed
with "does not provide prebuilt binaries for the target
x86_64-apple-darwin with feature set (no features)".
Fix:
- Drop `embeddings` and `vector-search` from the hardcoded features
list in crates/vestige-mcp/Cargo.toml. Leave only `bundled-sqlite`
as an always-on base feature. The existing
`embeddings = ["vestige-core/embeddings"]` /
`vector-search = ["vestige-core/vector-search"]` flag declarations
now actually gate those features as intended.
- Bump the vestige-core dep version ref 2.0.4 -> 2.0.5 (was stale).
- Drop `cargo_flags: "--no-default-features"` from the Intel Mac
target in .github/workflows/release.yml. The original reason for
that workaround was sidestepping the same ort-sys issue, but with
the feature-propagation bug fixed, Intel Mac now builds with full
default features the same way aarch64-darwin does on the same
macos-14 runner.
Verification:
- `cargo tree -p vestige-mcp --no-default-features -i fastembed`
-> "did not match any packages" (fastembed truly absent now)
- `cargo tree -p vestige-mcp --no-default-features -i ort-sys` -> same
- `cargo build --release -p vestige-mcp` -> clean, 1m 21s, usearch 2.23.0
Same v2.0.5 tag. Rust source code identical to 8178beb. Re-triggering
the release workflow via workflow_dispatch will rebuild all four
platforms and upload to the existing v2.0.5 release page.
ort-sys v2.0.0-rc.11 has no prebuilt ONNX Runtime binaries for
x86_64-apple-darwin, and vestige-mcp requires embeddings to compile.
- Remove x86_64-apple-darwin from CI release matrix (discontinued 2020)
- Fix vestige-mcp Cargo.toml: add default-features=false to vestige-core dep
- Extract sanitize_fts5_query to always-available fts.rs module
- Gate embeddings-only imports in storage/sqlite.rs behind #[cfg]
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
The ort crate no longer ships prebuilt ONNX Runtime binaries for macOS Intel.
Build that target with --no-default-features so it uses keyword-only search
instead of failing the release pipeline.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- Remove pnpm dashboard build step from release.yml and ci.yml
(dashboard build output is committed to git, embedded via include_dir!)
- Fix macos-13 → macos-14 (macos-13 runners deprecated)
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- Route ingest tool through smart_ingest (Prediction Error Gating) to
prevent duplicate memories when content is similar to existing entries
- Fix Intel Mac release build: use macos-13 runner for x86_64-apple-darwin
(macos-latest is now ARM64, causing silent cross-compile failures)
- Sync npm package version to 1.1.2 (was 1.0.0 in package.json, 1.1.0
in postinstall.js BINARY_VERSION)
- Add vestige-restore to npm makeExecutable list
- Remove abandoned packages/core/ TypeScript package (pre-Rust implementation
referencing FSRS-5, chromadb, ollama — 32K lines of dead code)
- Sync workspace Cargo.toml version to 1.1.2
Closes#5
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Drop problematic targets:
- x86_64-apple-darwin: No free Intel macOS runners after macos-13 retirement
- aarch64-unknown-linux-gnu: Cross-compile OpenSSL issues with vendored feature
Ship with 2 platforms that work reliably:
- aarch64-apple-darwin (macOS Apple Silicon)
- x86_64-unknown-linux-gnu (Linux x86_64)
Users on Intel Mac or ARM64 Linux can build from source with cargo.
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Two-pronged fix for cross-compilation:
1. git2 with vendored-openssl feature - compiles OpenSSL from source,
eliminating system dependency issues across all platforms
2. houseabsolute/actions-rust-cross@v1 - dedicated GitHub Action that
properly handles cross-compilation with Docker containers
Sources:
- https://github.com/rust-lang/git2-rs
- https://github.com/houseabsolute/actions-rust-cross
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- macOS ARM64: macos-latest (Apple Silicon)
- macOS x86_64: macos-13 (Intel) - no cross-compilation
- Linux x86_64: ubuntu-latest with OpenSSL
- Linux ARM64: cross tool for proper Docker-based cross-compilation
Install OpenSSL via homebrew on macOS and set OPENSSL_DIR.
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Cross-compilation for aarch64-unknown-linux-gnu requires OpenSSL
dev libraries for the target platform. Using `cross` handles this
automatically via Docker containers with pre-installed dependencies.
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
FSRS-6 spaced repetition, spreading activation, synaptic tagging,
hippocampal indexing, and 130 years of memory research.
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>