v1.6.3
05 Jun 2026 — FadeMem Intelligence Layer · MCP Connectors · Adaptive Decay · Provider-Agnostic LLM · Graph Fix
FadeMem Intelligence Architecture — Layers 0–6
Full implementation of the FadeMem decay architecture (arXiv:2601.18642, Feb 2026) and Adaptive Budgeted Forgetting (arXiv:2604.02280, Apr 2026) into the VEKTOR memory pipeline. To our knowledge the first production SDK implementation of either paper.
-
Layer 0 — Pre-ingest signal filter (
vektor-intake.js): NER/verb density scoring, source trust matrix (15 source types × 4 actor types), bot signature detection. Drops structural noise before any DB write. -
Layer 1 — Dual-tier memory (LML/SML):
importance_score,memory_layer,strengthcolumns. Initial importance computed from FadeMem formulaI = 0.4×rel + 0.3×freq_sat + 0.3×recencyafter embedding, scored against standing query vectors. -
Layer 2 — Adaptive decay (
vektor-decay.js): Stretched exponentialv(t) = v(0) × exp(-λ × t^β), β=0.8 LML / 1.2 SML. Causal decay suppression via trigger-cachedmax_child_importance. Access reinforcement with diminishing returns. LML half-life ~11d, SML ~5d. -
Layer 3 — Conflict resolution (
vektor-conflict.js): Five-verdict AUDN upgrade (COMPATIBLE, CONTRADICTORY, SUBSUMES, SUBSUMED, NO_OP). 2D trust matrix prevents automated sources suppressing human ones. -
Layer 4 — Memory fusion (
vektor-fusion.js): LLM-guided cluster consolidation during REM cycle. Variance-boosted strength on fused nodes. Source memories moved to cold storage. -
Layer 5 — Budgeted pruning (
vektor-prune.js): Knapsack pruning with sub-linear token costsqrt(tokens). Per-source node limits enforced at sync time. Source budget table seeded at migration. -
Layer 6 — Additive reranking (
vektor-recall-ranked.js): Composite score0.5×sim + 0.2×strength + 0.15×importance + 0.15×causal_weightapplied as final pass after cross-encoder rerank.
Schema Migration 162 — 21 New Migrations
migrate-162.js: importance_score, memory_layer, strength, access_count, last_decay_calc, decay_rate, source_type, actor_type, trust_score, max_child_importance, cold_storage, cold_at. Tables: vektor_cold_storage, vektor_standing_queries, vektor_source_budgets, vektor_sync_cursors, vektor_sync_health. Three SQLite triggers maintaining causal cache on importance changes and edge insert/delete.
MCP Connector Layer
vektor-mcp-reader.js and vektor-connector-base.js: MCP stdio connector pipeline syncing external tools into VEKTOR memory. Filesystem and GitHub connectors added to setup wizard Step 10. GitHub connector uses dedicated fetchGithubItems strategy (list_issues, list_commits, list_pull_requests) with owner/repos from wizard config. Staggered ingestion (5ms between writes, 200-item cap per run). Sync cursor table prevents re-scanning history.
Provider-Agnostic LLM
vektor-llm-provider.js: All 15 wizard providers supported (groq, claude, openai, gemini, mistral, deepseek, together, cohere, xai, minimax, nvidia, perplexity, lmstudio, litellm, ollama). Reads user config — no hardcoded API keys. Replaces Groq hardcoding in vektor-conflict.js, vektor-fusion.js, vektor-standing.js, vektor-sleep.js.
Standing Queries — Auto-Evolving Context
vektor-standing.js: Weekly synthesis from top-15 LML memories via configured LLM provider. Goal statements embedded with local model and stored as vectors. Used as rel component in FadeMem importance scoring for background syncs. 14-day TTL.
Graph Visualisation Fix
vektor-graph-server.js: ns namespace variable undefined in apiGraph() SQL handler caused all graph API calls to return {ok: false, error: "ns is not defined"}. Graph UI showed spinner indefinitely. Fix: extract ns from URL params before SQL clause construction.
REM Cycle
vektor-sleep.js: Orchestrates decay → fusion → prune → standing in sequence. All apiKey guards removed — provider config used instead. REM cycle confirmed at 716ms on 17,523-node graph.
Causal Inference Engine — Four-Phase, Zero Dependencies
Full causal reasoning layer deployed to src/causal/. Node ≥18 required, no external dependencies.
-
Phase 1 — G-Formula estimator (
gformula-estimator.js) — ATE identification and estimation using the G-computation formula over the MAGMA causal graph. -
Phase 2 — MSM / IPW estimator (
msm-estimator.js) — Marginal structural model estimation via inverse probability weighting, handling time-varying confounders across memory timelines. -
Phase 3 — IV Bounds estimator (
iv-bounds-estimator.js) — Instrumental variable partial identification bounds (Manski-style) for causal effect estimation when unobserved confounders are present. -
Phase 4 — Root Cause Analysis Engine (
vektor-rca-engine.js) — Combines all prior phases to build an intervention graph, trace agent failures backwards through the causal chain, score root causes by impact, and predict fix outcomes.
CLI test harness (cli-test.js) ships with --verbose and --phase flags for targeted phase testing. 31 tests passing across all four phases.
DeepFlow v2 — Deterministic 8-Step Pipeline
The vektor.mjs deep agent path (deep:true) has been rebuilt as a fully deterministic pipeline, replacing the prior unbounded loop. Pipeline stages: DECOMPOSE → VAULT-FIRST → SWEEP → LOCI → COMMIT → ADVERSARIAL → SYNTHESISE → CRITIC+PATCH. Three new tools added: adversarial_search, loci_rank, and patch. DeerFlow renamed to DeepFlow throughout. The /agent path (deep:false) is unchanged. A full syntax repair pass was applied — BOM removal, optional chaining and nullish coalescing fixes, stray markdown commented out.
JOT Collab — Two-Pass Article Generation
Groq LLaMA two-pass generation system integrated into the JOT SDK: rate-limit handling with automatic backoff, API key rotation across multiple Groq keys, APA7 citation infrastructure, and a post-generation citation scanner. Full bug audit of four core JOT files with critical fixes applied via fix-criticals.js. JOT v1.5.x additions also included: TAG pill and /api/ai/transform tag prompt (v1.5.2), notes RAG wired into /api/memory/think, vektor ask libuv Windows assertion crash resolved (v1.5.7), and lightbulb indicator overlap fix (v1.5.8).
Download Server — Version Mount Fix
The licence-gated download endpoint was serving vektor-slipstream-1.5.8.tgz despite the tarball at ~/downloads/ and ~/vektor-monorepo/releases/ being updated to v1.6.3. Root cause: PM2 bakes environment variables into the process at launch time. dotenv does not override variables already present in process.env, so updating .env and running pm2 restart --update-env both silently preserved the stale VERSION_SLIPSTREAM=1.5.8 value. Fix: delete the PM2 process and re-register with the version passed explicitly at start time, then pm2 save to persist. Affected service: vektor-server (vektor-monorepo).
better-sqlite3 — Bundled Binary (Windows)
better-sqlite3 moved from optionalDependencies to dependencies with a pre-built Windows binary bundled under bundled/better-sqlite3/build/Release/. Eliminates the npm rebuild requirement on Windows installs where native build toolchains are absent. The loader uses process.chdir() before requiring the native module so the relative path resolution is correct regardless of working directory. postinstall.js silently skips the rebuild step when the bundled binary is present.
sqlite-vec — ANN Recall Wired
sqlite-vec upgraded to ^0.1.9. The vec_memories virtual table schema is now created on DB init and the write path stores quantized float32 vectors alongside the BM25 FTS5 index. Recall falls back gracefully to cosine scan if sqlite-vec fails to load (e.g. architecture mismatch). ANN nearest-neighbour swap replaces full cosine scan for large graphs (>5,000 memories), reducing p95 recall latency by ~60%.
MAGMA Graph — vektor_status and vektor_related Tools
Two new MCP tools shipped in the CLOAK layer:
-
vektor_status — lightweight memory health check returning memory count, namespace, last store timestamp, and embedder mode. Designed for session auto-probe without triggering a full recall pass.
-
vektor_related — traverses memory graph edges for a specific memory ID, returning typed neighbours (semantic / causal / temporal / entity) up to N hops. Replaces manual
memory.graph()calls in agentic workflows.
Bug Fix — Percept isOnTopic Threshold
The Percept Chat Layer was firing topic-match hints too aggressively. The isOnTopic cosine score threshold was lowered from 0.35 to 0.25, reducing false-positive interruptions during tangential conversation turns. Affected module: vektor-percept-chat.js.
Bug Fix — vektor rem (memory.dream() removed)
The npx vektor rem CLI command was calling memory.dream(), a method removed in v1.5.4. The command now uses memory.stats() to retrieve fragment counts and memory.recall() to seed the compression pass, matching the current API surface. Affected module: vektor.mjs.
Infrastructure — GUI API Proxy Routes
Relative /api/memory/* calls from vektor-graph-ui.html were hitting the wrong server when the GUI was served from a non-default port. Proxy routes added to the local graph server so all /api/memory/think and /api/memory/remember calls resolve correctly regardless of serving context. Affected module: vektor-graph-server.js.
Full changelog: Changelog — VEKTOR Slipstream Docs