Skip to content

v0.2.1

Choose a tag to compare

@justram justram released this 24 Mar 16:00
· 44 commits to main since this release

pi-serini v0.2.1

Patch release focused on proving that pi-search now supports a real service-shaped backend path in addition to the Anserini BM25 adapter, and that pi-serini validates that contract correctly in the benchmark loop.

Added

  • Added a generic http-json searcher adapter under src/pi-search/searcher/adapters/http_json/adapter.ts.
  • Added explicit pi-search extension config support for HTTP-backed backends alongside the existing Anserini BM25 and mock adapters.
  • Added benchmark-harness regression coverage for HTTP-backed pi-search behavior across the full tool surface:
    • search
    • read_search_results
    • read_document

Changed

  • Changed the top-level pi-search extension surface to be backend-agnostic in tool labels, descriptions, spill-directory naming, and runtime log prefixes.
  • Changed docs/pi-search-contract.md to reflect the current searcher/ subsystem layout and the benchmark-validated HTTP-backed adapter path.

Fixed

  • Fixed HTTP-backed pi-search response handling so successful 2xx responses are parsed through the shared searcher-contract parsers.
  • Fixed HTTP-backed validation to preserve distinct failure classes for:
    • malformed JSON
    • schema-invalid payloads
    • backend execution failures

Scope

v0.2.1 does not broaden the product into document-ingestion-first indexing.

This release is specifically about strengthening the standalone pi-search contract by:

  • adding a real external-service-shaped backend path
  • keeping the extension surface honest and backend-agnostic
  • proving through benchmark-harness regressions that pi-serini validates both successful and recoverable pi-search tool behavior over that path