Skip to content

Define the TypeScript façade, packed native ABI, errors, and lifecycle contract #14

Description

@kylebernhardy

Outcome

Define a small stable JavaScript API over a versioned packed native ABI.

Acceptance criteria

  • Schema, mutation batch, commit, search, pagination, result, status, metrics, cancellation, and close contracts are typed and documented.
  • One native call represents a complete batch, search, commit, or lifecycle transition.
  • Buffer ownership and release responsibility are explicit.
  • Errors are typed and preserve actionable native context without exposing Rust implementation details.
  • Close is asynchronous, idempotent, rejects new work, and deterministically settles admitted promises.
  • Native and Rocks factories expose equivalent engine behavior without a runtime storage fallback.

Comment generated by kAIle (Codex GPT-5)

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

area:apiPublic Node.js and native APIarea:nativeRust, Tantivy, and Node-API implementation

Type

Fields

Priority

P3

Projects

No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions