Summary
The graph stack is feature-complete through v0.9.0 — graph-cjk, vector-index/TurboVec, graph-pool, graph-pg, qdrant, elastic, and federation all ship behind feature gates — but it is not performance-characterized, and its algorithmic surface is shallow. This issue tracks bringing the graph stack to production readiness for v1.0.0: published baselines, real algorithmic depth, and measured quality.
Why now
v1.0.0 locks the public API under semver. Before that lock, the graph stack needs three things it currently lacks: (1) published performance baselines, (2) the algorithmic depth users expect from a graph-capable dependency, and (3) at least one real-world integration to validate the design. It ships breadth (CJK search, ANN, WAL pool, multi-backend, federation) without measured guarantees — and with only BFS for traversal.
Current state (code evidence)
| Area |
State |
Evidence |
| Graph algorithms |
Shallow — BFS only |
src/graph/traversal.rs (206 LOC): graph_neighbors, related_nodes (recursive-CTE BFS), build_graph. No PageRank, community detection, shortest-path, connected components, node similarity, or centrality. |
| Benchmarks |
Exist, no baseline |
benches/graph_bench.rs, benches/compute_bench.rs present. ROADMAP v1.0.0 #3 "Performance baseline + CI regression detection" is not done. |
| Korean recall |
Implemented, unmeasured |
src/graph/cjk.rs (185 LOC, shipped v0.7.0). No quantified recall@k on a Korean corpus; quality vs trigram is asserted, not measured. |
| Concurrency |
Implemented, unproven |
src/graph/async_pool.rs (417 LOC, WAL pool). No contention benchmark under concurrent writes + reads. |
| Integration |
None yet |
No external project ships on the graph stack. |
Workstreams
Axis A — Benchmarks & baselines (gating)
Axis B — Scale ceiling
Axis C — Algorithmic depth (the gap vs. Neo4j/GDS)
Axis D — Recall quality
Axis E — Concurrency proof
Acceptance criteria
Non-goals
- Auto entity extraction (consumer concern, not the library's)
- Replacing a server graph DB for workloads that genuinely need GDS at scale
Related
- Strategy doc:
docs/research/graph_performance_strategy.md (commit bbcf7db)
- Prior research:
docs/research/fts5_cjk_alternatives.md, docs/research/roadmap_evaluation.md
Summary
The
graphstack is feature-complete through v0.9.0 —graph-cjk,vector-index/TurboVec,graph-pool,graph-pg,qdrant,elastic, andfederationall ship behind feature gates — but it is not performance-characterized, and its algorithmic surface is shallow. This issue tracks bringing the graph stack to production readiness for v1.0.0: published baselines, real algorithmic depth, and measured quality.Why now
v1.0.0 locks the public API under semver. Before that lock, the graph stack needs three things it currently lacks: (1) published performance baselines, (2) the algorithmic depth users expect from a graph-capable dependency, and (3) at least one real-world integration to validate the design. It ships breadth (CJK search, ANN, WAL pool, multi-backend, federation) without measured guarantees — and with only BFS for traversal.
Current state (code evidence)
src/graph/traversal.rs(206 LOC):graph_neighbors,related_nodes(recursive-CTE BFS),build_graph. No PageRank, community detection, shortest-path, connected components, node similarity, or centrality.benches/graph_bench.rs,benches/compute_bench.rspresent. ROADMAP v1.0.0 #3 "Performance baseline + CI regression detection" is not done.src/graph/cjk.rs(185 LOC, shipped v0.7.0). No quantified recall@k on a Korean corpus; quality vstrigramis asserted, not measured.src/graph/async_pool.rs(417 LOC, WAL pool). No contention benchmark under concurrent writes + reads.Workstreams
Axis A — Benchmarks & baselines (gating)
graph-cjkvstrigram), ANN (vector-indexvs brute-force), hybrid (searchRRF / CombMNZ)qdrant+elastic+ TurboVec)benches/graph_*into CI as a perf-regression gate (closes ROADMAP v1.0.0 docs(i18n): add 10-language README translations #3)Axis B — Scale ceiling
graph-pool(SQLite WAL) andPgGraphfrom ~10K to 1M nodesmigrate.rspays off)Axis C — Algorithmic depth (the gap vs. Neo4j/GDS)
Axis D — Recall quality
eval/eval-full)graph-cjkvstrigramfalse-positive reduction on a Korean corpusAxis E — Concurrency proof
async_pool.rscontention benchmark (concurrent writer + reader)Acceptance criteria
Non-goals
Related
docs/research/graph_performance_strategy.md(commitbbcf7db)docs/research/fts5_cjk_alternatives.md,docs/research/roadmap_evaluation.md