Summary
Base C ABI v1 exists as the repo-local, publish=false ordvec-ffi crate with include/ordvec.h. It covers loading persisted RankQuant and Bitmap indexes through opaque handles plus synchronous full/subset search. The Go wrapper (ordvec-go) sits on top of that surface.
This issue now tracks the next ABI layer: builder/add APIs for callers that need to construct indexes through C rather than loading persisted files.
Scope
- Add C ABI builders for supported index types.
- Add
add/ingest entry points with explicit validation and status codes.
- Preserve the existing panic boundary: no Rust panic crosses the C ABI.
- Define ownership/lifetime for any new buffers or handles.
- Update the Go wrapper after the C ABI v2 contract is pinned.
Notes
Keep this repo-local for now; ordvec-ffi remains publish = false for v0.3.0.
Summary
Base C ABI v1 exists as the repo-local, publish=false
ordvec-fficrate withinclude/ordvec.h. It covers loading persistedRankQuantandBitmapindexes through opaque handles plus synchronous full/subset search. The Go wrapper (ordvec-go) sits on top of that surface.This issue now tracks the next ABI layer: builder/add APIs for callers that need to construct indexes through C rather than loading persisted files.
Scope
add/ingest entry points with explicit validation and status codes.Notes
Keep this repo-local for now;
ordvec-ffiremainspublish = falsefor v0.3.0.