feat: Vestige v2.0.0 "Cognitive Leap" — 3D dashboard, HyDE search, WebSocket events
The biggest release in Vestige history. Complete visual and cognitive overhaul.
Dashboard:
- SvelteKit 2 + Three.js 3D neural visualization at localhost:3927/dashboard
- 7 interactive pages: Graph, Memories, Timeline, Feed, Explore, Intentions, Stats
- WebSocket event bus with 16 event types, real-time 3D animations
- Bloom post-processing, GPU instanced rendering, force-directed layout
- Dream visualization mode, FSRS retention curves, command palette (Cmd+K)
- Keyboard shortcuts, responsive mobile layout, PWA installable
- Single binary deployment via include_dir! (22MB)
Engine:
- HyDE query expansion (intent classification + 3-5 semantic variants + centroid)
- fastembed 5.11 with optional Nomic v2 MoE + Qwen3 reranker + Metal GPU
- Emotional memory module (#29)
- Criterion benchmark suite
Backend:
- Axum WebSocket at /ws with heartbeat + event broadcast
- 7 new REST endpoints for cognitive operations
- Event emission from MCP tools via shared broadcast channel
- CORS for SvelteKit dev mode
Distribution:
- GitHub issue templates (bug report, feature request)
- CHANGELOG with comprehensive v2.0 release notes
- README updated with dashboard docs, architecture diagram, comparison table
734 tests passing, zero warnings, 22MB release binary.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-22 03:07:25 -06:00
< div align = "center" >
2026-06-29 15:23:55 -05:00
< h1 > Vestige< / h1 >
2026-01-25 01:31:03 -06:00
2026-06-29 15:29:43 -05:00
### Your bug was born days before it crashed — you just can't remember where.
2026-01-25 01:31:03 -06:00
2026-06-29 15:29:43 -05:00
< em > Vestige is a local-first memory for AI agents that reaches < b > backward through time< / b > to find the quiet change that caused today's failure — the cause that looks nothing like the bug. One 23MB Rust binary. No cloud. Your data never leaves your machine.< / em >
2026-01-26 01:41:34 -06:00
2026-06-29 15:23:55 -05:00
[](https://github.com/samvallad33/vestige/stargazers)
[](https://github.com/samvallad33/vestige/releases/latest)
[](https://github.com/samvallad33/vestige/actions)
[](LICENSE)
feat: Vestige v2.0.0 "Cognitive Leap" — 3D dashboard, HyDE search, WebSocket events
The biggest release in Vestige history. Complete visual and cognitive overhaul.
Dashboard:
- SvelteKit 2 + Three.js 3D neural visualization at localhost:3927/dashboard
- 7 interactive pages: Graph, Memories, Timeline, Feed, Explore, Intentions, Stats
- WebSocket event bus with 16 event types, real-time 3D animations
- Bloom post-processing, GPU instanced rendering, force-directed layout
- Dream visualization mode, FSRS retention curves, command palette (Cmd+K)
- Keyboard shortcuts, responsive mobile layout, PWA installable
- Single binary deployment via include_dir! (22MB)
Engine:
- HyDE query expansion (intent classification + 3-5 semantic variants + centroid)
- fastembed 5.11 with optional Nomic v2 MoE + Qwen3 reranker + Metal GPU
- Emotional memory module (#29)
- Criterion benchmark suite
Backend:
- Axum WebSocket at /ws with heartbeat + event broadcast
- 7 new REST endpoints for cognitive operations
- Event emission from MCP tools via shared broadcast channel
- CORS for SvelteKit dev mode
Distribution:
- GitHub issue templates (bug report, feature request)
- CHANGELOG with comprehensive v2.0 release notes
- README updated with dashboard docs, architecture diagram, comparison table
734 tests passing, zero warnings, 22MB release binary.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-22 03:07:25 -06:00
2026-06-29 15:29:43 -05:00
[**⚡ Quick Start** ](#-get-it-running-in-60-seconds ) · [**🧠 The Idea** ](#-why-i-built-this ) · [**🔬 The Science** ](#-this-is-real-neuroscience-not-a-metaphor ) · [**🛠 13 Tools** ](#-13-tools-one-brain ) · [**📊 Dashboard** ](#-watch-your-ai-think-in-3d )
2026-01-25 01:31:03 -06:00
feat: Vestige v2.0.0 "Cognitive Leap" — 3D dashboard, HyDE search, WebSocket events
The biggest release in Vestige history. Complete visual and cognitive overhaul.
Dashboard:
- SvelteKit 2 + Three.js 3D neural visualization at localhost:3927/dashboard
- 7 interactive pages: Graph, Memories, Timeline, Feed, Explore, Intentions, Stats
- WebSocket event bus with 16 event types, real-time 3D animations
- Bloom post-processing, GPU instanced rendering, force-directed layout
- Dream visualization mode, FSRS retention curves, command palette (Cmd+K)
- Keyboard shortcuts, responsive mobile layout, PWA installable
- Single binary deployment via include_dir! (22MB)
Engine:
- HyDE query expansion (intent classification + 3-5 semantic variants + centroid)
- fastembed 5.11 with optional Nomic v2 MoE + Qwen3 reranker + Metal GPU
- Emotional memory module (#29)
- Criterion benchmark suite
Backend:
- Axum WebSocket at /ws with heartbeat + event broadcast
- 7 new REST endpoints for cognitive operations
- Event emission from MCP tools via shared broadcast channel
- CORS for SvelteKit dev mode
Distribution:
- GitHub issue templates (bug report, feature request)
- CHANGELOG with comprehensive v2.0 release notes
- README updated with dashboard docs, architecture diagram, comparison table
734 tests passing, zero warnings, 22MB release binary.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-22 03:07:25 -06:00
< / div >
chore: license AGPL-3.0, zero clippy warnings, CHANGELOG through v1.6.0
License:
- Replace MIT/Apache-2.0 with AGPL-3.0-only across all crates and npm packages
- Replace LICENSE file with official GNU AGPL-3.0 text
- Remove LICENSE-MIT and LICENSE-APACHE
Code quality:
- Fix all 44 clippy warnings (zero remaining)
- Collapsible if statements, redundant closures, manual Option::map
- Remove duplicate #[allow(dead_code)] attributes in deprecated tool modules
- Add Default impl for CognitiveEngine
- Replace manual sort_by with sort_by_key
Documentation:
- Update CHANGELOG with v1.2.0, v1.3.0, v1.5.0, v1.6.0 entries
- Update README with v1.6.0 highlights and accurate stats (52K lines, 1100+ tests)
- Add fastembed-rs/ to .gitignore
- Add fastembed-rs to workspace exclude
1115 tests passing, zero warnings, RUSTFLAGS="-Dwarnings" clean.
2026-02-19 03:00:39 -06:00
feat: Vestige v2.0.0 "Cognitive Leap" — 3D dashboard, HyDE search, WebSocket events
The biggest release in Vestige history. Complete visual and cognitive overhaul.
Dashboard:
- SvelteKit 2 + Three.js 3D neural visualization at localhost:3927/dashboard
- 7 interactive pages: Graph, Memories, Timeline, Feed, Explore, Intentions, Stats
- WebSocket event bus with 16 event types, real-time 3D animations
- Bloom post-processing, GPU instanced rendering, force-directed layout
- Dream visualization mode, FSRS retention curves, command palette (Cmd+K)
- Keyboard shortcuts, responsive mobile layout, PWA installable
- Single binary deployment via include_dir! (22MB)
Engine:
- HyDE query expansion (intent classification + 3-5 semantic variants + centroid)
- fastembed 5.11 with optional Nomic v2 MoE + Qwen3 reranker + Metal GPU
- Emotional memory module (#29)
- Criterion benchmark suite
Backend:
- Axum WebSocket at /ws with heartbeat + event broadcast
- 7 new REST endpoints for cognitive operations
- Event emission from MCP tools via shared broadcast channel
- CORS for SvelteKit dev mode
Distribution:
- GitHub issue templates (bug report, feature request)
- CHANGELOG with comprehensive v2.0 release notes
- README updated with dashboard docs, architecture diagram, comparison table
734 tests passing, zero warnings, 22MB release binary.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-22 03:07:25 -06:00
---
2026-06-29 15:29:43 -05:00
## 👋 Why I built this
Hi — I'm [Sam ](https://github.com/samvallad33 ). I built Vestige from a tiny apartment in Chicago because I kept losing days to the same thing, and I bet you have too.
Production breaks. You start hunting. And the cause is almost never *near* the error — it's some quiet change you made days ago that looks **nothing** like the crash it eventually caused. A flipped env var. A swapped service. A config tweak you'd already forgotten.
Here's the part that took me a while to see: **every AI memory tool is built on vector search, and vector search hunts for what *looks like* your problem.** But a root cause never looks like the bug it creates. So they all search the goal line — while the real failure was a quiet midfield turnover fifteen minutes earlier.
I wanted a memory that traces the match *backward.*
So that's what Vestige is. Everyone else built a memory that **remembers** . I tried to build the first one that **realizes** — it gates what's worth keeping, lets the noise fade like your own memory does, and when a failure hits, it reaches back through time to the change that actually caused it.
It's one Rust binary. It runs entirely on your machine. It never phones home. And there's a 60-second start right below.
> 🎙️ **The 60-second version** of this whole story — the one I give in person — lives in [`demo/PITCH-v2-causebench.md`](demo/PITCH-v2-causebench.md). If you've got a minute, read that first. It's the clearest way to *get* why this matters.
2026-05-27 19:03:16 -05:00
2026-01-25 01:31:03 -06:00
---
2026-06-29 15:29:43 -05:00
## ⚡ Get it running in 60 seconds
2026-01-25 01:31:03 -06:00
```bash
2026-06-29 15:29:43 -05:00
npm install -g vestige-mcp-server@latest # one binary — no Docker, no API key, no signup
claude mcp add vestige vestige-mcp -s user # connect it to Claude Code
2026-01-25 19:49:36 -06:00
```
2026-06-29 15:29:43 -05:00
That's the whole install. Now talk to your agent like it has a memory — because now it does:
2026-01-27 02:12:48 -06:00
2026-05-01 13:33:54 -05:00
```
2026-06-29 15:23:55 -05:00
You: "Remember: we always disable SimSIMD on release builds, it breaks old x86 CPUs."
...days later, fresh session, zero context...
You: "Should I enable SimSIMD for the release?"
2026-06-29 15:29:43 -05:00
AI: ⚠️ Hold on — this contradicts a decision you stored: you chose to DISABLE it
because it breaks old x86 CPUs.
2026-01-25 19:49:36 -06:00
```
2026-01-25 01:31:03 -06:00
2026-06-29 15:29:43 -05:00
That last line isn't me being cute — it's a real status the engine returns, called `claim_contradicts_memory` . Most memory tools would have happily handed you the wrong answer. Vestige tells you when you're about to walk back into a mistake you already learned from.
*(Works with Codex, Cursor, VS Code, Claude Desktop, Windsurf, JetBrains, Zed — anything that speaks MCP. [Full setup is here ↓ ](#-works-in-every-editor-you-use ).)*
fix(#41): restore Intel Mac build via ort-dynamic + Homebrew ONNX Runtime (#43)
* fix: restore Intel Mac build via ort-dynamic + system libonnxruntime
Microsoft is discontinuing x86_64 macOS ONNX Runtime prebuilts after
v1.23.0, so ort-sys 2.0.0-rc.11 can't ship an Intel Mac binary and never
will. Previous Intel Mac attempts kept dying in the ort-sys build script
with "does not provide prebuilt binaries for the target x86_64-apple-darwin
with feature set (no features)." Issue #41 was the latest casualty.
Fix: route Intel Mac through the ort-dynamic feature path (runtime dlopen
against a system libonnxruntime installed via Homebrew). This sidesteps
ort-sys prebuilts entirely and works today.
Changes:
- crates/vestige-core/Cargo.toml: split `embeddings` into code-only vs
backend-choice. The embeddings feature now just pulls fastembed + hf-hub
+ image-models and activates the 27 #[cfg(feature = "embeddings")] gates
throughout the crate. New `ort-download` feature carries the
download-binaries-native-tls backend (the historical default). Existing
`ort-dynamic` feature now transitively enables `embeddings`, so the
cfg gates stay active when users swap backends.
Default feature set expands `["embeddings", ...]` -> `["embeddings",
"ort-download", ...]` so existing consumers see identical behavior.
- crates/vestige-mcp/Cargo.toml: mirrors the split. Adds `ort-download`
feature that chains to vestige-core/ort-download, keeps `ort-dynamic`
that chains to vestige-core/ort-dynamic. Both transitively pull
`embeddings`. Default adds `ort-download` so `cargo install vestige-mcp`
still picks the prebuilt-ort backend like before.
- .github/workflows/ci.yml: re-adds x86_64-apple-darwin to the
release-build matrix with `--no-default-features --features
ort-dynamic,vector-search`. Adds a `brew install onnxruntime` step that
sets ORT_DYLIB_PATH from `brew --prefix onnxruntime`.
- .github/workflows/release.yml: re-adds x86_64-apple-darwin to the
release matrix with the same flags + brew install step. The Intel Mac
tarball now also bundles docs/INSTALL-INTEL-MAC.md so binary consumers
get the `brew install onnxruntime` + ORT_DYLIB_PATH prereq out of the
box.
- docs/INSTALL-INTEL-MAC.md: new install guide covering the Homebrew
prereq, binary install, source build, troubleshooting, and the v2.1
ort-candle migration plan.
- README.md: replaces the "Intel Mac and Windows build from source only"
paragraph with the prebuilt Intel Mac install (brew + curl + env var)
and a link to the full guide. Platform table updated: Intel Mac back
on the "prebuilt" list.
Verified locally on aarch64-apple-darwin:
- `cargo check --release -p vestige-mcp` -> clean (default features)
- `cargo check --release -p vestige-mcp --no-default-features
--features ort-dynamic,vector-search` -> clean
Runtime path on Intel Mac (verified on CI):
brew install onnxruntime
export ORT_DYLIB_PATH=$(brew --prefix onnxruntime)/lib/libonnxruntime.dylib
vestige-mcp --version
Fixes #41. Long-term plan (v2.1): migrate to ort-candle pure-Rust backend
so no system ONNX Runtime dep is needed on any platform.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
* chore(ci): drop unused brew install + ORT_DYLIB_PATH from CI steps
Build is a cross-compile (macos-latest runner is Apple Silicon targeting
x86_64-apple-darwin) and ort-load-dynamic doesn't link libonnxruntime at
build time — only at runtime via dlopen. So the brew install step and
ORT_DYLIB_PATH export were ceremony without payload. Removed to cut CI
time. Runtime setup remains documented in docs/INSTALL-INTEL-MAC.md for
end users installing the tarball on their own Intel Mac.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
* ci: run release-build on PRs too — catch Intel Mac regressions pre-merge
Previously release-build was gated behind `github.ref == 'refs/heads/main'`,
so the Intel Mac, aarch64-apple-darwin, and Linux release targets were only
validated AFTER merge to main. If someone broke the Intel Mac cross-compile
by touching feature flags or Cargo dependencies, we'd only find out when
the release tag was cut and the job exploded on main. Extending the guard
to also fire on pull_request means regressions surface in the PR status
check instead of on a release branch.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
---------
Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-23 02:03:45 -05:00
2026-06-29 15:23:55 -05:00
---
fix(#41): restore Intel Mac build via ort-dynamic + Homebrew ONNX Runtime (#43)
* fix: restore Intel Mac build via ort-dynamic + system libonnxruntime
Microsoft is discontinuing x86_64 macOS ONNX Runtime prebuilts after
v1.23.0, so ort-sys 2.0.0-rc.11 can't ship an Intel Mac binary and never
will. Previous Intel Mac attempts kept dying in the ort-sys build script
with "does not provide prebuilt binaries for the target x86_64-apple-darwin
with feature set (no features)." Issue #41 was the latest casualty.
Fix: route Intel Mac through the ort-dynamic feature path (runtime dlopen
against a system libonnxruntime installed via Homebrew). This sidesteps
ort-sys prebuilts entirely and works today.
Changes:
- crates/vestige-core/Cargo.toml: split `embeddings` into code-only vs
backend-choice. The embeddings feature now just pulls fastembed + hf-hub
+ image-models and activates the 27 #[cfg(feature = "embeddings")] gates
throughout the crate. New `ort-download` feature carries the
download-binaries-native-tls backend (the historical default). Existing
`ort-dynamic` feature now transitively enables `embeddings`, so the
cfg gates stay active when users swap backends.
Default feature set expands `["embeddings", ...]` -> `["embeddings",
"ort-download", ...]` so existing consumers see identical behavior.
- crates/vestige-mcp/Cargo.toml: mirrors the split. Adds `ort-download`
feature that chains to vestige-core/ort-download, keeps `ort-dynamic`
that chains to vestige-core/ort-dynamic. Both transitively pull
`embeddings`. Default adds `ort-download` so `cargo install vestige-mcp`
still picks the prebuilt-ort backend like before.
- .github/workflows/ci.yml: re-adds x86_64-apple-darwin to the
release-build matrix with `--no-default-features --features
ort-dynamic,vector-search`. Adds a `brew install onnxruntime` step that
sets ORT_DYLIB_PATH from `brew --prefix onnxruntime`.
- .github/workflows/release.yml: re-adds x86_64-apple-darwin to the
release matrix with the same flags + brew install step. The Intel Mac
tarball now also bundles docs/INSTALL-INTEL-MAC.md so binary consumers
get the `brew install onnxruntime` + ORT_DYLIB_PATH prereq out of the
box.
- docs/INSTALL-INTEL-MAC.md: new install guide covering the Homebrew
prereq, binary install, source build, troubleshooting, and the v2.1
ort-candle migration plan.
- README.md: replaces the "Intel Mac and Windows build from source only"
paragraph with the prebuilt Intel Mac install (brew + curl + env var)
and a link to the full guide. Platform table updated: Intel Mac back
on the "prebuilt" list.
Verified locally on aarch64-apple-darwin:
- `cargo check --release -p vestige-mcp` -> clean (default features)
- `cargo check --release -p vestige-mcp --no-default-features
--features ort-dynamic,vector-search` -> clean
Runtime path on Intel Mac (verified on CI):
brew install onnxruntime
export ORT_DYLIB_PATH=$(brew --prefix onnxruntime)/lib/libonnxruntime.dylib
vestige-mcp --version
Fixes #41. Long-term plan (v2.1): migrate to ort-candle pure-Rust backend
so no system ONNX Runtime dep is needed on any platform.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
* chore(ci): drop unused brew install + ORT_DYLIB_PATH from CI steps
Build is a cross-compile (macos-latest runner is Apple Silicon targeting
x86_64-apple-darwin) and ort-load-dynamic doesn't link libonnxruntime at
build time — only at runtime via dlopen. So the brew install step and
ORT_DYLIB_PATH export were ceremony without payload. Removed to cut CI
time. Runtime setup remains documented in docs/INSTALL-INTEL-MAC.md for
end users installing the tarball on their own Intel Mac.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
* ci: run release-build on PRs too — catch Intel Mac regressions pre-merge
Previously release-build was gated behind `github.ref == 'refs/heads/main'`,
so the Intel Mac, aarch64-apple-darwin, and Linux release targets were only
validated AFTER merge to main. If someone broke the Intel Mac cross-compile
by touching feature flags or Cargo dependencies, we'd only find out when
the release tag was cut and the job exploded on main. Extending the guard
to also fire on pull_request means regressions surface in the PR status
check instead of on a release branch.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
---------
Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-23 02:03:45 -05:00
2026-06-29 15:29:43 -05:00
## 🧠 It's not RAG with a nicer haircut
fix(#41): restore Intel Mac build via ort-dynamic + Homebrew ONNX Runtime (#43)
* fix: restore Intel Mac build via ort-dynamic + system libonnxruntime
Microsoft is discontinuing x86_64 macOS ONNX Runtime prebuilts after
v1.23.0, so ort-sys 2.0.0-rc.11 can't ship an Intel Mac binary and never
will. Previous Intel Mac attempts kept dying in the ort-sys build script
with "does not provide prebuilt binaries for the target x86_64-apple-darwin
with feature set (no features)." Issue #41 was the latest casualty.
Fix: route Intel Mac through the ort-dynamic feature path (runtime dlopen
against a system libonnxruntime installed via Homebrew). This sidesteps
ort-sys prebuilts entirely and works today.
Changes:
- crates/vestige-core/Cargo.toml: split `embeddings` into code-only vs
backend-choice. The embeddings feature now just pulls fastembed + hf-hub
+ image-models and activates the 27 #[cfg(feature = "embeddings")] gates
throughout the crate. New `ort-download` feature carries the
download-binaries-native-tls backend (the historical default). Existing
`ort-dynamic` feature now transitively enables `embeddings`, so the
cfg gates stay active when users swap backends.
Default feature set expands `["embeddings", ...]` -> `["embeddings",
"ort-download", ...]` so existing consumers see identical behavior.
- crates/vestige-mcp/Cargo.toml: mirrors the split. Adds `ort-download`
feature that chains to vestige-core/ort-download, keeps `ort-dynamic`
that chains to vestige-core/ort-dynamic. Both transitively pull
`embeddings`. Default adds `ort-download` so `cargo install vestige-mcp`
still picks the prebuilt-ort backend like before.
- .github/workflows/ci.yml: re-adds x86_64-apple-darwin to the
release-build matrix with `--no-default-features --features
ort-dynamic,vector-search`. Adds a `brew install onnxruntime` step that
sets ORT_DYLIB_PATH from `brew --prefix onnxruntime`.
- .github/workflows/release.yml: re-adds x86_64-apple-darwin to the
release matrix with the same flags + brew install step. The Intel Mac
tarball now also bundles docs/INSTALL-INTEL-MAC.md so binary consumers
get the `brew install onnxruntime` + ORT_DYLIB_PATH prereq out of the
box.
- docs/INSTALL-INTEL-MAC.md: new install guide covering the Homebrew
prereq, binary install, source build, troubleshooting, and the v2.1
ort-candle migration plan.
- README.md: replaces the "Intel Mac and Windows build from source only"
paragraph with the prebuilt Intel Mac install (brew + curl + env var)
and a link to the full guide. Platform table updated: Intel Mac back
on the "prebuilt" list.
Verified locally on aarch64-apple-darwin:
- `cargo check --release -p vestige-mcp` -> clean (default features)
- `cargo check --release -p vestige-mcp --no-default-features
--features ort-dynamic,vector-search` -> clean
Runtime path on Intel Mac (verified on CI):
brew install onnxruntime
export ORT_DYLIB_PATH=$(brew --prefix onnxruntime)/lib/libonnxruntime.dylib
vestige-mcp --version
Fixes #41. Long-term plan (v2.1): migrate to ort-candle pure-Rust backend
so no system ONNX Runtime dep is needed on any platform.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
* chore(ci): drop unused brew install + ORT_DYLIB_PATH from CI steps
Build is a cross-compile (macos-latest runner is Apple Silicon targeting
x86_64-apple-darwin) and ort-load-dynamic doesn't link libonnxruntime at
build time — only at runtime via dlopen. So the brew install step and
ORT_DYLIB_PATH export were ceremony without payload. Removed to cut CI
time. Runtime setup remains documented in docs/INSTALL-INTEL-MAC.md for
end users installing the tarball on their own Intel Mac.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
* ci: run release-build on PRs too — catch Intel Mac regressions pre-merge
Previously release-build was gated behind `github.ref == 'refs/heads/main'`,
so the Intel Mac, aarch64-apple-darwin, and Linux release targets were only
validated AFTER merge to main. If someone broke the Intel Mac cross-compile
by touching feature flags or Cargo dependencies, we'd only find out when
the release tag was cut and the job exploded on main. Extending the guard
to also fire on pull_request means regressions surface in the PR status
check instead of on a release branch.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
---------
Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-23 02:03:45 -05:00
2026-06-29 15:29:43 -05:00
RAG is a bucket: throw everything in, hope nearest-neighbor finds it later. Vestige behaves more like an actual memory — it decides what's worth keeping, forgets what isn't, and reasons across what's left.
2026-04-28 02:00:53 -05:00
2026-06-29 15:23:55 -05:00
| | 🪣 RAG / Vector Store | 🧠 Vestige |
|---|---|---|
2026-06-29 15:29:43 -05:00
| **What it stores** | Everything you hand it | Only what's **surprising or new** — the rest gets merged or skipped |
| **What it forgets** | Nothing — it just bloats | Unused memories **fade** on a real forgetting curve, so your context stays lean |
| **Finding a root cause** | Can't — the cause isn't *similar* to the bug | **Reaches backward in time** to the change that caused it (the whole point ↓) |
| **Catching contradictions** | Silent — serves the stale answer with a straight face | Tells you: *"this contradicts what you decided"* |
| **Duplicates** | You clean them up by hand | Self-heals — *"likes dark mode"* + *"prefers dark themes"* quietly become one |
| **Forgetting on demand** | DELETE and it's gone | ** `suppress` ** — gently inhibits a memory (and its neighbors), reversible for 24h |
| **Where it lives** | Usually someone else's cloud | **Your machine. One binary. No telemetry.** |
2026-04-28 02:00:53 -05:00
2026-06-29 15:23:55 -05:00
---
2026-04-28 02:00:53 -05:00
2026-06-29 15:29:43 -05:00
## 🔥 The thing nothing else does: memory with hindsight
This is the part I'm proudest of, and it's worth one honest paragraph.
2026-04-28 02:00:53 -05:00
2026-06-29 15:29:43 -05:00
A bug shows up today. The cause was a quiet decision from three weeks ago — a changed env var, a swapped service. That cause **shares no words with the error it created.** A vector search will never connect them, because it only knows how to find things that *look alike* — and this is a case where the cause and the symptom look nothing alike. This isn't a tuning problem; in 2026 Google DeepMind published a proof ([arXiv:2508.21038 ](https://arxiv.org/abs/2508.21038 ), ICLR 2026) that single-vector retrieval is *mathematically* incapable of bridging gaps like this.
2026-04-28 02:00:53 -05:00
2026-06-29 15:29:43 -05:00
So Vestige doesn't do it with similarity. Its **Retroactive Salience Backfill** — ported from **Zaki/Cai et al., 2024, *Nature* 637:145– 155** ([DOI ](https://doi.org/10.1038/s41586-024-08168-4 )), on how the brain links a shock to the quiet memory that caused it — reaches *backward through time* and promotes the dormant memory that's **causally upstream** : it shares an *entity* (the same file, env var, or service), not the same words.
2026-04-28 02:00:53 -05:00
2026-06-29 15:29:43 -05:00
I also built a benchmark to keep myself honest about it. Every pure vector retriever scored **0% recall@1** on the causal-gap task; Vestige scored **60%** . (To be precise: the impossibility is DeepMind's *theorem* ; the 0%-vs-60% is *my measurement* — two different claims, and I keep them separate.)
2026-04-18 18:19:35 -05:00
```bash
2026-06-29 15:23:55 -05:00
vestige backfill --contrast # show the root cause a vector search would have missed
2026-04-18 18:19:35 -05:00
```
2026-01-25 01:31:03 -06:00
2026-06-29 15:29:43 -05:00
The nice part: it compounds. Every failure your agent records makes the *next* session diagnose faster — run two is smarter than run one — and it happens automatically during consolidation, so you don't have to babysit it.
2026-01-25 19:49:36 -06:00
2026-06-29 15:29:43 -05:00
All of this shipped in **v2.2.0** , along with a 34→13 tool consolidation and a rebuilt retrieval engine. [Full release notes → ](https://github.com/samvallad33/vestige/releases/tag/v2.2.0 )
2026-01-25 19:49:36 -06:00
2026-02-12 17:18:15 -06:00
---
2026-01-25 19:49:36 -06:00
2026-06-29 15:23:55 -05:00
## 🔬 This is real neuroscience, not a metaphor
feat: Vestige v2.0.0 "Cognitive Leap" — 3D dashboard, HyDE search, WebSocket events
The biggest release in Vestige history. Complete visual and cognitive overhaul.
Dashboard:
- SvelteKit 2 + Three.js 3D neural visualization at localhost:3927/dashboard
- 7 interactive pages: Graph, Memories, Timeline, Feed, Explore, Intentions, Stats
- WebSocket event bus with 16 event types, real-time 3D animations
- Bloom post-processing, GPU instanced rendering, force-directed layout
- Dream visualization mode, FSRS retention curves, command palette (Cmd+K)
- Keyboard shortcuts, responsive mobile layout, PWA installable
- Single binary deployment via include_dir! (22MB)
Engine:
- HyDE query expansion (intent classification + 3-5 semantic variants + centroid)
- fastembed 5.11 with optional Nomic v2 MoE + Qwen3 reranker + Metal GPU
- Emotional memory module (#29)
- Criterion benchmark suite
Backend:
- Axum WebSocket at /ws with heartbeat + event broadcast
- 7 new REST endpoints for cognitive operations
- Event emission from MCP tools via shared broadcast channel
- CORS for SvelteKit dev mode
Distribution:
- GitHub issue templates (bug report, feature request)
- CHANGELOG with comprehensive v2.0 release notes
- README updated with dashboard docs, architecture diagram, comparison table
734 tests passing, zero warnings, 22MB release binary.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-22 03:07:25 -06:00
2026-06-29 15:29:43 -05:00
I get skeptical when projects wave the word "neuroscience" around, so here's my receipt: every mechanism below is a real, cited paper, implemented in Rust, running locally on your machine. None of it phones a model in the cloud to sound smart.
feat: Vestige v2.0.0 "Cognitive Leap" — 3D dashboard, HyDE search, WebSocket events
The biggest release in Vestige history. Complete visual and cognitive overhaul.
Dashboard:
- SvelteKit 2 + Three.js 3D neural visualization at localhost:3927/dashboard
- 7 interactive pages: Graph, Memories, Timeline, Feed, Explore, Intentions, Stats
- WebSocket event bus with 16 event types, real-time 3D animations
- Bloom post-processing, GPU instanced rendering, force-directed layout
- Dream visualization mode, FSRS retention curves, command palette (Cmd+K)
- Keyboard shortcuts, responsive mobile layout, PWA installable
- Single binary deployment via include_dir! (22MB)
Engine:
- HyDE query expansion (intent classification + 3-5 semantic variants + centroid)
- fastembed 5.11 with optional Nomic v2 MoE + Qwen3 reranker + Metal GPU
- Emotional memory module (#29)
- Criterion benchmark suite
Backend:
- Axum WebSocket at /ws with heartbeat + event broadcast
- 7 new REST endpoints for cognitive operations
- Event emission from MCP tools via shared broadcast channel
- CORS for SvelteKit dev mode
Distribution:
- GitHub issue templates (bug report, feature request)
- CHANGELOG with comprehensive v2.0 release notes
- README updated with dashboard docs, architecture diagram, comparison table
734 tests passing, zero warnings, 22MB release binary.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-22 03:07:25 -06:00
2026-06-29 15:23:55 -05:00
| Mechanism | What it does for you | Grounded in |
|---|---|---|
| **Prediction-Error Gating** | Redundant info gets merged, contradictory gets superseded, only the novel gets stored | The hippocampal novelty signal |
| **FSRS-6 Spaced Repetition** | 21 parameters of the mathematics of forgetting — used memories stay, unused fade | Modern spaced-repetition research |
| **Retroactive Salience Backfill** | Backward causal reach to the root cause of a failure | Zaki/Cai et al. 2024, *Nature* 637:145– 155 |
| **Synaptic Tagging** | A memory that looked trivial this morning can be tagged critical tonight | [Frey & Morris 1997 ](https://doi.org/10.1038/385533a0 ) |
| **Spreading Activation** | Search "auth bug," surface last week's JWT update — memory is a graph, not a list | [Collins & Loftus 1975 ](https://doi.org/10.1037/0033-295X.82.6.407 ) |
| **Dual-Strength Model** | Storage strength vs. retrieval strength — deeply stored ≠ instantly recalled, just like you | [Bjork & Bjork 1992 ](https://doi.org/10.1016/S0079-7421(08 )60016-9) |
| **Memory Dreaming** | Sleep-like consolidation: replays, connects, synthesizes insights to a graph | Active-dreaming consolidation |
| **Active Forgetting (`suppress`)** | Top-down inhibition that *compounds* and cascades to neighbors — reversible for 24h | [Anderson 2025 ](https://www.nature.com/articles/s41583-025-00929-y ) · [Davis 2020 ](https://pmc.ncbi.nlm.nih.gov/articles/PMC7477079/ ) |
feat: Vestige v2.0.0 "Cognitive Leap" — 3D dashboard, HyDE search, WebSocket events
The biggest release in Vestige history. Complete visual and cognitive overhaul.
Dashboard:
- SvelteKit 2 + Three.js 3D neural visualization at localhost:3927/dashboard
- 7 interactive pages: Graph, Memories, Timeline, Feed, Explore, Intentions, Stats
- WebSocket event bus with 16 event types, real-time 3D animations
- Bloom post-processing, GPU instanced rendering, force-directed layout
- Dream visualization mode, FSRS retention curves, command palette (Cmd+K)
- Keyboard shortcuts, responsive mobile layout, PWA installable
- Single binary deployment via include_dir! (22MB)
Engine:
- HyDE query expansion (intent classification + 3-5 semantic variants + centroid)
- fastembed 5.11 with optional Nomic v2 MoE + Qwen3 reranker + Metal GPU
- Emotional memory module (#29)
- Criterion benchmark suite
Backend:
- Axum WebSocket at /ws with heartbeat + event broadcast
- 7 new REST endpoints for cognitive operations
- Event emission from MCP tools via shared broadcast channel
- CORS for SvelteKit dev mode
Distribution:
- GitHub issue templates (bug report, feature request)
- CHANGELOG with comprehensive v2.0 release notes
- README updated with dashboard docs, architecture diagram, comparison table
734 tests passing, zero warnings, 22MB release binary.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-22 03:07:25 -06:00
2026-06-29 15:23:55 -05:00
[**Read the full science doc →** ](docs/SCIENCE.md ) — every feature, every paper.
2026-01-25 20:00:51 -06:00
2026-02-12 17:18:15 -06:00
---
2026-06-29 15:23:55 -05:00
## 🛠 13 tools, one brain
2026-02-12 17:18:15 -06:00
2026-06-29 15:23:55 -05:00
v2.2.0 consolidated a sprawling 34-tool surface into **13 sharp ones** your agent actually reaches for. Old names still work as hidden aliases — nothing breaks.
2026-02-12 17:18:15 -06:00
2026-06-29 15:23:55 -05:00
| Tool | What it does |
|---|---|
| 🔍 `recall` | The retrieval engine — folds search + deep reasoning + contradiction detection into one call. F32 embeddings, Reciprocal Rank Fusion, claim-vs-memory checks. |
| 🧠 `backfill` | **Memory with hindsight** — backward causal reach to a failure's root cause (Cai 2024). |
| 💾 `smart_ingest` | Stores with CREATE / UPDATE / SUPERSEDE via Prediction-Error Gating. Batch session-end saves. |
| 🗂 `memory` | Get, edit, promote 👍, demote 👎, check state, purge content + embeddings. |
| 🧩 `graph` | Reasoning chains, associations, bridges, predictions, force-directed export. |
| 🌙 `maintain` | Consolidate, dream, GC, importance-score, backup, export, restore — one maintenance verb. |
| 🧹 `dedup` | Self-healing duplicate detection + merge (8 old tools → 1). |
| 🚫 `suppress` | Top-down active forgetting — compounds, cascades, reversible 24h. The memory is *inhibited, not erased.* |
| 📟 `memory_status` | Health + stats + trends + recommendations in one packet. |
| 🧬 `codebase` · `intention` · `source_sync` · `session_start` | Per-project code memory · "remind me when X" · external-source connectors · one-call session init. |
2026-01-25 20:00:51 -06:00
---
2026-06-29 15:23:55 -05:00
## 📊 Watch your AI think in 3D
2026-02-12 17:18:15 -06:00
2026-06-29 15:23:55 -05:00
```bash
vestige dashboard # → http://localhost:3927/dashboard
```
2026-01-25 01:31:03 -06:00
2026-06-29 15:23:55 -05:00
Every memory is a glowing node in a real-time, force-directed 3D graph. Connections form as you work. Nodes **pulse** when accessed, **burst** on creation, **fade** on decay. Kick off a consolidation and the whole graph slides into **purple dream mode** , replaying memories that light up in sequence.
2026-01-25 01:31:03 -06:00
2026-06-29 15:23:55 -05:00
Built with SvelteKit 2 · Svelte 5 · Three.js · WebGL bloom · live WebSocket events. 1000+ nodes at 60fps. Installable as a PWA.
feat(v2.0.5): Intentional Amnesia — active forgetting via top-down inhibitory control
First AI memory system to model forgetting as a neuroscience-grounded
PROCESS rather than passive decay. Adds the `suppress` MCP tool (#24),
Rac1 cascade worker, migration V10, and dashboard forgetting indicators.
Based on:
- Anderson, Hanslmayr & Quaegebeur (2025), Nat Rev Neurosci — right
lateral PFC as the domain-general inhibitory controller; SIF
compounds with each stopping attempt.
- Cervantes-Sandoval et al. (2020), Front Cell Neurosci PMC7477079 —
Rac1 GTPase as the active synaptic destabilization mechanism.
What's new:
* `suppress` MCP tool — each call compounds `suppression_count` and
subtracts a `0.15 × count` penalty (saturating at 80%) from
retrieval scores during hybrid search. Distinct from delete
(removes) and demote (one-shot).
* Rac1 cascade worker — background sweep piggybacks the 6h
consolidation loop, walks `memory_connections` edges from
recently-suppressed seeds, applies attenuated FSRS decay to
co-activated neighbors. You don't just forget Jake — you fade
the café, the roommate, the birthday.
* 24h labile window — reversible via `suppress({id, reverse: true})`
within 24 hours. Matches Nader reconsolidation semantics.
* Migration V10 — additive-only (`suppression_count`, `suppressed_at`
+ partial indices). All v2.0.x DBs upgrade seamlessly on first launch.
* Dashboard: `ForgettingIndicator.svelte` pulses when suppressions
are active. 3D graph nodes dim to 20% opacity when suppressed.
New WebSocket events: `MemorySuppressed`, `MemoryUnsuppressed`,
`Rac1CascadeSwept`. Heartbeat carries `suppressed_count`.
* Search pipeline: SIF penalty inserted into the accessibility stage
so it stacks on top of passive FSRS decay.
* Tool count bumped 23 → 24. Cognitive modules 29 → 30.
Memories persist — they are INHIBITED, not erased. `memory.get(id)`
returns full content through any number of suppressions. The 24h
labile window is a grace period for regret.
Also fixes issue #31 (dashboard graph view buggy) as a companion UI
bug discovered during the v2.0.5 audit cycle:
* Root cause: node glow `SpriteMaterial` had no `map`, so
`THREE.Sprite` rendered as a solid-coloured 1×1 plane. Additive
blending + `UnrealBloomPass(0.8, 0.4, 0.85)` amplified the square
edges into hard-edged glowing cubes.
* Fix: shared 128×128 radial-gradient `CanvasTexture` singleton used
as the sprite map. Retuned bloom to `(0.55, 0.6, 0.2)`. Halved fog
density (0.008 → 0.0035). Edges bumped from dark navy `0x4a4a7a`
to brand violet `0x8b5cf6` with higher opacity. Added explicit
`scene.background` and a 2000-point starfield for depth.
* 21 regression tests added in `ui-fixes.test.ts` locking every
invariant in (shared texture singleton, depthWrite:false, scale
×6, bloom magic numbers via source regex, starfield presence).
Tests: 1,284 Rust (+47) + 171 Vitest (+21) = 1,455 total, 0 failed
Clippy: clean across all targets, zero warnings
Release binary: 22.6MB, `cargo build --release -p vestige-mcp` green
Versions: workspace aligned at 2.0.5 across all 6 crates/packages
Closes #31
2026-04-14 17:30:30 -05:00
2026-01-25 13:31:37 -06:00
---
2026-01-25 01:31:03 -06:00
2026-06-29 15:23:55 -05:00
## 🧩 Works in every editor you use
2026-01-25 13:31:37 -06:00
2026-06-29 15:23:55 -05:00
Vestige speaks MCP, so any client that can register a stdio MCP server can use it.
2026-01-25 01:31:03 -06:00
2026-06-29 15:23:55 -05:00
| Editor | One-liner |
|---|---|
| **Claude Code** | `claude mcp add vestige vestige-mcp -s user` |
| **Codex** | `codex mcp add vestige -- vestige-mcp` |
| **Cursor / VS Code / Windsurf / JetBrains / Xcode / OpenCode** | [Integration guides → ](docs/integrations/ ) |
| **Claude Desktop** | [2-minute setup → ](docs/CONFIGURATION.md#claude-desktop-macos ) |
2026-01-25 01:31:03 -06:00
2026-06-29 15:23:55 -05:00
< details >
< summary > < b > Other install methods (Intel Mac, Windows, build-from-source)< / b > < / summary >
2026-01-26 01:31:58 -06:00
2026-06-29 15:23:55 -05:00
**Update an existing install:**
2026-01-27 02:28:39 -06:00
```bash
2026-06-29 15:23:55 -05:00
vestige update # binaries only
vestige update --sandwich-companion # also refresh optional Claude Code companion files
2026-01-26 01:31:58 -06:00
```
2026-06-29 15:23:55 -05:00
**macOS (Intel):** Microsoft is dropping x86_64 macOS ONNX Runtime prebuilts after v1.23.0, so the Intel Mac build links dynamically against a Homebrew ONNX Runtime:
2026-05-27 19:03:16 -05:00
```bash
2026-06-29 15:23:55 -05:00
brew install onnxruntime
npm install -g vestige-mcp-server@latest
echo 'export ORT_DYLIB_PATH="'"$(brew --prefix onnxruntime)"'/lib/libonnxruntime.dylib"' >> ~/.zshrc & & source ~/.zshrc
claude mcp add vestige vestige-mcp -s user
2026-05-27 19:03:16 -05:00
```
2026-06-29 15:23:55 -05:00
Full guide: [`docs/INSTALL-INTEL-MAC.md` ](docs/INSTALL-INTEL-MAC.md ).
2026-05-27 19:03:16 -05:00
2026-06-29 15:23:55 -05:00
**Windows + Claude Desktop:** quit Claude Desktop from the tray, then in PowerShell:
2026-05-27 19:03:16 -05:00
```powershell
2026-06-29 15:23:55 -05:00
npm install -g vestige-mcp-server@latest
vestige-mcp --version
2026-05-27 19:03:16 -05:00
```
2026-06-29 15:23:55 -05:00
Point `%APPDATA%\Claude\claude_desktop_config.json` at it:
```json
{ "mcpServers": { "vestige": { "command": "vestige-mcp" } } }
2026-05-27 19:03:16 -05:00
```
2026-06-29 15:23:55 -05:00
If it can't find the command, run `where vestige-mcp` and use the exact `.cmd` path.
2026-05-27 19:03:16 -05:00
2026-06-29 15:23:55 -05:00
**Build from source (Rust 1.91+):**
feat: Vestige v2.0.0 "Cognitive Leap" — 3D dashboard, HyDE search, WebSocket events
The biggest release in Vestige history. Complete visual and cognitive overhaul.
Dashboard:
- SvelteKit 2 + Three.js 3D neural visualization at localhost:3927/dashboard
- 7 interactive pages: Graph, Memories, Timeline, Feed, Explore, Intentions, Stats
- WebSocket event bus with 16 event types, real-time 3D animations
- Bloom post-processing, GPU instanced rendering, force-directed layout
- Dream visualization mode, FSRS retention curves, command palette (Cmd+K)
- Keyboard shortcuts, responsive mobile layout, PWA installable
- Single binary deployment via include_dir! (22MB)
Engine:
- HyDE query expansion (intent classification + 3-5 semantic variants + centroid)
- fastembed 5.11 with optional Nomic v2 MoE + Qwen3 reranker + Metal GPU
- Emotional memory module (#29)
- Criterion benchmark suite
Backend:
- Axum WebSocket at /ws with heartbeat + event broadcast
- 7 new REST endpoints for cognitive operations
- Event emission from MCP tools via shared broadcast channel
- CORS for SvelteKit dev mode
Distribution:
- GitHub issue templates (bug report, feature request)
- CHANGELOG with comprehensive v2.0 release notes
- README updated with dashboard docs, architecture diagram, comparison table
734 tests passing, zero warnings, 22MB release binary.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-22 03:07:25 -06:00
```bash
2026-06-29 15:23:55 -05:00
git clone https://github.com/samvallad33/vestige & & cd vestige
cargo build --release -p vestige-mcp
# Apple Silicon GPU: --features metal · NVIDIA: --features qwen3-embeddings,cuda
feat: Vestige v2.0.0 "Cognitive Leap" — 3D dashboard, HyDE search, WebSocket events
The biggest release in Vestige history. Complete visual and cognitive overhaul.
Dashboard:
- SvelteKit 2 + Three.js 3D neural visualization at localhost:3927/dashboard
- 7 interactive pages: Graph, Memories, Timeline, Feed, Explore, Intentions, Stats
- WebSocket event bus with 16 event types, real-time 3D animations
- Bloom post-processing, GPU instanced rendering, force-directed layout
- Dream visualization mode, FSRS retention curves, command palette (Cmd+K)
- Keyboard shortcuts, responsive mobile layout, PWA installable
- Single binary deployment via include_dir! (22MB)
Engine:
- HyDE query expansion (intent classification + 3-5 semantic variants + centroid)
- fastembed 5.11 with optional Nomic v2 MoE + Qwen3 reranker + Metal GPU
- Emotional memory module (#29)
- Criterion benchmark suite
Backend:
- Axum WebSocket at /ws with heartbeat + event broadcast
- 7 new REST endpoints for cognitive operations
- Event emission from MCP tools via shared broadcast channel
- CORS for SvelteKit dev mode
Distribution:
- GitHub issue templates (bug report, feature request)
- CHANGELOG with comprehensive v2.0 release notes
- README updated with dashboard docs, architecture diagram, comparison table
734 tests passing, zero warnings, 22MB release binary.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-22 03:07:25 -06:00
```
2026-06-29 15:23:55 -05:00
< / details >
2026-01-27 02:12:48 -06:00
---
2026-06-29 15:23:55 -05:00
## 🚀 Make your AI use memory automatically
2026-01-26 01:31:58 -06:00
2026-06-29 15:23:55 -05:00
Registering the server exposes the tools; a short instruction tells the agent *when* to call them. Drop in the protocol and your agent saves and recalls on its own:
2026-01-26 01:31:58 -06:00
2026-06-29 15:23:55 -05:00
| You say | Vestige does |
|---|---|
| *"Remember this"* | Saves immediately |
| *"I always..."* / *"I prefer..."* | Saves as a durable preference |
| *"Remind me when..."* | Creates a future trigger (`intention` ) |
| *"This is important"* | Saves **and** promotes it |
2026-01-26 01:31:58 -06:00
2026-06-29 15:23:55 -05:00
[Agent memory protocol → ](docs/AGENT-MEMORY-PROTOCOL.md ) · [Claude Code template → ](docs/CLAUDE-SETUP.md )
2026-02-12 17:18:15 -06:00
2026-06-29 15:23:55 -05:00
---
2026-02-12 17:18:15 -06:00
2026-06-29 15:23:55 -05:00
## 🏗 Under the hood
```
┌──────────────────────────────────────────────────────────┐
│ SvelteKit Dashboard — Three.js 3D graph · WebGL bloom │
├──────────────────────────────────────────────────────────┤
│ Axum HTTP + WebSocket (:3927) — REST + live event stream │
├──────────────────────────────────────────────────────────┤
│ MCP Server (stdio JSON-RPC) — 13 tools · 30 modules │
├──────────────────────────────────────────────────────────┤
│ Cognitive Engine │
│ FSRS-6 · Spreading Activation · Prediction-Error Gating │
│ Retroactive Salience Backfill · Synaptic Tagging │
│ Memory Dreamer · Hippocampal Index · Active Forgetting │
├──────────────────────────────────────────────────────────┤
│ Storage — SQLite + FTS5 · USearch HNSW · Nomic Embed v1.5│
│ Optional: Qwen3 reranker · SQLCipher · Metal/CUDA │
└──────────────────────────────────────────────────────────┘
```
| | |
|---|---|
| **Language** | Rust 2024 (MSRV 1.91) — **86,000+ lines** |
| **Binary** | ~23MB, single file |
| **Embeddings** | Nomic Embed Text v1.5 (768d→256d Matryoshka, 8192 ctx); Qwen3 optional |
| **Vector search** | USearch HNSW (≈20× faster than FAISS) |
| **Storage** | SQLite + FTS5, optional SQLCipher encryption |
| **Tests** | **1,550 passing** · clippy `-D warnings` clean |
| **First run** | Downloads ~130MB embedding model once, then **fully offline forever** |
| **Platforms** | macOS (ARM + Intel) · Linux x86_64 · Windows x86_64 — all prebuilt |
2026-01-26 01:31:58 -06:00
2026-06-29 15:23:55 -05:00
---
feat: Vestige v2.0.0 "Cognitive Leap" — 3D dashboard, HyDE search, WebSocket events
The biggest release in Vestige history. Complete visual and cognitive overhaul.
Dashboard:
- SvelteKit 2 + Three.js 3D neural visualization at localhost:3927/dashboard
- 7 interactive pages: Graph, Memories, Timeline, Feed, Explore, Intentions, Stats
- WebSocket event bus with 16 event types, real-time 3D animations
- Bloom post-processing, GPU instanced rendering, force-directed layout
- Dream visualization mode, FSRS retention curves, command palette (Cmd+K)
- Keyboard shortcuts, responsive mobile layout, PWA installable
- Single binary deployment via include_dir! (22MB)
Engine:
- HyDE query expansion (intent classification + 3-5 semantic variants + centroid)
- fastembed 5.11 with optional Nomic v2 MoE + Qwen3 reranker + Metal GPU
- Emotional memory module (#29)
- Criterion benchmark suite
Backend:
- Axum WebSocket at /ws with heartbeat + event broadcast
- 7 new REST endpoints for cognitive operations
- Event emission from MCP tools via shared broadcast channel
- CORS for SvelteKit dev mode
Distribution:
- GitHub issue templates (bug report, feature request)
- CHANGELOG with comprehensive v2.0 release notes
- README updated with dashboard docs, architecture diagram, comparison table
734 tests passing, zero warnings, 22MB release binary.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-22 03:07:25 -06:00
2026-06-29 15:23:55 -05:00
## 📚 Go deeper
2026-02-12 17:18:15 -06:00
2026-06-29 15:23:55 -05:00
| | |
|---|---|
| [**FAQ** ](docs/FAQ.md ) | 30+ real questions answered |
| [**The Science** ](docs/SCIENCE.md ) | Every feature, every paper |
| [**Storage Modes** ](docs/STORAGE.md ) | Global · per-project · multi-instance |
| [**Configuration** ](docs/CONFIGURATION.md ) | CLI, env vars, every knob |
| [**Changelog** ](CHANGELOG.md ) | The full story, version by version |
2026-02-12 17:18:15 -06:00
2026-01-26 01:31:58 -06:00
---
2026-06-29 15:23:55 -05:00
< div align = "center" >
2026-01-26 01:31:58 -06:00
2026-06-29 15:23:55 -05:00
### If your agent should remember what you taught it yesterday — star it. ⭐
2026-01-25 01:31:03 -06:00
2026-06-29 15:23:55 -05:00
< sub > < b > 86,000+ lines of Rust · 13 tools · 30 cognitive modules · 130 years of memory research · one 23MB binary that never phones home.< / b > < / sub >
2026-01-25 01:31:03 -06:00
2026-06-29 15:23:55 -05:00
< sub > Built by < a href = "https://github.com/samvallad33" > @samvallad33 </ a > · AGPL-3.0 · 100% local, 100% yours</ sub >
2026-01-25 01:31:03 -06:00
2026-06-29 15:23:55 -05:00
< / div >