Skip to content

Restore the Ruby Client Runtime and Add a Smoke Test Gate #1

Description

@cferrys

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.

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions