Roadmap

Building the Complete Graph Database

Anvil is built phase by phase with full test coverage at every step. Track our progress across 984 planned tasks.
756 of 984 tasks77%
21 Complete2 In Progress2 Planned
0

Project Scaffolding

Complete
8/8
Rust workspace with Cargo
React Router 7 browser app
CI pipeline (clippy, test, fmt)
Rust edition 2024, MSRV pinned
1

Core Graph Data Model

Complete
33/33
Primitive TypesNodeId, RelationshipId, LabelId, PropertyValue enum
Graph EntitiesNode, Relationship, Path structs
Schema & ConstraintsUnique, existence, composite key constraints
Graph APIFull CRUD trait with traversals and statistics
2

Storage Engine

Complete
30/30
Page-Based StoreFixed-size pages, LRU cache, mmap option
Record StoresNode, relationship, property, string, array stores
ID AllocationSequential with free-list recycling
Write-Ahead LogSegmented WAL, fsync, crash recovery, checkpointing
File Layoutgraph.db, properties.db, WAL directory, lock file
3

Indexing

Complete
19/19
B+ TreeOn-disk, range scans, bulk loading, concurrent access
Index TypesUnique, composite, full-text (BM25), spatial (R-tree)
Index ManagementCREATE/DROP INDEX, automatic maintenance
4

Transaction Engine

Complete
17/17
Transaction ManagerBegin/commit/rollback, savepoints
Concurrency ControlMVCC, 3 isolation levels, deadlock detection
RecoveryARIES-style redo/undo, WAL replay
Garbage CollectionVersion chain pruning
5

Cypher Query Language

Complete
78/78
Lexer40+ token types, Unicode, nested comments
ParserFull grammar: MATCH, CREATE, MERGE, DELETE, SET, WITH, UNWIND, FOREACH, CALL, UNION
Semantic AnalysisVariable scoping, type inference
Built-in Functions30+ functions: aggregation, scalar, string, math, list, path
Query PlannerCost-based optimizer, index selection, join ordering
Query ExecutorVolcano model, 25+ operators, multi-hop BFS, ALL SHORTEST
6

GraphQL API

Complete
36/36
Schema GenerationAuto-generated from graph, Relay connections
Queries & MutationsFiltering, ordering, pagination, nested traversals
SubscriptionsReal-time via graphql-transport-ws
Cypher PassthroughRaw Cypher via GraphQL
7

Server

Complete
39/39
HTTP ServerAxum/Tokio, CORS, REST + GraphQL + WebSocket
AuthenticationJWT RS256, JWKS, Argon2id, per-request sessions
ConfigurationTOML config, env vars, CLI flags, system path detection
Multi-DatabaseSchema isolation, database routing
8

CLI

Complete
20/20
Server Managementstart/stop/status, daemon mode, log file
Interactive ShellCypher REPL, history, parameter binding
Data OperationsImport Cypher scripts, config init
9

Hammer UI

Complete
65/65
Query EditorCypher highlighting, table/JSON/graph/plan views
Graph VisualizationForce-directed, focus mode, lasso, minimap, export
Schema BrowserLabels, types, keys, indexes, schema dropdown
Document ManagerCollection CRUD, sync rules, schema-filtered
Admin PanelUser/role management, event log, alerts (admin-only)
Data ImportCypher script upload with creation counts
Role-Based AccessAdmin-only nav, schema protection, JWT roles
10

Graph Algorithms

Complete
16/16
CentralityPageRank, betweenness, closeness, degree
PathfindingDijkstra, A*, BFS/DFS, ALL SHORTEST
Community DetectionLouvain, label propagation, connected components
OtherMST, triangle counting, node similarity
11

Performance & Scalability

Complete
19/19
Query PerformancePlan caching, result caching, parallel operators
Storage PerformanceLZ4/Zstd compression, tiered storage
BenchmarkingCriterion benchmarks, LDBC SNB workload
12

Operations & Reliability

