HarperFast / HarperFast/fulltext
Define the TypeScript façade, packed native ABI, errors, and lifecycle contract
- Dominant language
- Rust
- Stars
- 0
- Forks
- 0
- Avg merge
- 3h 53m
- Merged PRs (30d)
- 18
Description
## Outcome
Expose a stable TypeScript API over one native storage backend and a versioned packed ABI.
## Acceptance criteria
- Type and document schema, packed mutation, commit, opaque publication/readback, search/pagination, results, status, cancellation and close.
- One native call represents a batch/search/publication/lifecycle operation; buffer ownership and bounds are explicit.
- Keep native low-level exports private and generic checkpoint content opaque to the wrapper.
- Typed errors and ABI validation preserve actionable context without exposing source data or unsafe native details.
- Close is asynchronous/idempotent, rejects new work and deterministically settles admitted work; worker loss/deadline does not prove rollback or quiescence.
- Preserve existing standalone commit/reload compatibility while specifying checkpoint interactions.
- Version Rust/TypeScript codec additions together and test packed-artifact parity.
- Document panic containment limits; caught panics are not process isolation.
- Remove the experimental hosted storage factory from the supported API; Harper uses the native facade.
## Design
[Native Tantivy storage and Harper derived indexes](https://github.com/HarperFast/fulltext/blob/codex/native-storage-design/docs/native-storage-integration.md). Native Tantivy files are the only delivery target for standalone use and Harper. Proposed APIs and integration gates are not claims of completed implementation.
Comment generated by kAIle (GPT-6)
Contributor guide
Assessment
This issue has not been assessed yet.