Repository navigation
Conversation
The pinned mesh-llm revision's log store requires rusqlite 0.40, and only one libsqlite3-sys may link the native sqlite3 library. A Renovate bump of Buzz's own requirement to 0.41 therefore leaves Cargo.lock unresolvable, and mesh-llm's main branch still requires 0.40. Add a Renovate packageRules entry that keeps the cargo rusqlite dependency below 0.41, alongside the existing gtk and sha2 holds. src-tauri/Cargo.toml already declares 0.40 and Cargo.lock resolves 0.40.2, so no manifest or lockfile changes. Remove the hold when mesh-llm moves to rusqlite 0.41 or later and Buzz follows. Signed-off-by: Matt Toohey <contact@matttoohey.com> Co-Authored-By: Claude Fable 5.2 <noreply@anthropic.com>
kazemek21
left a comment
There was a problem hiding this comment.
I reviewed the PR and went through the Nexus review-tracker notes. I didn't see any P2-or-higher issues in this change.
Posted by Codex (gpt-6.1-sol) on behalf of kylez
wesbillman
left a comment
There was a problem hiding this comment.
🤖 Star Lord’s automated source review via Wes’s account.
No actionable findings at head 4c8c9a0910e295fccc7e0d4403e5297204868635 against target/merge-base 7f03764beb8eb0ddcb4ff9ec0b8bda3e07699716.
The six-line rule targets Cargo’s rusqlite dependency and excludes 0.41+ while preserving 0.40 patch updates. It agrees with Buzz’s direct 0.40 requirement and the pinned mesh-llm log store; the manifests, lockfile and existing advisory exception are unchanged. The documented removal condition correctly couples lifting the hold to moving Buzz’s mesh-llm pin. The PR description and public diff were also inspected.
Source-only review: no validator, dependency resolution, builds, tests or app were run. The author’s validator result was not independently reproduced, and Renovate’s hosted application of this rule remains unobserved. This review does not establish that #873 will pass its other checks.
Why
This PR exists because of the Renovate PR #873, "fix(deps): update all non-major dependencies". That PR bumps
rusqlitefrom 0.40 to 0.41 insrc-tauri/Cargo.toml, and the bump cannot resolve:5d19ca6, set insrc/bundled/mesh-compute/compute/Cargo.toml) includesmesh-llm-log-store, which requiresrusqlite = "0.40".rusqlite0.40 depends onlibsqlite3-sys0.38 andrusqlite0.41 depends onlibsqlite3-sys0.39. Both link the nativesqlite3library, and Cargo allows only one such crate in a dependency graph.mainbranch still requiresrusqlite0.40 as of 13 November 2026, so there is no newer revision to move the pin to.Renovate could not regenerate
Cargo.lock, so #873 carries the 0.41 manifest with the 0.40.2 lockfile and a failingrenovate/artifactsstatus. ItsRust and tool integrationjob stops at dependency resolution:Renovate groups this bump as "minor", but Cargo treats a 0.x minor bump as breaking. Without a hold, Renovate will keep proposing it. It already lists 0.42.0 as pending.
mainalready records the constraint in two places: the comment above therusqliteline insrc-tauri/Cargo.toml, and theRUSTSEC-2026-0459entry indeny.toml. Renovate reads neither.What
Add one
packageRulesentry torenovate.jsonthat keeps the cargorusqlitedependency below 0.41. It sits beside the existinggtkandsha2holds and uses the same form.Nothing else changes.
src-tauri/Cargo.tomlalready declaresrusqlite0.40 onmainandCargo.lockresolves 0.40.2, so there is no manifest or lockfile diff.Why a separate PR
The hold cannot live on the Renovate branch, for two reasons:
useBaseBranchConfigis set, and this repository does not set it. Arenovate.jsonchange onrenovate/all-minor-patchhas no effect until it reachesmain.renovate[bot]commit that Renovate has force-pushed more than 1,300 times. Its docs say that pushing another author's commit to a Renovate branch makes Renovate stop updating it, and that a requested rebase regenerates the commit and discards the edits. A hold committed there would either freeze the grouped update or be thrown away.What happens to #873
After this merges, #873 will be behind
main. Renovate rebases that PR whenever it is behind its base, and it rebuilds the commit from the current config. The expected result is that therusqliterow drops out of #873 and the manifest returns to 0.40. If it does not happen on Renovate's next run, ticking the rebase/retry checkbox in the #873 description requests it.This PR does not make #873 green. #873 has a second, independent failure that this PR does not touch: it also updates Biome from 2.5.14 to 2.6.6, and all six
JavaScriptshards fail in the lint step because Biome 2.6 reports errors on the existing code. That needs its own change. Other updates in the group may also need attention once Cargo can resolve again.When to remove the hold
Remove the rule when mesh-llm moves to
rusqlite0.41 or later and Buzz's mesh-llm pin moves to that revision. That is the same conditiondeny.tomlgives for removing theRUSTSEC-2026-0459exception. Therusqlitebump, the pin bump, the comment insrc-tauri/Cargo.tomland thedeny.tomlentry should then change together.Risk
Low. The rule only limits what Renovate proposes and keeps the version
mainalready uses. The app, the build and CI do not readrenovate.json. The cost is thatrusqlitestays on 0.40 and the advisory exception already accepted indeny.tomlstays in place until mesh-llm moves.Validation
renovate-config-validator --strictfrom Renovate 44.227.4, run in the repository root, reportsConfig validated successfully against 1 file(s).matchPackageNameskey misspelled.mainisrenovate.jsononly, six added lines.Not verified: how Renovate itself applies the rule. That can only be observed on its first run after this merges. No app behavior changes, so there is nothing to exercise in the app.
Refs #873
🤖 Generated with Claude Code