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) andExactIndex— behind a singleIndexPort. - 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 throughWAL::insert_ex. - Native
place_document,seek_text,seek_hybrid,explain_seek. - Built-in local text embedder with automatic default provisioning for new databases.
MetadataIndexacceleration for equality and set-membership filters.- Segmented persistence with
elips.manifestplus per-vault segment files;compact()rebuilds indexes and rewrites segments. - Dynamic metadata and the
Filterpredicate 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. elipsCLI; PyBind11 Python bindings withpy.typed; benchmark suite.- Optional GPU index family behind
GpuPortwith a documented backend fallback chain.
Deferred (with v1.0 hooks)
| Future capability | v1.0 hook |
|---|---|
| Per-segment indexes + compaction | IndexPort; snapshot/WAL split per vault |
| Full MVCC version chains / Snapshot Isolation | Single-writer model + transaction buffer |
| Quantized indexes (PQ / OPQ / SQ), DiskANN | IndexPort + make_index factory |
| AVX2 / AVX-512 distance kernels | Function-pointer dispatch seam in Metrics |
| Columnar metadata, attribute B-trees, inverted / bloom | Filter over Payload today |
| Multi-reader shared locks beyond current model | LockManager seam |
| Multi-node replication / sharding | WAL is a logical, streamable log |
| Cloud object-storage adapters (S3 / GCS / Azure) | StoragePort adapter pattern |
| NumPy zero-copy ingestion, async/streaming C++ APIs | Binding + 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
efadaptively.
See design decisions for the ADRs that capture why these trade-offs were made.