EEMS memory_store fails on junkpile — fastembed not compiled #12
Reference in New Issue
Block a user
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?
Calling memory_store on junkpile returns:
The EEMS MCP server on junkpile was built without the fastembed feature flag, so semantic embeddings can't be generated and no memories can be stored. memory_recall is also likely broken.
Fix: rebuild madcat-memory on junkpile with the fastembed feature enabled, or configure it to use ollama/openai as the embedding provider.
Investigation:
fastembed feature not compiledon junkpileRoot Cause
The
[embedding]section in~/.config/madcat/config.tomlon junkpile is missing theproviderkey:Without
provider = "...",EmbeddingConfig::load()(incrates/madcat-memory/src/config.rs:223-228) falls through toEmbedProviderKind::default()→ Fastembed.However, the NAPI binding (
bindings/napi/Cargo.toml:11) is built with:fastembedis intentionally excluded from the NAPI build (it pulls in ONNX runtime / ~200MB). The binary does haveollamaandpostgrescompiled in. So whencreate_provider()tries to instantiate FastEmbed, it hits the#[cfg(not(feature = "fastembed"))]branch and returns the error.Current State
madcat-memory.linux-x64-gnu.node— built with featuresollama,postgres(nofastembed)fastembed→ errorbge-m3:567m(1024d embedding model) — confirmed workingnomic-embed-text(768d)eems, two active connectionsFix Options
Option A — Config fix (recommended, zero-code):
Add
provider = "ollama"to~/.config/madcat/config.tomlon junkpile and point to local Ollama:This uses junkpile's own Ollama with the already-pulled
bge-m3:567mmodel. No code changes, no rebuild needed.Option B — Config fix pointing to sin (if vLLM comes back):
Uses OpenAI-compat endpoint (vLLM). Requires sin's vLLM service to be running. Currently down.
Option C — Code change (defense-in-depth):
In
EmbeddingConfig::load(), ifprovideris not set buturlis present, auto-selectollamaoropenaiinstead of defaulting tofastembed. This would prevent this class of misconfiguration.