mneme · genesis Stryx Labs
01 07 — Capabilities
//01Capabilities · the six

Six capabilities.
One memory.

Mneme's job is to know every symbol, edge, and decision in your project — then expose that knowledge through tools any MCP host can call. Here is each capability in detail.

//02SR · keystone capability

Symbol Resolver.
Three real ones.

rustc-driver for Rust, ts-server adapter for TypeScript, Pylsp for Python. They take syntactic names and canonicalize them to one logical symbol per name.

// Three names, one canonical symbol
super::spawn(args)         // → crate::manager::WorkerPool::spawn
manager::WorkerPool::spawn(args)  // → crate::manager::WorkerPool::spawn
spawn(args)  // in scope of `use crate::manager::*` → crate::manager::WorkerPool::spawn
Why it matters: the difference between an AI agent that confidently answers "where is this called?" and one that returns 12 false-positive grep hits. The keystone of Genesis. Closes recall from 2/10 to ~6/10.
//03PT · agent guidance

Soft-Redirect Hooks.
Never blocking.

When the AI host calls Grep on something resolver-shaped, a PreToolUse hook quietly injects a hint pointing at find_references. It's fail-open — if Mneme isn't running, the original Grep goes through unchanged.

# Agent calls:
claude> Grep "WorkerPool::spawn" ./src

# Mneme hook injects:
hint: mneme.find_references("WorkerPool::spawn") is structural & faster
      returning 12 exact callers, 5 deps, 3 tests instead of 47 regex hits.
Why it matters: the AI host assumes Grep is how you find code. Mneme rewrites that habit without breaking the host. Three-layer hook architecture: PreToolUse for the hint, ledger for the decision, post-completion for telemetry.
//04VG · graph visualization

Vision SPA.
14 views.

Call graph, dependency mesh, force-directed galaxy, time-travel, treemap, sunburst, sankey, ProjectGalaxy3D (full 3D rotation), hierarchy tree, community clusters, more. All paint in under 500 ms on a 50k-node graph thanks to server-pre-computed layouts.

$ mneme view
  → Opening Vision SPA on http://127.0.0.1:7331
  → 14 views ready · 50k-node layout pre-computed
Why it matters: an AI agent can name a symbol. A human still wants to see the structure. Vision SPA is the seeing.
//05MC · agent surface

50 MCP Tools.
All local.

Every query the AI needs, exposed as standard MCP tools over stdio. Recall, blast radius, call graph, audit suite, refactor suggestions, drift detection. Local, deterministic, audited. Output schemas are honest.

// Sample call from an MCP-aware host
tools/call: mneme_recall
  symbol: "WorkerPool::spawn"
  budget_tokens: 2000

// Returns structured response:
callers: 12 · deps: 5 · tests: 3
files: [supervisor/src/health.rs, cli/src/commands/build.rs, ...]
decisions_assumed: [idempotency, retry-policy]
Why it matters: MCP is the universal wire. Any client that speaks it gets all 49 tools. Mneme isn't a Claude plugin or a Cursor plugin — it's an MCP server, period.
//06LO · privacy by design

Local-Only.
Zero outbound.

Daemon binds to 127.0.0.1 only. Embeddings via ONNX Runtime on your CPU. Optional LLM via llama.cpp on your CPU/GPU. The graph lives in plain SQLite under ~/.mneme. No telemetry. No cloud sync.

$ mneme doctor --network
  ✓ daemon socket: 127.0.0.1:7331 (origin-validated)
  ✓ outbound: 0 connections (default config)
  ✓ telemetry: not configured (never has been)
  ○ federation: disabled (opt-in only)
Why it matters: if "AI tools" means "your code in someone else's cloud", most engineers say no. Mneme's local-only stance is the precondition for adoption inside teams that take privacy seriously — finance, defense, healthcare, you.
//07HR · keeping pace

Hot Rebuild.
On every save.

The daemon watches your tree. Save a file and the affected slice of the graph re-builds in under a second. Not the whole project — just the symbols that depend on what changed.

$ mneme log
  ✓ supervisor/src/manager.rs · saved
  ✓ rebuilt: 14 symbols, 32 edges · 287 ms
  ✓ embeddings: 3 vectors refreshed
  ○ idle
Why it matters: an AI agent asking "what changed?" needs an answer measured in seconds, not minutes. Hot rebuild keeps Mneme honest as the code moves under it.