forked from lance-format/lance-graph
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathCargo.toml
More file actions
139 lines (137 loc) · 7.15 KB
/
Copy pathCargo.toml
File metadata and controls
139 lines (137 loc) · 7.15 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
[workspace]
members = [
"crates/lance-graph",
"crates/lance-graph-catalog",
"crates/lance-graph-benches",
"crates/lance-graph-planner",
"crates/lance-graph-contract",
"crates/neural-debug",
"crates/lance-graph-callcenter",
"crates/lance-graph-archetype",
"crates/lance-graph-rbac",
"crates/lance-graph-ontology",
"crates/bgz-tensor",
"tools/dto-class-check",
"crates/lance-graph-consumer-conformance",
# PR-G2 (TD-RACTOR-SUPERVISOR-5): ractor-supervised callcenter actor tree
"crates/lance-graph-supervisor",
"crates/sigma-tier-router",
# TD-SHADER-DRIVER-WORKSPACE-CONFLICT-1: moved from exclude to members
"crates/cognitive-shader-driver",
# 01-deps-substrate: embedded SurrealDB-on-Lance cognitive store
"crates/surreal_container",
]
exclude = [
# Python bindings (upstream-inherited, opt-in via --manifest-path)
"crates/lance-graph-python",
"crates/lance-graph-codec-research",
"crates/bgz17",
"crates/deepnsm",
"crates/lance-graph-osint",
"crates/reader-lm",
"crates/bge-m3",
"crates/p64-bridge",
"crates/causal-edge",
"crates/highheelbgz",
"crates/thinking-engine",
"crates/holograph",
"crates/lance-graph-cognitive",
"crates/learning",
"crates/jc",
"crates/sigker",
]
resolver = "2"
# ─── Workspace-level dependency pins ────────────────────────────────────────
#
# Task 01 (deps_substrate) — Lance 6 / LanceDB 0.29 / surrealdb kv-lance
#
# RESOLVED(A) 2026-05-28 — Lance pinned to `=6.0.0` across all crate Cargo.tomls
# (lance-graph, lance-graph-benches, lance-graph-callcenter, lance-graph-catalog,
# lance-graph-ontology, holograph, surreal_container; lance-arrow + lance-index
# + lance-linalg + lance-namespace bump in lock-step). #423's coordinated
# 4 → 6 jump landed at 6.0.0.
#
# The user authorised a follow-on patch 6.0.0 → 6.0.1, but it is **CURRENTLY
# BLOCKED by lancedb 0.29.0's transitive `lance = "=6.0.0"` requirement**:
# lancedb 0.29.0 is the latest 0.29.x published on crates.io and pins lance
# to exact-equals 6.0.0. Cargo cannot satisfy both `lance = "=6.0.1"` (our
# pin) and lancedb's transitive `lance = "=6.0.0"`. Resolution path: wait
# for lancedb 0.29.1+ that bumps the lance pin, OR drop the strict-equals
# pin in lance-graph (doctrine change). Tracked as TD-LANCE-6.0.1-PIN.
#
# RESOLVED(B) 2026-05-28 — LanceDB pinned to `=0.29.0` (the latest 0.29 patch);
# transitively pins lance =6.x, datafusion 53, arrow 58.
#
# BLOCKED(D) STILL OPEN — codex P2 correction on PR #425 (2026-05-28).
# The earlier RESOLVED(D) claim was FALSE: there is no `[patch.crates-io]`
# block in this workspace root (`git grep '\[patch'` on this commit finds
# only this comment), and `Cargo.lock` continues to resolve `ndarray 0.16.1`
# from `registry+https://github.com/rust-lang/crates.io-index` (verified via
# `cargo tree -i ndarray@0.16.1` → lance-index 6.0.0 → lance 6.0.0).
#
# Technical reality:
# - The AdaWorldAPI/ndarray fork is at `version = "0.17.2"` (see
# `/home/user/ndarray/Cargo.toml`); no 0.16-line branch / tag exists
# (verified: only `master` + working branch, both at 0.17.2).
# - `lance-index 6.0.0` pins `ndarray = "0.16.1"` (features =
# `["matrixmultiply-threading"]`) in its registry manifest.
# - A `[patch.crates-io] ndarray = { git = "https://github.com/adaworldapi/ndarray.git" }`
# to the 0.17.2 fork would NOT satisfy lance-index's 0.16 requirement —
# cargo would emit `"warning: Patch ndarray v0.17.2 ... was not used in
# the crate graph"`. The semver gap defeats a fork-by-git patch.
#
# What IS wired to the fork: the workspace's DIRECT ndarray dep
# (`ndarray = { path = "../../../ndarray" }` declared by lance-graph's own
# `crates/lance-graph/Cargo.toml`) — `Cargo.lock` lists `ndarray 0.17.2` as
# a separate entry from the local source. So the fork IS reachable for
# workspace-direct consumers. Only the lance TRANSITIVE remains on the
# crates.io 0.16.1.
#
# Attempted resolution (2026-05-28, user directive "just use [patch] to
# overwrite ndarray = 0.16 with 0.17.2"): the `[patch.crates-io]` block
# below points `ndarray` at the AdaWorldAPI fork. Cargo's `[patch]` does
# NOT force a version downgrade — if the fork's `0.17.2` doesn't semver-
# match lance-index's `0.16.1` requirement, cargo emits the warning
# `"Patch ndarray v0.17.2 ... was not used in the crate graph"` and the
# transitive continues to resolve to crates.io 0.16.1 in `Cargo.lock`.
# This patch is therefore a DECLARED INTENT (not a guaranteed effect):
# - It DOES wire workspace-direct ndarray consumers to the fork
# (already wired via the path dep in lance-graph's own Cargo.toml).
# - It DOES NOT guarantee the lance transitive switches off crates.io
# until upstream lance-index supports ndarray 0.17 OR the fork ships
# a `0.16.x`-versioned branch (see TD-NDARRAY-PATCH-0_16).
# Cross-ref: TECH_DEBT.md TD-NDARRAY-PATCH-0_16; PR #425 codex review.
#
# STILL OPEN — BLOCKED(C): `surrealdb` with `kv-lance` feature.
# Upstream surrealdb (crates.io) does NOT ship a `kv-lance` feature. This
# feature lives in the AdaWorldAPI fork (core/src/kvs/lance/ per
# cognitive-substrate.md). A fork-access human must supply:
# - the git URL of the fork (e.g. https://github.com/AdaWorldAPI/surrealdb)
# - the branch or tag to pin (e.g. `branch = "kv-lance-v2"`)
# - the exact feature flag name (confirmed: `kv-lance` from spec)
# - whether a published crate path or `[patch.crates-io]` override is
# required for workspace compilation.
# Until resolved, surreal_container's `surrealdb` dep stays commented out.
#
# Crate-level pins (canonical source of truth — workspace.dependencies is not
# used; each consumer crate declares its own pin with exact-equals so the
# whole graph resolves to the same semver):
# lance = "=6.0.0" (lance-arrow / lance-index / lance-linalg /
# lance-namespace bump in lock-step)
# lancedb = "=0.29.0"
# datafusion = "53" (+ datafusion-common / -expr / -sql /
# -functions-aggregate)
# arrow-array = "58" (+ arrow-schema / -buffer / -ipc / arrow)
# ─── [patch.crates-io] — point ndarray at the AdaWorldAPI fork ──────────────
#
# Per user directive 2026-05-28 ("don't use crates.io; try [patch]
# github.com/adaworldapi/ndarray.git or adjacent" → "just use [patch] to
# overwrite ndarray = 0.16 with 0.17.2"). The fork's `0.17.2` will:
# - Satisfy workspace-direct consumers (already wired via path dep).
# - Emit `"Patch ndarray v0.17.2 ... was not used in the crate graph"`
# against lance-index's `ndarray = "0.16.1"` until lance-index 0.17-
# compat lands OR a 0.16-line branch is added to the fork.
# The patch is a declared-intent override; effect on the transitive depends
# on semver compat. See BLOCKED(D) comment above + TD-NDARRAY-PATCH-0_16.
[patch.crates-io]
ndarray = { git = "https://github.com/AdaWorldAPI/ndarray.git", branch = "master" }