Skip to content
Merged
Show file tree
Hide file tree
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2,898 changes: 2,002 additions & 896 deletions Cargo.lock

Large diffs are not rendered by default.

12 changes: 6 additions & 6 deletions crates/holograph/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -26,16 +26,16 @@ full = ["simd", "parallel", "datafusion-storage", "lancedb", "ffi"]
# 10K = 1256 bytes (157 words)
# 16K = 2048 bytes (256 words)
# 32K = 4096 bytes (512 words, 3D holographic)
arrow = { version = "57", features = ["ffi"], optional = true }
arrow-array = "57"
arrow-schema = "57"
arrow-buffer = "57"
arrow = { version = "58", features = ["ffi"], optional = true }
arrow-array = "58"
arrow-schema = "58"
arrow-buffer = "58"

# Query engine — DataFusion 52
datafusion = { version = "52", optional = true }
datafusion = { version = "53", optional = true }

# Lance columnar format — 100x faster random access than Parquet
lance = { version = "=4.0.0", optional = true, default-features = false }
lance = { version = "=6.0.0", optional = true, default-features = false }

# Async runtime
tokio = { version = "1.49", features = ["rt-multi-thread", "macros"], optional = true }
Expand Down
2 changes: 1 addition & 1 deletion crates/lance-graph-archetype/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ lance-graph-contract = { path = "../lance-graph-contract" }
# workspace has no shared [workspace.dependencies] table today; using
# explicit versions consistent with the rest of the codebase (arrow 57,
# thiserror 2). See PR description for the single-line deviation.
arrow = "57"
arrow = "58"
thiserror = "2"

[dev-dependencies]
Expand Down
6 changes: 3 additions & 3 deletions crates/lance-graph-benches/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -7,9 +7,9 @@ description = "Benchmarks for lance-graph (not published)"

[dependencies]
lance-graph = { path = "../lance-graph", version = "0.5.3" }
lance = "=4.0.0"
arrow-array = "57"
arrow-schema = "57"
lance = "=6.0.0"
arrow-array = "58"
arrow-schema = "58"
criterion = { version = "0.5", features = ["async", "async_tokio", "html_reports"] }
futures = "0.3"
tempfile = "3"
Expand Down
13 changes: 8 additions & 5 deletions crates/lance-graph-callcenter/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -24,15 +24,17 @@ lance-graph-rbac = { path = "../lance-graph-rbac" }
thiserror = "1"

# [persist] — Arrow RecordBatch + Lance dataset ops
arrow = { version = "57", optional = true }
lance = { version = "=4.0.0", optional = true }
# arrow bumped to 58 to match lance 6.0's transitive arrow version.
# TODO(lance-bump): align rest of workspace on arrow 58 once feasible.
arrow = { version = "58", optional = true }
lance = { version = "=6.0.0", optional = true }

# [query] / [query-lite] — DataFusion. Base dep has default-features = false.
# The full `query` feature adds datafusion/default (compression backends etc).
# The `query-lite` feature gets logical plan + optimizer without compression,
# avoiding the xz2/liblzma `links = "lzma"` collision (lance v2 era; may be
# resolved with lance 4 + datafusion 52 — verify and remove if so).
datafusion = { version = "52", optional = true, default-features = false, features = ["unicode_expressions"] }
datafusion = { version = "53", optional = true, default-features = false, features = ["unicode_expressions"] }

# [realtime] — version watcher, Phoenix channel shapes, WebSocket
tokio = { version = "1", features = ["sync", "rt-multi-thread", "macros", "time"], optional = true }
Expand All @@ -46,8 +48,9 @@ chrono = { version = "0.4", features = ["serde"], optional = true }
flate2 = { version = "1", optional = true }

# [lance-sink] — LanceAuditSink: arrow-array + arrow-schema + lance + tokio runtime
arrow-array = { version = "57", optional = true }
arrow-schema = { version = "57", optional = true }
# TODO(lance-bump): arrow-array/arrow-schema bumped to 58 for lance 6.0 compat.
arrow-array = { version = "58", optional = true }
arrow-schema = { version = "58", optional = true }

# verify binary — clap (only needed when building the bin)
clap = { version = "4", features = ["derive"], optional = true }
Expand Down
6 changes: 3 additions & 3 deletions crates/lance-graph-catalog/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -11,10 +11,10 @@ keywords = ["lance", "graph", "catalog", "namespace"]
categories = ["database", "data-structures", "science"]

