elips/docs
Project

Roadmap

ELIPS v1.0 is a vertically complete embedded engine. The list of deferred items is intentional: each future capability has a v1.0 hook so it can land additively, without breaking the surface users build against today.

Shipped in v1.0

  • C++23 core with hexagonal layering and explicit C++ Core Guidelines alignment.
  • Metrics — cosine, euclidean, dot product — with NEON SIMD plus scalar dispatch.
  • Indexes — HierarchicalGraphIndex (HNSW) and ExactIndex — behind a single IndexPort.
  • Durable storage: IDENTITY, atomic snapshot, record-based WAL with CRC32C, deterministic crash recovery.
  • Single-writer advisory file locking; shared read-only opens for multi-reader serving.
  • Document-aware records — DocumentAttachment, ChunkInfo, EmbeddingLineage — persisted through WAL::insert_ex.
  • Native place_document, seek_text, seek_hybrid, explain_seek.
  • Built-in local text embedder with automatic default provisioning for new databases.
  • MetadataIndex acceleration for equality and set-membership filters.
  • Segmented persistence with elips.manifest plus per-vault segment files; compact() rebuilds indexes and rewrites segments.
  • Dynamic metadata and the Filter predicate engine, shared by the SDK builders and the EQL parser.
  • Atomic batched transactions with eager validation and RAII rollback.
  • EQL — lexer, recursive-descent parser, AST, executor — covering seek / fetch / scan / place / erase.
  • elips CLI; PyBind11 Python bindings with py.typed; benchmark suite.
  • Optional GPU index family behind GpuPort with a documented backend fallback chain.

Deferred (with v1.0 hooks)

Future capabilityv1.0 hook
Per-segment indexes + compactionIndexPort; snapshot/WAL split per vault
Full MVCC version chains / Snapshot IsolationSingle-writer model + transaction buffer
Quantized indexes (PQ / OPQ / SQ), DiskANNIndexPort + make_index factory
AVX2 / AVX-512 distance kernelsFunction-pointer dispatch seam in Metrics
Columnar metadata, attribute B-trees, inverted / bloomFilter over Payload today
Multi-reader shared locks beyond current modelLockManager seam
Multi-node replication / shardingWAL is a logical, streamable log
Cloud object-storage adapters (S3 / GCS / Azure)StoragePort adapter pattern
NumPy zero-copy ingestion, async/streaming C++ APIsBinding + SDK extension points
Cross-platform snapshot encoding (little-endian)Centralized Serialization

These items are not in v1.0 today. Do not treat them as available behaviour; they are recorded here so the design seams that make them additive stay visible to contributors.

Known v1.0 limitations

  • Snapshot serialization uses native byte order — single-machine use only.
  • Checkpoints rewrite the whole snapshot (O(N)).
  • Filtered ANN search post-filters an over-fetched candidate set rather than expanding ef adaptively.

See design decisions for the ADRs that capture why these trade-offs were made.