ELIPS is an open project. Patches that improve correctness, performance, or clarity are welcome — including documentation patches against this site.
The C++ core targets the C++ Core Guidelines. Domain code depends on ports (IndexPort, GpuPort,TextEmbedderPort), never on concrete engines. Backend headers stay inside their subsystem directory.
close() calls are a smell.enum class) with explicit underlying types where wire-stable.Vector, RecordID, Filter).override / final on every port implementation.cmake -S . -B build -G Ninja -DCMAKE_BUILD_TYPE=Release -DELIPS_BUILD_PYTHON=ON
cmake --build build -j
ctest --test-dir build --output-on-failure
PYTHONPATH=bindings/python python3 tests/python/test_bindings.pyThe test tree under tests/ covers core behaviour, concurrency (multi-reader and single-writer), integration with the local text embedder, and the Python binding surface. New features need at least one test, ideally in both C++ and Python.
main; keep the patch focused.ctest and the Python suite locally; CI runs both.docs/ in the same PR when surface changes.Releases follow semantic versioning. The release process is documented at docs/developer-guide/release-process.md in the repository: tag → build artifacts → publish Python wheel → update changelog.