v0.1.6-rc1: search/ask broken — embedder JSON-RPC params mismatch #129
Labels
No labels
prio_critical
prio_low
type_bug
type_contact
type_issue
type_lead
type_question
type_story
type_task
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
lhumina_code/hero_books#129
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Symptom
Fresh deploy of
hero_books 0.1.6-rc1+ any publishedhero_embedder(0.1.2 / 0.1.3 / 0.2.0-rc1 / dev). Import works, books appear in the library, but the embedder upload step always fails:With no vectors uploaded,
Ask the LibrarianreturnsNo results found ...for every query.Root cause
hero_books_lib::vectorsdksends JSON-RPCparams: { ... }(map). Every publishedhero_embedderbinary (incl.dev) parsesparamsas a positional sequence and rejects map params with-32602. The two halves shipped from incompatible schema generations.Secondary bug —
check_embedder_warningignores HTTP URLscrates/hero_books_server/src/web/server.rs:3943 only honours
unix://URLs; any HTTPHERO_EMBEDDER_URLfalls through todefault_embedder_socket_path()and fails the existence check, so the misleading bannerSearch unavailable: embedder service not running. Start it with 'make embedder' or install hero_embedder.fires even when the embedder is actually reachable over HTTP.Tertiary bug —
VectorStore::connectignores HTTP URLscrates/hero_books_lib/src/vectorsdk/store.rs:165 does
config.embedder_url.replace("unix://", "")thenHeroEmbedderClient::connect_socket(&socket_path)— so anhttp://...URL gets opened as a Unix socket path →os error 2 (ENOENT). The SDK does exposeconnect_http; the books client should branch on the URL scheme.Repro
Deployed on
books.gent01.dev.grid.tf(TFGrid VM, hero_proc 0.4.4, embedder running on 127.0.0.1:3380). WithHERO_EMBEDDER_URL=http://127.0.0.1:3380/set inhero_books_server's env, import via UI shows the warnings above; switching tounix:///.../hero_embedder/rpc.sock(withsocatbridging to the HTTP port) gets past the connection step but hits the map-vs-sequence error against every published embedder version.Expected
A released
hero_booksshould pair with a releasedhero_embedder(orhero_memory) where import-then-search completes end-to-end without manual binary surgery.Suggested fix
Either:
hero_embedderbuild that matches the map-params schema 0.1.6-rc1 sends, ordevelopment_hero_memorycutover that routes throughhero_memoryinstead (and publish the fullhero_memory_inference/_server/_uibinaries — currently only the CLI is in thelatestrelease).Also worth fixing in 0.1.6: the HTTP-URL handling in
check_embedder_warningandVectorStore::connect(above) — those are independent of the embedder version and would make HTTP deployments usable.