Skip to content

GraphForge Roadmap

Last Updated: 2026-07-27 Current Version: 0.5.0


GraphForge v0.5.0 is an embedded openCypher engine with a Rust core, Apache Arrow results, and Parquet-backed projects. The public surface is Cypher plus seven analyst-intent verbs:

forge.execute(cypher) # openCypher → Arrow Table
forge.rank(label, by=...) # centrality, structural scoring → Arrow Table + score
forge.cluster(label, by=...) # community detection, components → Arrow Table + community_id
forge.paths(source, target, by=) # shortest paths, flow, reachability → Arrow Table
forge.analyze(label, by=) # spanning trees, DAG, coloring, matching, embeddings → Arrow Table
forge.similar(label, by=) # pairwise node similarity → Arrow Table
forge.find(query,) # text/vector/hybrid search → Arrow Table + score + matched_on

Full algorithm catalog: Algorithm Verbs

Architecture reference: Architecture Overview, Refactor notes

Architecture decisions: ADR 0001, ADR 0002

Status vocabulary (same as architecture docs): Shipped = implemented and tested on main; Partially built = some paths real, others stubbed; Designed = specified, not yet a complete public capability; Deferred = intentionally after v0.5.0.

Shipped capabilities (present tense — this is the product):

Capability Status What it is
Compiler + ontology + Graph IR + relational lowering Shipped openCypher path into DataFusion
Execution + adjacency index Shipped Parquet-backed execution; derived CSR adjacency under indexes/adjacency/ (ADR 0004)
Python + Node bindings Shipped Thin bindings over gf-api; Arrow / IPC results
Conformance hardening Shipped openCypher TCK, fuzzing, and semantic gates
Analyst verbs Shipped rank / cluster / similar / paths / analyze → Arrow
Find / index Shipped find + index — text, vector, hybrid
Knowledge layer Shipped Immutable assertions, confidence, evidence, provenance, neutral algorithm runs
Epistemic model Shipped Append-only status, reasoning, supersession, hypotheses, optional valid time, resolved algorithm dispatch

Still open for the v0.5.0 publication close-out (human-authorized final close): cross-surface release readiness and the release aggregate. Swift + Kotlin UniFFI bindings remain deferred to v0.5.1.

Layer boundary notes: refactor-v0.5 §8.

Merge gates (required before merging to main)

Section titled “Merge gates (required before merging to main)”
  • Parser parity — RD+Pratt corpus + syntax goldens pass
  • openCypher TCK subset — agreed compliance threshold met
  • Ontology round-trips — load/validate/migrate stable
  • Arrow/IPC round-trips — data contract stable across shipped Rust, Python, and Node surfaces
  • Parquet provider — core semantics verified
  • Python + Node bindings — packaging and smoke tests pass
  • Observability — explain, query IDs, provenance IDs, structured errors
  • All seven analyst verbs — Arrow Tables, write-back, via/directed filters
  • forge.find() / forge.index() — lazy indexing, text + vector + hybrid

Language Mechanism Result Status
Python PyO3 + maturin pyarrow.Table Shipped (v0.5.0)
Node / TypeScript napi-rs Arrow IPC Buffer Shipped (v0.5.0)
Rust Native crate ExecutionResult Shipped (semantic owner)
Swift UniFFI Arrow IPC DataGraphForgeResult Deferred (v0.5.1)
Kotlin / JVM UniFFI Arrow IPC ByteArrayGraphForgeResult Deferred (v0.5.1)

GraphForge follows Semantic Versioning and is pre-v1.0. The 0.x series signals that the API is still maturing.

  • Patch (0.5.y): Bug fixes, small improvements, no intentional API breaks
  • Minor (0.x.0): New features; backwards-compatible where practical

v0.5.0 is the current public product line. A v1.0 release will happen when the API is stable enough to commit to long-term compatibility.