You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Tell the user when semantic search has no model file, not that it is loading #3676
When the daemon finds no embedding model file, search reports the model as loading, so the user is told to retry something that will never finish.
Problem Statement
Observed on the v0.3.4 release-candidate app bundle (CI probe of main at 0bb30bfd9), running the bundled nodespaced headless with a scratch HOME and NODESPACE_HOME and no model file:
The daemon logs NLP model not found — semantic search disabled at startup (nodespace_daemon::services::assembly).
nodespace search "hello" then fails with SearchNodes RPC failed ... Unavailable: embedding model loading, please retry.
Unavailable ... please retry is right while a model is loading. With no file it never resolves. The case is reachable: a fresh install whose first-launch model copy failed (#3611 logs that failure and retries on the next launch), or a CLI-only install (Homebrew formula), which ships no model.
Proposed Solution
Distinguish "loading" from "no model file" in the search path. The second reports a non-retryable status (for example FailedPrecondition) whose message says semantic search has no model, and where it comes from (the app copies its bundled model on launch; a CLI-only install has none). Keep Unavailable ... retry for a real load in progress.
Documentation
daemon-cli-lifecycle.md, "Embedding Model": where the daemon looks, when the app copies, and that CLI-only installs ship no model. Add the no-model behaviour of search there.
Acceptance Criteria
With no model file, search and any other embedding-backed RPC return a non-retryable status whose message names the missing model.
While a model is genuinely loading, the RPCs still return Unavailable with the retry message.
A daemon test starts with NODESPACED_MODEL_PATH pointing at a missing file (no model loads) and asserts both behaviours that can be reached without a model.
Activity
malibio commentedon Oct 7, 2026
Frontend: 5863 passed
Report a missing embedding model as non-retryable, not loading (closes …