Skip to content

Releases: GoVanAI/mem-graph

v0.3.0 - Cognitive OS agent practice

Choose a tag to compare

@GoVanAI GoVanAI released this 09 Aug 17:59

v0.3.0 — Cognitive OS agent practice

Feature release building on v0.2.1. The existing memory and graph tools remain
available; the Cognitive OS schema and MCP surfaces are additive.

Highlights

  • Eight Cognitive OS tools, bringing the complete MCP surface to 35 tools.
  • Immutable, hash-linked evidence events with scoped correlation, causation,
    and idempotency support.
  • Candidate-policy creation, lookup, and evaluation without automatic
    promotion or authority expansion.
  • Governing and contextual current-guidance lanes plus a non-mutating
    diagnostic surface.
  • A strictly read-only cognitive_agent_bootstrap that resolves project scope,
    snapshots requested canonical records, and returns policy and guidance
    candidates without appending events or touching access counters.
  • A portable agent-practice contract with generated Codex, Claude, Gemini, and
    vendor-neutral adapters, deterministic compliance grading, and an optional
    MiniMax review path.
  • Updated cross-client setup documentation and a portable Windows launcher.

Safety boundaries

  • Retrieval rank and governing eligibility do not establish authority.
  • Candidate policies remain advisory and cannot broaden permissions.
  • _global guidance stays excluded unless explicitly requested.
  • Hook-driven candidate detection and hard enforcement remain disabled.

Verification

  • 16 test files / 167 tests passed.
  • npx tsc --noEmit passed.
  • Generated agent-practice adapters passed freshness checks.
  • Focused agent-practice tests passed.
  • The frozen coverage harness reproduced deterministic baseline and treatment
    results.

Upgrade

Pull or download v0.3.0, run npm install, and restart the MCP server. Existing
memory databases are retained; the Cognitive OS tables are initialized
additively when the server starts.

v0.2.1 — bugfix release

Choose a tag to compare

@GoVanAI GoVanAI released this 25 Jul 21:11

v0.2.1 — bugfix release

Drop-in upgrade from v0.2.0. No schema changes, no breaking API changes.

Bug fixes

memory_synapse_traverse returned [] despite wikilink synapses existing.

The MCP tool wrapper for synapse traversal had a SQL parameter-binding bug: it built params as [min_weight, connection_type, id, limit] while the SQL's ? placeholders appear in order [JOIN.source_id, WHERE.weight, WHERE.connection_type, LIMIT]. With default min_weight=0, the JOIN's source_id placeholder got bound to 0 — filtering every synapse to source_id=0, which matches nothing.

This broke any client that relied on synapse traversal, including evidence-counting procedures in the reflection skill.

Fix: Extracted runSynapseTraverse helper into src/access.ts with explicit, ordered param binding (JOIN placeholders first, WHERE next, LIMIT last). Refactored memory_synapse_traverse MCP handler to delegate to the helper.


Decay's access-based exemption was dead code.

synapses.access_count was effectively never written. Only memory_get(include_synapses=true) bumped it; every other retrieval path left the counter at 0. Decay's exemption logic (>3 mid-exempt, >10 hot-exempt thresholds) was unreachable. Verified pre-fix: 0 of 378 synapses crossed the >10 threshold.

Fix: Extracted bumpMemoryAccess + bumpSynapseAccess helpers into src/access.ts. Wired into runActivate (result-set neighborhood) and memory_get (unconditional). Critical constraint preserved: synapses.updated_at is not touched on access — preserves the "slow-fading glory" semantic.

Stats

  • Tests: 121 → 138 (+17)
  • Files changed: 10
  • Insertions: +792 / deletions: −55

🤖 Generated with Claude Code

v0.2.0 - Initial public release

Choose a tag to compare

@GoVanAI GoVanAI released this 04 Jul 22:14

v0.2.0 — Initial public release

Solo learning build exploring graph-relational memory as an MCP substrate. This is the first public commit.

What's in this release

  • 27 MCP tools across 6 groups (SQL, Orient, Search, Write, Graph, Import)
  • 108 vitest tests across 9 files, ~500ms total runtime
  • Layered memory model: 5 layers (working, episodic, procedural, semantic, partner) with layer-aware synaptic decay
  • Graph layer: [[wikilink]] syntax, BM25 auto-linking, spreading activation, decay matrix with access-based exemption
  • SQLite substrate (better-sqlite3 + FTS5, porter stemmer, 2/3-char prefix)
  • One-shot v1 to v2 migration tool (memory_import_from_mem_sol)

Schema at a glance

  • memories — relational layer with summary, confidence, boost, lifecycle, importance
  • synapses — graph edges, 3 connection types (wikilink, bm25_auto, parent_child), weights 0.0 to 5.0
  • memory_tag — junction table (no JSON tags)
  • memories_fts — FTS5 mirror kept in sync by triggers
  • decay_matrix — per layer-pair + connection-type decay rates, wildcard fallback

Bootstrap

On first launch into an empty DB, 4 bootstrap entries document purpose, design philosophy, schema reference, and an example wikilink exercise. Searchable via memory_search after install.

Install

Clone the repo, install deps, and start the server locally:

git clone https://github.com/GoVanAI/mem-graph
cd mem-graph
npm install
npm start

See the README's Install section for the MCP client registration snippet (Claude Code, opencode, or any MCP-compatible client).

Not in scope (yet)

  • Production hardening or peer-validated benchmarks
  • Plugin marketplace wrapping (MCP server only)
  • Auto-link-on-read semantics (write-time BM25 only)
  • cwd to project binding
  • Entry versioning beyond the basic memory_supersede tool

License

MIT - Copyright (c) 2026 GoVanAI