v0.2.1
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-jsonsearcher adapter undersrc/pi-search/searcher/adapters/http_json/adapter.ts. - Added explicit
pi-searchextension config support for HTTP-backed backends alongside the existing Anserini BM25 and mock adapters. - Added benchmark-harness regression coverage for HTTP-backed
pi-searchbehavior across the full tool surface:searchread_search_resultsread_document
Changed
- Changed the top-level
pi-searchextension surface to be backend-agnostic in tool labels, descriptions, spill-directory naming, and runtime log prefixes. - Changed
docs/pi-search-contract.mdto reflect the currentsearcher/subsystem layout and the benchmark-validated HTTP-backed adapter path.
Fixed
- Fixed HTTP-backed
pi-searchresponse handling so successful2xxresponses 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-serinivalidates both successful and recoverablepi-searchtool behavior over that path