Complete
13/13
Backup & RestoreOnline snapshots, incremental, point-in-time
ObservabilityPrometheus metrics, structured logging, OpenTelemetry
Data IntegrityCRC32 checksums, consistency checks
13

Clustering & Replication

Complete
7/7
Raft ConsensusLeader election, log replication
WAL StreamingLeader-follower replication, read replicas
ShardingHash/label-based, rolling upgrades
14

Ecosystem

Complete
22/22
Client DriversRust, TypeScript, Python, Go
Migration ToolingNeo4j Cypher dumps, CSV, GraphML
DocumentationmdBook site, API docs, tutorials
Testing2,230+ tests across 13 crates
15

Plugin System

Complete
98/98
Plugin FrameworkRust + Lua/Python/WASM/JS/TS/Starlark, sandboxed, hot-reload
APOC Library55 built-in functions: geo, text, collections, math, date
16

Native Document Store

Complete
57/57
Document ModelSchema-namespaced collections, composite keys, TTL
Query APIFilters, batch ops, paginated scan, REST endpoints
Graph-Document SyncBidirectional rules, conflict resolution, INCLUDE clause
Storage ModesUnified, split, shared/separate WAL
17

Row-Level Security

Complete
48/48
Policy DDLCREATE/DROP POLICY, ENABLE/DISABLE/FORCE RLS
Predicatescurrent_user(), current_roles(), session()
Sync PairsLabel policies auto-protect paired collections
Schema ProtectionLabel reservation, cross-schema mutation blocking
18

Database Functions

Complete
33/33
Function DDLCREATE/DROP/SHOW, typed parameters, defaults
ExecutionCALL...YIELD, inline in expressions, body caching
Hammer UICreate/edit/delete, test panel, call log
19

Triggers

Complete
39/39
Trigger DDLCREATE/DROP/ENABLE/DISABLE, priority ordering
Event TypesBEFORE/AFTER on INSERT/UPDATE/DELETE
Trigger BodyOLD/NEW variables, RAISE, cascade detection
Hammer UIManagement, activity log, dependency analysis
20

Observability

Complete
46/46
Event LogRing buffer with configurable retention
Query Analyticsp95/p99 latency, slow query detection
AlertsConfigurable rules, error rate thresholds
Dependency AnalysisTrigger cascades, function calls, sync interactions
21

Data Import & Export

In Progress
7/57
Cypher Script ImportCLI, REST, browser UI, Neo4j-compatible
CSV ImportHeader mapping, type inference, batch loading
JSON ImportNested document to graph mapping
GraphML ImportStandard graph interchange format
ExportCypher dump, CSV, JSON, GraphML
Example DatasetsMovies, social network, recommendations
22

Edge Functions

In Progress
6/64
Function RuntimeDeno/Node.js subprocess, HTTP triggers
Deployment & ManagementVersioning, rollback, resource limits
Database AccessGraph/document queries from function context
SecretsEncrypted environment variables
Local DevelopmentHot reload, debug logging, test harness
Hammer UIEditor, logs, deployment status
23

Hooks

Planned
0/44
Hook DefinitionCREATE/DROP/ENABLE/DISABLE HOOK DDL
System EventsON SERVER START/SHUTDOWN, CONNECT/DISCONNECT, SCHEMA CHANGE
Scheduled HooksCron expressions, distributed lock
Webhook IntegrationHTTP POST, retry policy, signature verification
Hammer UIHook management, execution history
24

Bolt Protocol

Planned
0/76
PackStream SerializationBinary encode/decode for all Cypher types
Chunked TransportTCP framing with Tokio async
Bolt HandshakeVersion negotiation (v4.4/v5.0)
AuthenticationHELLO/LOGON, credential validation
Query ExecutionRUN/PULL/DISCARD streaming
TransactionsBEGIN/COMMIT/ROLLBACK, state machine
Driver CompatibilityOfficial Neo4j drivers (Python, JS, Java, Go)
TLS SupportOptional bolt+s://