MemoryWhale v0.2.0 — the app renders now + explainable recall
Headline
The desktop app actually renders its UI now — and it can explain its memory.
Fixed (the big one)
- The Vite entry (
src-tauri/index.html) was a static landing page with no#root/main.tsx, so the React UI (knowledge galaxy, panels) never mounted — the app only ever showed a landing page. Restored a proper Vite React shell (the old page is preserved aslanding.html). The build now bundles the full app (3 → 2,133 modules).
New: explainable recall
- Recall panel (left sidebar): ask your memory a question and get ranked hits, each with a "retrieved because…" breakdown — click a hit to see the per-signal bars.
- Retrieval blends interpretable signals: similarity · recency · importance · reinforcement · task-relevance, each with a human-readable reason.
- Searches across everything MemoryWhale remembers: notes, terminal command runs, and agent conversation turns (new
agent_turnstable). - New
mw-memorycrate — a pluggableMemoryEngine: local-first semantic embeddings via Ollama (lexical fallback offline), plus a MemPalace adapter seam.
New: direction
VISION.md— MemoryWhale as an inspectable memory OS (capture → filter → consolidate → link → retrieve → explain → forget).
Notes
- Similarity is lexical by default; install Ollama (
ollama pull nomic-embed-text) for semantic recall. agent_turnsis populated by external writers (e.g. Delphin / hooks); it may be empty on a fresh install.
Verified
cargo check ✓ · frontend tsc && vite build ✓ · mw-memory unit tests 10/10 ✓ · recall smoke-tested against a real database (correct top hit with reasons).