fix(memory-lancedb): align apache arrow peer dependency#90407
fix(memory-lancedb): align apache arrow peer dependency#90407sahibzada-allahyar wants to merge 1 commit into
Conversation
Dependency GuardThis PR changes dependency-related files. Maintainers should confirm these changes are intentional. Changed files:
Maintainer follow-up:
|
Dependency graph changes are blockedOpenClaw does not accept dependency graph changes through PRs unless a repository admin or security explicitly authorizes the current head SHA. Dependency updates are generated internally by maintainers so external PRs cannot change the resolved graph. Detected dependency graph changes:
Auto-scrub was not attempted because this PR changes package manifest dependency graph fields:
Dependency graph changes must be reviewed by security or handled by maintainers internally. Please remove lockfile changes manually if they are not needed. To remove lockfile changes, restore them from the target branch: git fetch origin
git checkout 'origin/main' -- 'extensions/memory-lancedb/npm-shrinkwrap.json' 'pnpm-lock.yaml'
git commit -m 'chore: remove dependency lockfile change'
git pushIf this PR intentionally needs a dependency graph change, ask a repository admin or member of The action will approve the current head SHA ( |
|
This dependency graph change is intentional for #90295: @lancedb/[email protected] declares apache-arrow peer range >=15.0.0 <=18.1.0, while the current memory-lancedb package pinned [email protected] and npm 11 rejects the install. This PR pins apache-arrow to 18.1.0 and regenerates the plugin shrinkwrap with the repo generator.\n\nLocal proof run on this head:\n- npm view @lancedb/[email protected] peerDependencies --json -> { "apache-arrow": ">=15.0.0 <=18.1.0" }\n- pnpm install --frozen-lockfile -> already up to date\n- node scripts/generate-npm-shrinkwrap.mjs --check --package-dir extensions/memory-lancedb -> current\n- npm install --prefix --ignore-scripts ./extensions/memory-lancedb --package-lock-only -> up to date\n- pnpm test extensions/memory-lancedb --reporter=dot -> 134 passed\n- node scripts/run-vitest.mjs src/plugins/contracts/package-manifest.contract.test.ts src/plugins/contracts/extension-runtime-dependencies.contract.test.ts --reporter=dot -> 430 passed\n\nDependency Guard requires a repo admin/security approval for this head SHA if maintainers want this dependency repair via external PR. |
|
Codex review: needs maintainer review before merge. Reviewed June 30, 2026, 10:45 AM ET / 14:45 UTC. Summary PR surface: Source +14, Config 0, Other +2. Total +16 across 3 files. Reproducibility: yes. Source, shrinkwrap, root lockfile, latest published package metadata, and live LanceDB npm metadata show Arrow 21.1.0 outside LanceDB 0.30.0's accepted peer range; I did not run an install in this read-only review. Review metrics: 1 noteworthy metric.
Stored data model Root-cause cluster Members:
Proposal only: this assessment does not dispatch repair, suppress jobs, mutate sibling items, close, or merge anything. Merge readiness Overall follows the weaker of proof and patch quality, so missing proof can cap an otherwise strong patch. Rank-up moves:
Risk before merge
Maintainer options:
Next step before merge
Security Review detailsBest possible solution: Refresh or recreate the same dependency alignment from a trusted maintainer path, inspect the resolved graph, authorize the exact head SHA, then land and publish the repaired memory-lancedb package. Do we have a high-confidence way to reproduce the issue? Yes. Source, shrinkwrap, root lockfile, latest published package metadata, and live LanceDB npm metadata show Arrow 21.1.0 outside LanceDB 0.30.0's accepted peer range; I did not run an install in this read-only review. Is this the best way to solve the issue? Yes. Pinning Arrow to the top of LanceDB 0.30.0's accepted peer range is the narrowest package-contract repair; npm still reports LanceDB 0.30.0 as latest with the same peer range. AGENTS.md: found and applied where relevant. Codex review notes: model internal, reasoning high; reviewed against 6cb82eaab865. Label changesLabel justifications:
Evidence reviewedPR surface: Source +14, Config 0, Other +2. Total +16 across 3 files. View PR surface stats
Security concerns:
What I checked:
Likely related people:
What the crustacean ranks mean
Shiny media proof means a screenshot, video, or linked artifact directly shows the changed behavior. Runtime, network, CSP, and security claims still need visible diagnostics. How this review workflow works
|
|
Author-side follow-up: I do not think there is a code/test change to make here without undoing the fix. The dependency graph change is intentional for #90295, and ClawSweeper already marked proof and patch quality sufficient. Remaining blocker appears to be repository policy: dependency graph changes from an external PR need repo admin or secops approval for the current head SHA, or maintainers can choose to apply the same graph change internally from a trusted branch. I am leaving the branch unchanged pending that maintainer/security decision. |
|
Confirming this is an intentional dependency-graph change for #90295, and the proof gate is now green. Check status
Exact delta (small and mechanical)
The three files must change together: dropping the lockfile/shrinkwrap regeneration leaves To inspect the full resolved-graph delta: pnpm deps:changes:report -- --base-ref origin/main --markdown /tmp/dependency-changes.md --json /tmp/dependency-changes.jsonCould an admin or |
|
Adding live user-impact context from #90295. This is still affecting real installs after the
But I have now had to keep It also looks like this PR is not really waiting on the author anymore. The author has already confirmed the dependency graph change is intentional and that the remaining blocker is maintainer/security authorization for the dependency change, or for maintainers to apply the same fix from an internal branch. Could a maintainer either authorize this exact dependency fix or apply the equivalent trusted-branch fix and publish a repaired |
|
This PR only realigns The |
|
Thanks @sahibzada-allahyar. Your diagnosis and dependency-alignment patch were correct. Closing as superseded by #99118 and commit 968aa51. Current main now pins The currently published npm |
Summary
extensions/memory-lancedbfrom[email protected]to18.1.0, the highest version accepted by@lancedb/[email protected].npm-shrinkwrap.jsonwith the repo shrinkwrap generator (scripts/generate-npm-shrinkwrap.mjs) so published npm installs use consistent Arrow 18 transitive metadata.pnpm-lock.yamlto match the package manifest.Fixes #90295.
Real Behavior Proof
Behavior or issue addressed:
@openclaw/memory-lancedbcannot install under npm 11. Its manifest pinned[email protected], but@lancedb/[email protected]only acceptsapache-arrow >=15.0.0 <=18.1.0, so npm 11 peer resolution aborts withERESOLVE. This PR pinsapache-arrowto18.1.0(the top of the accepted range) and regenerates the plugin shrinkwrap and root lockfile to match.Real environment tested: Reproduced locally on macOS (arm64) against the live npm registry with npm 11.12.1 / Node v26 / pnpm 11.2.2 — the npm 11 / pnpm 11.2.2 line this repo targets. The two installs below use the real published
@lancedb/[email protected]package withapache-arrowat each version, isolating the exact peer constraint the manifest change resolves.Exact steps or command run after this patch:
Evidence after fix: Copied terminal output from the runs above.
Live peer contract from the registry (the version ceiling the fix targets):
Before —
[email protected](whatmaindeclares) is rejected by npm 11:After —
[email protected](what this PR declares) resolves cleanly:Observed result after fix: With
[email protected]npm 11 aborts (ERESOLVE, exit 1); with[email protected]it resolves the tree and exits 0. This matches the manifest change in this PR (extensions/memory-lancedb/package.json:apache-arrow21.1.0→18.1.0), so the regenerated graph installs under npm 11 wheremaindoes not.What was not tested: Runtime LanceDB query behavior on a physical device, and the full 152-project workspace frozen install — I isolated the peer constraint using the real published packages rather than installing the whole monorepo, and this change only realigns the declared dependency graph without modifying runtime code paths. The repo CI exercises the memory-lancedb suite and the package-manifest / extension-runtime-dependencies contract checks on this PR.
Limitations
This is a minimal dependency alignment for the current
@lancedb/[email protected]peer contract. A future LanceDB release that supports Arrow 21 can relax this pin separately.Dependency-graph guard
This PR intentionally changes the dependency graph (
extensions/memory-lancedb/package.jsondependencies, that package'snpm-shrinkwrap.json, and the rootpnpm-lock.yaml), so it is correctly held by the dependency-graph guard. The three files must change together: dropping the lockfile/shrinkwrap regeneration leavesapache-arrowmismatched against the manifest and a frozen install fails (ERR_PNPM_OUTDATED_LOCKFILE), so the lockfile changes are required, not incidental.Per the guard, this needs an admin or
@openclaw/openclaw-secopsreviewer to inspect the generated graph delta and authorize the current head SHA with/allow-dependencies-change.