Summary
The repository currently documents and ships examples for a modular Hlquery::Client, but the runtime library files are missing, causing every example to fail immediately with LoadError: cannot load such file -- hlquery.
Context
README.md describes a usable Ruby client with lib/hlquery.rb, endpoint modules, auth support, and search/vector APIs. The examples in example.rb and examples/*.rb all call require "hlquery" and instantiate Hlquery::Client, but the lib/ implementation was removed in a recent commit while the documentation remained.
For a high-performance RocksDB-backed search engine wrapper, client availability is a release-blocking concern: users cannot create collections, ingest documents, run searches, or validate health checks from Ruby at all.
Proposed Implementation
Restore or regenerate the Ruby client runtime under lib/hlquery, including:
Hlquery::Client with collection, document, search, vector search, auth, and system helper APIs.
- HTTP transport with clear response objects and typed exceptions for connection, timeout, auth, validation, and server errors.
- A minimal gemspec or load-path strategy so
require "hlquery" works consistently.
- A CI smoke test that runs
ruby -Ilib example.rb or a mocked equivalent to catch missing runtime files before merge.
- Unit tests for request construction, auth headers, JSON parsing, and search parameter inference from
searchable_fields.
Impact
This turns the repository back into a functional Ruby API client instead of documentation-only examples. It prevents broken releases, restores the primary integration path for Ruby users, and creates a safety net for future endpoint work around search, ingestion, and vector query performance.
Summary
The repository currently documents and ships examples for a modular
Hlquery::Client, but the runtime library files are missing, causing every example to fail immediately withLoadError: cannot load such file -- hlquery.Context
README.mddescribes a usable Ruby client withlib/hlquery.rb, endpoint modules, auth support, and search/vector APIs. The examples inexample.rbandexamples/*.rball callrequire "hlquery"and instantiateHlquery::Client, but thelib/implementation was removed in a recent commit while the documentation remained.For a high-performance RocksDB-backed search engine wrapper, client availability is a release-blocking concern: users cannot create collections, ingest documents, run searches, or validate health checks from Ruby at all.
Proposed Implementation
Restore or regenerate the Ruby client runtime under
lib/hlquery, including:Hlquery::Clientwith collection, document, search, vector search, auth, and system helper APIs.require "hlquery"works consistently.ruby -Ilib example.rbor a mocked equivalent to catch missing runtime files before merge.searchable_fields.Impact
This turns the repository back into a functional Ruby API client instead of documentation-only examples. It prevents broken releases, restores the primary integration path for Ruby users, and creates a safety net for future endpoint work around search, ingestion, and vector query performance.