Proactive recall is semantic-only — bae7bbb1 dropped the ILIKE fallback because unindexed scans blew the 1500ms blocking budget (src/hooks/recall.ts:13-17). That was the right call for latency.
But embeddings are opt-in: a fresh marketplace install has no @huggingface/transformers, so detectStatus() returns no-transformers (src/embeddings/disable.ts:18-22) and SEMANTIC_ENABLED is false (src/hooks/recall.ts:60).
Net effect: on a default install, proactive recall does nothing, forever, with no user-visible signal. The hook runs, gates, finds no embeddings, emits nothing. Nothing tells the user the headline feature is inactive or how to turn it on.
Degradation today:
|
embeddings ON |
embeddings OFF (default) |
| Proactive recall |
semantic, top-1 |
completely off |
| Reactive (VFS grep) |
lexical + semantic UNION |
lexical — still works |
| Capture |
writes vectors |
writes NULL embedding |
Suggested fixes, cheapest first:
- One-time notice via the existing notifications framework: "Proactive recall is off — run
hivemind embeddings install to enable it." Fires once, at SessionStart, same channel as the referral nudge.
- Server-side query embedding — Deeplake embeds the query; no local deps, one extra hop inside the existing budget.
- Ship a small quantized model in the default bundle, upgrade to nomic on explicit install.
Related but distinct: #184 (upgraders get enabled=false from an unset env var) and #296 (hook hangs when the launcher is missing despite embeddings enabled). This one is about a fresh, correctly-configured install where the feature is simply absent and silent.
Proactive recall is semantic-only —
bae7bbb1dropped the ILIKE fallback because unindexed scans blew the 1500ms blocking budget (src/hooks/recall.ts:13-17). That was the right call for latency.But embeddings are opt-in: a fresh marketplace install has no
@huggingface/transformers, sodetectStatus()returnsno-transformers(src/embeddings/disable.ts:18-22) andSEMANTIC_ENABLEDis false (src/hooks/recall.ts:60).Net effect: on a default install, proactive recall does nothing, forever, with no user-visible signal. The hook runs, gates, finds no embeddings, emits nothing. Nothing tells the user the headline feature is inactive or how to turn it on.
Degradation today:
Suggested fixes, cheapest first:
hivemind embeddings installto enable it." Fires once, at SessionStart, same channel as the referral nudge.Related but distinct: #184 (upgraders get
enabled=falsefrom an unset env var) and #296 (hook hangs when the launcher is missing despite embeddings enabled). This one is about a fresh, correctly-configured install where the feature is simply absent and silent.