Summary
The repository currently advertises a usable Perl client, but the runtime module tree has been removed while the build metadata, README, and examples still depend on it. As a result, the project cannot be used as a client library in its current state: Hlquery::Client is referenced everywhere, but lib/Hlquery/Client.pm and the rest of lib/ are no longer present.
Context
The most recent cleanup removed the legacy Perl modules, but the repository still positions itself as a modular Perl API client for hlquery. This creates a hard release blocker:
README.md instructs users to use Hlquery::Client; and documents a full object model around Hlquery::Client, Hlquery::Collections, Hlquery::Documents, Hlquery::Request, Hlquery::Response, and Hlquery::Search.
- All shipped examples (
example.pl, examples/basic_usage.pl, examples/collections.pl, examples/documents.pl, examples/flush.pl, examples/search.pl) import Hlquery::Client.
Makefile.PL still declares VERSION_FROM => 'lib/Hlquery.pm', but that file no longer exists.
- The tracked tree at
HEAD contains no lib/ directory at all, so a direct require Hlquery::Client fails immediately.
For a high-performance search engine, the client SDK is part of the operational path for ingestion, collection management, and query execution. Shipping a repository that cannot be installed or imported blocks adoption entirely and undermines confidence in the surrounding API surface.
Proposed Implementation
- Restore a minimal supported runtime module set under
lib/ that matches the public API still documented in README.md and used by the example scripts.
- Decide explicitly whether the project is still a CPAN-style library or only an examples/docs repository.
- If it remains a library:
- Reintroduce
Hlquery.pm and the canonical modules required by the documented API.
- Align
Makefile.PL and cpanfile with the actual runtime dependency graph.
- Add a smoke test that validates the release shape, at minimum:
perl -Ilib -e 'require Hlquery::Client'
- metadata generation from
Makefile.PL
- one non-network constructor/import test for the client surface
- If it is no longer intended to ship the client runtime:
- remove library-installation instructions from
README.md
- move examples behind a clear “requires external hlquery Perl client package” boundary
- update package metadata so the repo no longer presents itself as installable client code
Impact
Addressing this fixes the highest-severity problem in the repository: the Perl SDK currently cannot be imported or packaged. Restoring a valid runtime and enforcing a smoke test prevents broken releases, keeps client integrations viable, and gives downstream users a stable entry point into hlquery’s search and document APIs.
Summary
The repository currently advertises a usable Perl client, but the runtime module tree has been removed while the build metadata, README, and examples still depend on it. As a result, the project cannot be used as a client library in its current state:
Hlquery::Clientis referenced everywhere, butlib/Hlquery/Client.pmand the rest oflib/are no longer present.Context
The most recent cleanup removed the legacy Perl modules, but the repository still positions itself as a modular Perl API client for hlquery. This creates a hard release blocker:
README.mdinstructs users touse Hlquery::Client;and documents a full object model aroundHlquery::Client,Hlquery::Collections,Hlquery::Documents,Hlquery::Request,Hlquery::Response, andHlquery::Search.example.pl,examples/basic_usage.pl,examples/collections.pl,examples/documents.pl,examples/flush.pl,examples/search.pl) importHlquery::Client.Makefile.PLstill declaresVERSION_FROM => 'lib/Hlquery.pm', but that file no longer exists.HEADcontains nolib/directory at all, so a directrequire Hlquery::Clientfails immediately.For a high-performance search engine, the client SDK is part of the operational path for ingestion, collection management, and query execution. Shipping a repository that cannot be installed or imported blocks adoption entirely and undermines confidence in the surrounding API surface.
Proposed Implementation
lib/that matches the public API still documented inREADME.mdand used by the example scripts.Hlquery.pmand the canonical modules required by the documented API.Makefile.PLandcpanfilewith the actual runtime dependency graph.perl -Ilib -e 'require Hlquery::Client'Makefile.PLREADME.mdImpact
Addressing this fixes the highest-severity problem in the repository: the Perl SDK currently cannot be imported or packaged. Restoring a valid runtime and enforcing a smoke test prevents broken releases, keeps client integrations viable, and gives downstream users a stable entry point into hlquery’s search and document APIs.