From 0e8a02f3f8f9627ce630fcfb4a557f0adfb700d8 Mon Sep 17 00:00:00 2001 From: OceanLi <122793010+ohdearquant@users.noreply.github.com> Date: Sun, 2 Aug 2026 06:21:16 -0400 Subject: [PATCH 1/4] chore(deps): move lattice pins to 0.7.0 lattice-embed and lattice-inference are both optional and default-off, so the default build is unaffected, but 0.x minor bumps are semver-breaking and the pins would otherwise hold opt-in users on 0.6.1. Resolution asserted before building, since a requirement that fails to resolve leaves the previous crate in the graph and the build stays green against code that was not the one under test. cargo tree reports lattice-embed v0.7.0 and lattice-inference v0.7.0 for the respective feature sets. Verified: ruvector-core with lattice-embeddings, ruvllm with lattice (metal-gpu on macOS), the ruvector-core test suite at 235 passed 0 failed including the from_str parsing, query/passage prefix and async-runtime embedding tests, and the default no-feature build. The MSRV notes still read Rust >= 1.93; lattice 0.7.0 declares rust-version 1.93, so only the crate version numeral in those comments changed. --- Cargo.lock | 14 ++++++-------- crates/ruvector-core/Cargo.toml | 4 ++-- crates/ruvllm/Cargo.toml | 2 +- examples/ruvLLM/Cargo.toml | 2 +- 4 files changed, 10 insertions(+), 12 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 854cd017f6..00b1052751 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -4921,9 +4921,9 @@ dependencies = [ [[package]] name = "lattice-embed" -version = "0.6.1" +version = "0.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "188e4627dabd63544da5a57daabfe3105bf4d4970840f2e5a5c7f01123835ecb" +checksum = "1f3af50558cf953df225b68ec160f1ea49b0965564f10a9b8577d15ac8452542" dependencies = [ "async-trait", "blake3", @@ -4940,16 +4940,15 @@ dependencies = [ [[package]] name = "lattice-inference" -version = "0.6.1" +version = "0.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b113852e4c522b6607cd8e01842b5dff7de307d4cc9223dfd798b0136e2aa62b" +checksum = "439a555d0b66e489e1c1291522143780fd9e0bbf0475c9f23fd299fa35df68a2" dependencies = [ - "axum 0.8.9", "clap", - "futures", "half", "image 0.25.10", "indexmap 2.12.1", + "libc", "memmap2", "metal 0.33.0", "objc", @@ -4959,7 +4958,6 @@ dependencies = [ "serde_json", "sha2 0.10.9", "thiserror 2.0.18", - "tokio", "tracing", "ureq 2.12.1", ] @@ -12674,7 +12672,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "32497e9a4c7b38532efcdebeef879707aa9f794296a4f0244f6f69e9bc8574bd" dependencies = [ "fastrand", - "getrandom 0.3.4", + "getrandom 0.4.3", "once_cell", "rustix 1.1.4", "windows-sys 0.61.2", diff --git a/crates/ruvector-core/Cargo.toml b/crates/ruvector-core/Cargo.toml index 144c706fea..65a79e5920 100644 --- a/crates/ruvector-core/Cargo.toml +++ b/crates/ruvector-core/Cargo.toml @@ -56,11 +56,11 @@ tokenizers = { version = "0.20", default-features = false, features = ["onig"], hf-hub = { version = "0.4", optional = true } # Native (pure-Rust) local embeddings via lattice-embed (not available in WASM). -# NOTE: lattice-embed 0.6 requires Rust >= 1.93 (edition 2024). Cargo cannot +# NOTE: lattice-embed 0.7 requires Rust >= 1.93 (edition 2024). Cargo cannot # express a per-feature `rust-version`, so enabling the `lattice-embeddings` # feature raises the effective MSRV above this crate's workspace-inherited # 1.77 for anyone who turns it on. The default build is unaffected. -lattice-embed = { version = "0.6.1", optional = true } +lattice-embed = { version = "0.7.0", optional = true } tokio = { workspace = true, optional = true } [dev-dependencies] diff --git a/crates/ruvllm/Cargo.toml b/crates/ruvllm/Cargo.toml index dbecfa1706..35f9b41b17 100644 --- a/crates/ruvllm/Cargo.toml +++ b/crates/ruvllm/Cargo.toml @@ -108,7 +108,7 @@ objc = { version = "0.2", optional = true } # Lattice pure-Rust Qwen3.5 inference engine, Metal GPU forward pass # (macOS only, optional, default-OFF — see the `lattice` feature below). -lattice-inference = { version = "0.6.1", optional = true, default-features = false, features = ["metal-gpu", "f16", "std"] } +lattice-inference = { version = "0.7.0", optional = true, default-features = false, features = ["metal-gpu", "f16", "std"] } # Core ML bindings (macOS/iOS) - for Apple Neural Engine acceleration objc2 = { version = "0.6", optional = true } diff --git a/examples/ruvLLM/Cargo.toml b/examples/ruvLLM/Cargo.toml index e5c8e172d9..7748f6e5cb 100644 --- a/examples/ruvLLM/Cargo.toml +++ b/examples/ruvLLM/Cargo.toml @@ -101,7 +101,7 @@ real-inference = ["candle-core", "candle-nn", "candle-transformers", "hf-hub", " # HuggingFace export for learned patterns and LoRA weights hf-export = ["ruvector-sona"] # Real pretrained sentence embeddings via lattice-embed (through ruvector-core). -# Opt-in: enabling this raises the effective MSRV to Rust >= 1.93 (lattice-embed 0.6, +# Opt-in: enabling this raises the effective MSRV to Rust >= 1.93 (lattice-embed 0.7, # edition 2024) and makes a pretrained model a runtime dependency. Off by default so the # base package keeps its current build/footprint; the embedder backend is selected at # runtime when this feature is compiled in. From 241bb5648ad48678ef718e7c5d041ca8254d8d53 Mon Sep 17 00:00:00 2001 From: OceanLi <122793010+ohdearquant@users.noreply.github.com> Date: Sun, 2 Aug 2026 12:33:57 -0400 Subject: [PATCH 2/4] chore(deps): move lattice pins to 0.7.1 0.7.1 is the current release, so pinning 0.7.0 would land this already behind it. 0.7.1 is additive over 0.7.0 and both crates stay optional and default-off, so the default build is unaffected either way. Checked under each pin's own feature set rather than only the cheap one: `cargo check --locked -p ruvector-core --features lattice-embeddings` and `cargo check --locked -p ruvllm --features lattice` both pass. --- Cargo.lock | 8 ++++---- crates/ruvector-core/Cargo.toml | 2 +- crates/ruvllm/Cargo.toml | 2 +- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 00b1052751..406c5758f7 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -4921,9 +4921,9 @@ dependencies = [ [[package]] name = "lattice-embed" -version = "0.7.0" +version = "0.7.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1f3af50558cf953df225b68ec160f1ea49b0965564f10a9b8577d15ac8452542" +checksum = "3a8471670d8eb3dc5b52b7c977f1be449a4d39404ebd47bd084a1e922fa6002e" dependencies = [ "async-trait", "blake3", @@ -4940,9 +4940,9 @@ dependencies = [ [[package]] name = "lattice-inference" -version = "0.7.0" +version = "0.7.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "439a555d0b66e489e1c1291522143780fd9e0bbf0475c9f23fd299fa35df68a2" +checksum = "bc6ebeb70001f572be393e646e9207b2b10fc8c7649eb0b197d027bc87018585" dependencies = [ "clap", "half", diff --git a/crates/ruvector-core/Cargo.toml b/crates/ruvector-core/Cargo.toml index 65a79e5920..6171a59305 100644 --- a/crates/ruvector-core/Cargo.toml +++ b/crates/ruvector-core/Cargo.toml @@ -60,7 +60,7 @@ hf-hub = { version = "0.4", optional = true } # express a per-feature `rust-version`, so enabling the `lattice-embeddings` # feature raises the effective MSRV above this crate's workspace-inherited # 1.77 for anyone who turns it on. The default build is unaffected. -lattice-embed = { version = "0.7.0", optional = true } +lattice-embed = { version = "0.7.1", optional = true } tokio = { workspace = true, optional = true } [dev-dependencies] diff --git a/crates/ruvllm/Cargo.toml b/crates/ruvllm/Cargo.toml index 35f9b41b17..af846ddf9c 100644 --- a/crates/ruvllm/Cargo.toml +++ b/crates/ruvllm/Cargo.toml @@ -108,7 +108,7 @@ objc = { version = "0.2", optional = true } # Lattice pure-Rust Qwen3.5 inference engine, Metal GPU forward pass # (macOS only, optional, default-OFF — see the `lattice` feature below). -lattice-inference = { version = "0.7.0", optional = true, default-features = false, features = ["metal-gpu", "f16", "std"] } +lattice-inference = { version = "0.7.1", optional = true, default-features = false, features = ["metal-gpu", "f16", "std"] } # Core ML bindings (macOS/iOS) - for Apple Neural Engine acceleration objc2 = { version = "0.6", optional = true } From 616e1d98daa9052791a79f28a62e1e5a4c4e2e89 Mon Sep 17 00:00:00 2001 From: OceanLi <122793010+ohdearquant@users.noreply.github.com> Date: Sun, 2 Aug 2026 14:03:57 -0400 Subject: [PATCH 3/4] chore(deps): drop an unrelated resolver change from the lockfile The lockfile carried tempfile's resolved getrandom edge moving 0.3.4 -> 0.4.3, which is outside this PR's stated scope of moving the lattice pins. Reverted to the base resolution; `cargo check -p ruvector-core --features lattice-embeddings --locked` passes without it, which is what establishes the change was opportunistic re-resolution rather than something this bump requires. --- Cargo.lock | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Cargo.lock b/Cargo.lock index 406c5758f7..f917d03816 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -12672,7 +12672,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "32497e9a4c7b38532efcdebeef879707aa9f794296a4f0244f6f69e9bc8574bd" dependencies = [ "fastrand", - "getrandom 0.4.3", + "getrandom 0.3.4", "once_cell", "rustix 1.1.4", "windows-sys 0.61.2", From d0a23abd5944d14bda808d6489d067fe6d48018d Mon Sep 17 00:00:00 2001 From: OceanLi <122793010+ohdearquant@users.noreply.github.com> Date: Mon, 3 Aug 2026 14:41:50 -0400 Subject: [PATCH 4/4] chore(ruvLLM): lock lattice crates at 0.7.1 in the standalone example workspace Co-Authored-By: Claude Sonnet 5 --- examples/ruvLLM/Cargo.lock | 90 +++++++------------------------------- 1 file changed, 15 insertions(+), 75 deletions(-) diff --git a/examples/ruvLLM/Cargo.lock b/examples/ruvLLM/Cargo.lock index 13c75c92fa..7c30bea2d0 100644 --- a/examples/ruvLLM/Cargo.lock +++ b/examples/ruvLLM/Cargo.lock @@ -195,7 +195,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "edca88bc138befd0323b20752846e6587272d3b03b0343c8ea28a6f819e6e71f" dependencies = [ "async-trait", - "axum-core 0.4.5", + "axum-core", "bytes", "futures-util", "http 1.4.2", @@ -204,7 +204,7 @@ dependencies = [ "hyper 1.11.0", "hyper-util", "itoa", - "matchit 0.7.3", + "matchit", "memchr", "mime", "percent-encoding", @@ -222,39 +222,6 @@ dependencies = [ "tracing", ] -[[package]] -name = "axum" -version = "0.8.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "31b698c5f9a010f6573133b09e0de5408834d0c82f8d7475a89fc1867a71cd90" -dependencies = [ - "axum-core 0.5.6", - "bytes", - "form_urlencoded", - "futures-util", - "http 1.4.2", - "http-body 1.1.0", - "http-body-util", - "hyper 1.11.0", - "hyper-util", - "itoa", - "matchit 0.8.4", - "memchr", - "mime", - "percent-encoding", - "pin-project-lite", - "serde_core", - "serde_json", - "serde_path_to_error", - "serde_urlencoded", - "sync_wrapper 1.0.2", - "tokio", - "tower 0.5.3", - "tower-layer", - "tower-service", - "tracing", -] - [[package]] name = "axum-core" version = "0.4.5" @@ -276,25 +243,6 @@ dependencies = [ "tracing", ] -[[package]] -name = "axum-core" -version = "0.5.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "08c78f31d7b1291f7ee735c1c6780ccde7785daae9a9206026862dab7d8792d1" -dependencies = [ - "bytes", - "futures-core", - "http 1.4.2", - "http-body 1.1.0", - "http-body-util", - "mime", - "pin-project-lite", - "sync_wrapper 1.0.2", - "tower-layer", - "tower-service", - "tracing", -] - [[package]] name = "base64" version = "0.13.1" @@ -1258,7 +1206,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "39cab71617ae0d63f51a36d69f866391735b51691dbda63cf6f96d042b63efeb" dependencies = [ "libc", - "windows-sys 0.61.2", + "windows-sys 0.59.0", ] [[package]] @@ -2373,7 +2321,7 @@ checksum = "3640c1c38b8e4e43584d8df18be5fc6b0aa314ce6ebf51b53313d4306cca8e46" dependencies = [ "hermit-abi", "libc", - "windows-sys 0.61.2", + "windows-sys 0.59.0", ] [[package]] @@ -2474,9 +2422,9 @@ dependencies = [ [[package]] name = "lattice-embed" -version = "0.6.1" +version = "0.7.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "188e4627dabd63544da5a57daabfe3105bf4d4970840f2e5a5c7f01123835ecb" +checksum = "3a8471670d8eb3dc5b52b7c977f1be449a4d39404ebd47bd084a1e922fa6002e" dependencies = [ "async-trait", "blake3", @@ -2493,16 +2441,15 @@ dependencies = [ [[package]] name = "lattice-inference" -version = "0.6.1" +version = "0.7.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b113852e4c522b6607cd8e01842b5dff7de307d4cc9223dfd798b0136e2aa62b" +checksum = "bc6ebeb70001f572be393e646e9207b2b10fc8c7649eb0b197d027bc87018585" dependencies = [ - "axum 0.8.9", "clap", - "futures", "half", "image", "indexmap", + "libc", "memmap2", "rayon", "rustc-hash", @@ -2510,7 +2457,6 @@ dependencies = [ "serde_json", "sha2", "thiserror 2.0.19", - "tokio", "tracing", "ureq", ] @@ -2656,12 +2602,6 @@ version = "0.7.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0e7465ac9959cc2b1404e8e2367b43684a6d13790fe23056cc8c6c5a6b7bcb94" -[[package]] -name = "matchit" -version = "0.8.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "47e1ffaa40ddd1f3ed91f717a33c8c0ee23fff369e3aa8772b9605cc1d22f4c3" - [[package]] name = "matrixmultiply" version = "0.3.11" @@ -2974,7 +2914,7 @@ version = "0.50.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7957b9740744892f114936ab4a57b3f487491bbeafaf8083688b16841a4240e5" dependencies = [ - "windows-sys 0.61.2", + "windows-sys 0.59.0", ] [[package]] @@ -3927,7 +3867,7 @@ dependencies = [ "errno", "libc", "linux-raw-sys", - "windows-sys 0.61.2", + "windows-sys 0.59.0", ] [[package]] @@ -4051,7 +3991,7 @@ dependencies = [ [[package]] name = "ruvector-graph" -version = "2.3.0" +version = "2.3.1" dependencies = [ "anyhow", "bincode 2.0.1", @@ -4109,7 +4049,7 @@ dependencies = [ "ahash", "anyhow", "approx", - "axum 0.7.9", + "axum", "bincode 2.0.1", "byteorder", "candle-core 0.8.4", @@ -4592,7 +4532,7 @@ dependencies = [ "getrandom 0.4.3", "once_cell", "rustix", - "windows-sys 0.61.2", + "windows-sys 0.59.0", ] [[package]] @@ -5348,7 +5288,7 @@ version = "0.1.11" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c2a7b1c03c876122aa43f3020e6c3c3ee5c05081c9a00739faf7503aeba10d22" dependencies = [ - "windows-sys 0.61.2", + "windows-sys 0.48.0", ] [[package]]