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>
This commit is contained in:
Sam Valladares 2026-02-22 03:07:25 -06:00
parent 26cee040a5
commit c2d28f3433
321 changed files with 32695 additions and 4727 deletions

View file

@ -0,0 +1,51 @@
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1, viewport-fit=cover" />
<meta name="theme-color" content="#050510" />
<meta name="description" content="Vestige — Cognitive Memory Dashboard. 3D visualization of your AI's long-term memory." />
<meta name="apple-mobile-web-app-capable" content="yes" />
<meta name="apple-mobile-web-app-status-bar-style" content="black-translucent" />
<meta name="apple-mobile-web-app-title" content="Vestige" />
<link rel="icon" type="image/svg+xml" href="/favicon.svg" />
<link rel="apple-touch-icon" href="/favicon.svg" />
<link rel="manifest" href="/manifest.json" />
<link href="/dashboard/_app/immutable/entry/start.BdzkYIOY.js" rel="modulepreload">
<link href="/dashboard/_app/immutable/chunks/rHGvVkdq.js" rel="modulepreload">
<link href="/dashboard/_app/immutable/chunks/DleE0ac1.js" rel="modulepreload">
<link href="/dashboard/_app/immutable/chunks/DrTsYth1.js" rel="modulepreload">
<link href="/dashboard/_app/immutable/chunks/DZf5toYK.js" rel="modulepreload">
<link href="/dashboard/_app/immutable/entry/app.BBPt9AEJ.js" rel="modulepreload">
<link href="/dashboard/_app/immutable/chunks/8PSwG_AU.js" rel="modulepreload">
<link href="/dashboard/_app/immutable/chunks/wmwKEafM.js" rel="modulepreload">
<link href="/dashboard/_app/immutable/chunks/BHs8FnOA.js" rel="modulepreload">
<link href="/dashboard/_app/immutable/chunks/BolYP48w.js" rel="modulepreload">
<link href="/dashboard/_app/immutable/chunks/D6XtQ4nY.js" rel="modulepreload">
<link href="/dashboard/_app/immutable/chunks/D-x7U94i.js" rel="modulepreload">
<link href="/dashboard/_app/immutable/chunks/M1z6VHZC.js" rel="modulepreload">
<title>Vestige</title>
</head>
<body data-sveltekit-preload-data="hover">
<div style="display: contents">
<script>
{
__sveltekit_1m0l582 = {
base: "/dashboard",
assets: "/dashboard"
};
const element = document.currentScript.parentElement;
Promise.all([
import("/dashboard/_app/immutable/entry/start.BdzkYIOY.js"),
import("/dashboard/_app/immutable/entry/app.BBPt9AEJ.js")
]).then(([kit, app]) => {
kit.start(app, element);
});
}
</script>
</div>
</body>
</html>