[dependencies]
arrow-schema = "57"
arrow-schema = "58"
async-trait = "0.1"
datafusion = { version = "52", default-features = false }
lance-namespace = "=4.0.0"
datafusion = { version = "53", default-features = false }
lance-namespace = "=6.0.0"
reqwest = { version = "0.12", features = ["json"], optional = true }
serde = { version = "1", features = ["derive"] }
serde_json = "1"
Expand Down
10 changes: 6 additions & 4 deletions crates/lance-graph-ontology/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -43,10 +43,12 @@ sha2 = "0.10"
# Lance-backed dictionary cache is feature-gated so the crate compiles without
# protoc (lance-encoding's build-time dep). The default in-memory registry is
# the canonical surface for tests and consumers that don't need persistence.
lance = { version = "=4.0.0", optional = true }
arrow = { version = "57", optional = true }
arrow-array = { version = "57", optional = true }
arrow-schema = { version = "57", optional = true }
lance = { version = "=6.0.0", optional = true }
# arrow bumped to 58 to match lance 6.0's transitive arrow version.
# TODO(lance-bump): align rest of workspace on arrow 58 once feasible.
arrow = { version = "58", optional = true }
arrow-array = { version = "58", optional = true }
arrow-schema = { version = "58", optional = true }
tokio = { version = "1", default-features = false, features = ["rt", "macros", "fs"], optional = true }
futures = { version = "0.3", optional = true }

Expand Down
8 changes: 4 additions & 4 deletions crates/lance-graph-python/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -10,10 +10,10 @@ name = "_internal"
crate-type = ["cdylib"]

[dependencies]
arrow = { version = "57", features = ["pyarrow"] }
arrow-array = "57"
arrow-schema = "57"
arrow-ipc = "57"
arrow = { version = "58", features = ["pyarrow"] }

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 Badge Align Python bindings' DataFusion with Arrow 58

The Python extension now constructs Arrow 58 RecordBatch/Schema values, but its datafusion dependency remains pinned to 51 while graph.rs feeds those batches into MemTable::try_new and passes a SessionContext into lance-graph APIs that now use DataFusion 53. In an opt-in maturin develop/Python build this leaves two incompatible DataFusion/Arrow type universes in the same crate, so the extension will fail to compile; bump this dependency alongside the Arrow/Lance bump.

Useful? React with 👍 / 👎.

arrow-array = "58"
arrow-schema = "58"
arrow-ipc = "58"
datafusion = { version = "51", default-features = false }
Comment thread
coderabbitai[bot] marked this conversation as resolved.
Outdated
futures = "0.3"
lance-graph = { path = "../lance-graph" }
Expand Down
30 changes: 16 additions & 14 deletions crates/lance-graph/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -11,12 +11,14 @@ keywords = ["lance", "graph", "cypher", "query", "datafusion"]
categories = ["database", "data-structures", "science"]

