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
190 lines (188 loc) · 10.7 KB
/
Copy pathCargo.toml
File metadata and controls
190 lines (188 loc) · 10.7 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
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
[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",
# Outage perturbation-shape simulator — standalone zero-dep research crate.
# The applied companion to jc: supplies the genuine eigenvalue-perturbation
# result (Weyl/Davis-Kahan on the weighted Laplacian) that jc::weyl
# (equidistribution) is NOT, composed with a DC-power-flow/LODF cascade.
# Verify via `cargo test --manifest-path crates/perturbation-sim/Cargo.toml`.
"crates/perturbation-sim",
# Place/Residue golden-spiral codec — standalone, with a MANDATORY git dep on
# the AdaWorldAPI ndarray fork (the SIMD foundation). Verified via
# `cargo test --manifest-path crates/helix/Cargo.toml`.
"crates/helix",
# Aerial+ ARM-discovery transcode — standalone zero-dep proposer crate,
# verified via `cargo test --manifest-path crates/lance-graph-arm-discovery/Cargo.toml`.
# Kept out of the workspace so the nondeterministic autoencoder never
# enters the deterministic lance-graph compile path (determinism boundary).
"crates/lance-graph-arm-discovery",
# Quasicryth research transcode (Tacconelli 2026, arxiv 2603.14999) —
# standalone zero-dep research crate. Verifies the workspace's φ-substrate
# decisions (bgz17 17φ/11, helix golden-spiral, jc::weyl) against the
# reference algebra. Covers tilings + hierarchy + deep-position detection
# PLUS arithmetic coding + tokenization + codebook construction
# (FlatCodebook + CowRadixCodebook variants) + an end-to-end
# compress/decompress pipeline that round-trips under both variants.
# NOT byte-compatible with the upstream .qm56 output — simplifies the
# v5.6 multi-tier n-gram + LZMA-escape + word-LZ77 + per-context-model
# machinery to a single-tier unigram pipeline (see crate README).
# Verified via `cargo test --manifest-path crates/quasicryth-research/Cargo.toml`.
"crates/quasicryth-research",
# TurboQuant ANN index (Google arXiv 2504.19874) bridged onto the spine —
# standalone, path-deps the AdaWorldAPI turbovec + ndarray forks. Kept out
# of the main graph so turbovec's faer/statrs tree never enters the
# deterministic lance-graph compile path. Both scoring kernels (native
# nibble-LUT ADC + ndarray::simd::matmul_i8_to_i32 polyfill GEMM) compiled.
# Verify via `cargo test --manifest-path crates/lance-graph-turbovec/Cargo.toml`.
"crates/lance-graph-turbovec",
]
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.
#
# RESOLVED(A2/B2) 2026-05-31 — bumped Lance 6.0.0 → `=7.0.0` and LanceDB
# 0.29.0 → `=0.30.0` (lockstep across lance-graph, -benches, -callcenter,
# -catalog, -ontology, holograph, surreal_container; lance-arrow / -index /
# -linalg / -namespace move together). lancedb 0.30.0 transitively pins lance
# `=7.0.0`, so the strict-equals lockstep is satisfied. This SUPERSEDES the
# 6.0.1 BLOCKED note above — that path was always dead: no lancedb release ever
# pinned lance =6.0.1 (0.29.0 → 6.0.0, then 0.30.0 → 7.0.0, skipping 6.0.1).
# arrow stays 58, datafusion stays 53 (lance 7 + lancedb 0.30 keep ^58 / ^53).
# The one transitive move is object_store 0.12 → 0.13, which ALIGNS with the
# AdaWorldAPI/surrealdb fork (its workspace `object_store = "0.13.0"`): lance
# 6's object_store 0.12 conflicted with surrealdb's 0.13; lance 7's 0.13 does
# not. CAVEAT: surrealdb-core's `kv-lance` feature STILL pins lance/lance-index
# `=6.0.0` + lancedb `=0.29.0` — that fork needs the SAME 7.0.0/0.30.0 bump
# before kv-lance can wire against this workspace (see BLOCKED(C) below).
# API-level compile against the lance-7 Rust surface is UNVERIFIED here
# (disk-limited sandbox); CI in a disk-ample env is the gate.
#
# 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 = "=7.0.0" (lance-arrow / lance-index / lance-linalg /
# lance-namespace bump in lock-step)
# lancedb = "=0.30.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" }