[dependencies]
arrow = { version = "57", features = ["prettyprint"] }
arrow-array = "57"
arrow-schema = "57"
# arrow + datafusion bumped to 58 + 53 to align with lance 6.0's transitive versions.
# TODO(lance-bump): downstream crates may need follow-up to align.
arrow = { version = "58", features = ["prettyprint"] }
arrow-array = "58"
arrow-schema = "58"
chrono = "0.4"
async-trait = "0.1"
datafusion = { version = "52", default-features = false, features = [
datafusion = { version = "53", default-features = false, features = [

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P1 Badge Keep Delta Lake on the same DataFusion major

With the default delta feature enabled, this crate still pulls deltalake = 0.31 with its datafusion feature, and the regenerated lock shows deltalake-core still depends on datafusion 52.5.0 / Arrow 57. DeltaTableReader creates a deltalake::delta_datafusion::DeltaTableProvider and passes it to the crate's SessionContext; after this bump that context is DataFusion 53, so the provider implements the wrong TableProvider trait and default builds using Delta support will fail to type-check. Either bump deltalake to a DataFusion-53-compatible release or disable/remove the Delta reader until it can be aligned.

Useful? React with 👍 / 👎.

"nested_expressions",
"regex_expressions",
"unicode_expressions",
Expand All @@ -26,17 +28,17 @@ datafusion = { version = "52", default-features = false, features = [
"string_expressions",
"parquet",
] }
datafusion-common = "52"
datafusion-expr = "52"
datafusion-sql = "52"
datafusion-functions-aggregate = "52"
datafusion-common = "53"
datafusion-expr = "53"
datafusion-sql = "53"
datafusion-functions-aggregate = "53"
futures = "0.3"
lance-graph-catalog = { path = "../lance-graph-catalog", version = "0.5.4" }
lance-graph-contract = { path = "../lance-graph-contract" }
lance = "=4.0.0"
lance-linalg = "=4.0.0"
lance-namespace = "=4.0.0"
lancedb = { version = "=0.27.2", optional = true, default-features = false }
lance = "=6.0.0"
lance-linalg = "=6.0.0"
lance-namespace = "=6.0.0"
lancedb = { version = "=0.29.0", optional = true, default-features = false }
nom = "7.1"
serde = { version = "1", features = ["derive"] }
serde_json = "1"
Expand Down Expand Up @@ -83,8 +85,8 @@ tensor-codec = ["dep:bgz-tensor"]

[dev-dependencies]
futures = "0.3"
lance-arrow = "=4.0.0"
lance-index = "=4.0.0"
lance-arrow = "=6.0.0"
lance-index = "=6.0.0"
tempfile = "3"
tokio = { version = "1.37", features = ["macros", "rt-multi-thread"] }
causal-edge = { path = "../causal-edge" }
Expand Down
6 changes: 3 additions & 3 deletions crates/surreal_container/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -37,11 +37,11 @@ Depends on task 01 (deps_substrate) being resolved before compiling.
# ── BLOCKED(A)/(B): lance / lancedb version pins ─────────────────────────────
# These are the storage-engine crates the kv-lance backend talks to directly.
# Lance 6 is specified in the task but not yet confirmed as a published semver.
# Current workspace uses lance = "=4.0.0" / lancedb = "=0.27.2".
# Current workspace uses lance = "=6.0.0" / lancedb = "=0.29.0".
# Do NOT change these pins until BLOCKED(A) and BLOCKED(B) are resolved by a
# fork-access human who can confirm the exact crate versions and API surface.
lance = "=4.0.0" # BLOCKED(A): bump to Lance 6 once version confirmed
lancedb = { version = "=0.27.2", optional = true, default-features = false } # BLOCKED(B): bump to 0.28
lance = "=6.0.0" # BLOCKED(A): bump to Lance 6 once version confirmed
lancedb = { version = "=0.29.0", optional = true, default-features = false } # BLOCKED(B): bump to 0.28

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🟠 Major | ⚡ Quick win

🧩 Analysis chain

🏁 Script executed:

#!/bin/bash
# Description: Verify surreal_container builds and tests with Lance 6.0 dependencies
# Expected: Build succeeds (or fails with known BLOCKED surrealdb dependency issue)

cargo test --manifest-path crates/surreal_container/Cargo.toml

Repository: AdaWorldAPI/lance-graph

Length of output: 640


🏁 Script executed:

#!/bin/bash
set -euo pipefail

echo "== Find ndarray references in Cargo manifests =="
rg -n --hidden --glob='**/Cargo.toml' 'ndarray' .

echo
echo "== Show workspace Cargo.toml dependency entry for ndarray if present =="
if [ -f Cargo.toml ]; then
  rg -n --hidden 'ndarray' Cargo.toml || true
  echo
  echo "---- Root Cargo.toml (around ndarray) ----"
  awk '
    BEGIN{found=0}
    /ndarray/ {found=1}
    {print NR ":" $0}
    found && NR>0 { if(found && NR>0){} }
  ' Cargo.toml | head -n 120 || true
fi

echo
echo "== Show manifest paths for crates/lance-graph dependency bgz-tensor if present =="
if [ -f crates/lance-graph/Cargo.toml ]; then
  rg -n --hidden 'bgz-tensor' crates/lance-graph/Cargo.toml
  echo
  echo "---- crates/lance-graph/Cargo.toml (around bgz-tensor) ----"
  awk '{
    if($0 ~ /bgz-tensor/){start=NR-20; if(start<1) start=1}
    if(NR>=start && NR<=start+80) print NR ":" $0
  }' crates/lance-graph/Cargo.toml || true
fi

Repository: AdaWorldAPI/lance-graph

Length of output: 13587


cargo test for crates/surreal_container fails to load due to missing ndarray path dep

  • cargo test --manifest-path crates/surreal_container/Cargo.toml exits 101 because the workspace can’t read ndarray (failed to read .../ndarray/Cargo.toml: No such file or directory).
  • The workspace uses a path dependency to the AdaWorldAPI fork (ndarray = { path = "../../../ndarray", ... }), so the ../../../ndarray directory must be present (e.g., submodule/fork checkout or dependency wiring) before the Lance 6.0 / LanceDB 0.29 bump can be tested.
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@crates/surreal_container/Cargo.toml` around lines 43 - 44, The workspace test
fails because the crate relies on a path dependency named `ndarray` (referenced
by the `ndarray = { path = "../../../ndarray", ... }` entry) that isn’t present,
so before running cargo test for `crates/surreal_container` either ensure the
`../../../ndarray` directory is available (e.g., checkout or init the
submodule/fork) or change the dependency to the published crate by replacing the
path override with a versioned dependency in the manifest; locate the `ndarray`
dependency entry referenced by `crates/surreal_container/Cargo.toml` (or the
workspace override) and either populate the path or switch to `ndarray =
"<appropriate_version>"` so the workspace can resolve the dependency.

Comment thread
coderabbitai[bot] marked this conversation as resolved.
Outdated

# Runtime support (not blocked — these are well-known, confirmed versions)
tokio = { version = "1", features = ["rt-multi-thread", "macros"] }
Expand Down
Loading