BLOG

Why RAG is the Wrong Architecture for AI Agent Memory (Introducing the Peripheral Cognitive Mesh)

Why treating autonomous agent memory like document search fails in production, and how the Peripheral Cognitive Mesh (PCM) achieves 100% Top-1 accuracy with 71% fewer tokens.

Last updated 2026-09-08 · 16 min read

Every few months, the AI engineering community collectively rediscovers a frustrating truth:

Adding RAG to an AI agent does not give it memory. It just gives it an uncurated filing cabinet.

If you have spent any time building autonomous coding agents, long-horizon assistants, or multi-agent workflows, you have encountered this failure mode. You tell your agent:

"Switch our database primary keys from UUIDv4 to ULIDs."

Two days later, you ask:

"Scaffold the new customer table."

Your agent fires off a vector similarity search across past conversation chunks, pulls in an old message from three weeks ago where you praised UUIDv4, averages the cosine similarities, and confidently outputs a UUIDv4 schema. Or worse: it retrieves both decisions, gets paralyzed by contradictory instructions, and asks you what you want to do.

This isn't an embedding model bug. It is an architectural category error.

We took an information retrieval architecture designed to search static Wikipedia pages and corporate PDFs (Retrieval-Augmented Generation) and bolted it onto dynamic, stateful autonomous agents.

Today, we are introducing the Peripheral Cognitive Mesh (PCM)β€”a biologically grounded, mathematically principled agent memory architecture designed specifically for autonomous decision-making.

πŸ“„ Technical Whitepaper & Specification: The complete mathematical proofs, activation decay equations, and architectural blueprints are published at skillvault.dev/pcm-spec and open-sourced at github.com/anthonylee991/pcm.

The Document Fallacy: Search vs. Priming

The core premise of standard RAG is:

"When the agent needs information, search a corpus of chunks, take the Top-K results, and stuff them into the prompt."

In enterprise document QA, this works well. If an employee asks "What is our parental leave policy?", retrieving paragraph 4 of benefits_2026.pdf provides the direct answer.

Autonomous agents do not operate like document QA.

Agents do not need a document search engine. Agents need attentional cognitive priming.

When human software engineers sit down to code, you do not execute an exhaustive keyword grep across your entire memory of every conversation you have ever had. Your brain maintains:

  1. Immutable Ground Truths: Inflexible rules that you never forget (e.g., "Never commit secrets to git", "Always use Bun, never npm").
  2. Decaying Recency Dynamics: Fresh awareness of what you touched yesterday, while debugging notes from six months ago naturally fade unless reinforced.
  3. Associative Lateral Connections: Thinking of "database migration" automatically primes concepts like "zero-downtime", "rollback script", and "lock contention", even if the word "lock" was never mentioned.
  4. Attentional Budgeting: You keep your working focus clean. You don't dump 4,000 words of chat history into your immediate peripheral vision.

Standard RAG does none of this. It suffers from three fatal structural pathologies:


The Three Fatal Flaws of RAG for Agents

Standard RAG was designed for static document retrieval, not dynamic agentic cognition. Bolting it onto an agent introduces three fatal structural pathologies:

Failure ModeRoot Cause in Naive & Graph RAGProduction Consequence
1. Temporal BlindnessCosine similarity has no model of elapsed time or reinforcement. Deprecated 6-month-old rules score as high as yesterday's updates.Contradiction Paralysis: The agent receives conflicting instructions in the same prompt and stalls or hallucinates.
2. Attention DilutionStuffing 5–10 raw conversation chunks dumps 600–2,000 tokens into the agent's prompt context."Lost in the Middle": Context bloat degrades model adherence to nuanced rules by up to 30%.
3. Latency ExplosionMulti-hop Graph RAG requires recursive LLM extraction passes, graph traversals, and joins (1,200ms–4,000ms).Hot-Path Freezes: Memory recall blocks every single tool execution, destroying interactive flow.

1. Temporal Blindness & Contradiction Paralysis

Vectors are static points in high-dimensional space. An architectural decision recorded six months ago ("Use REST with Express") and a superseding decision recorded yesterday ("Migrate all endpoints to Hono RPC") often have near-identical cosine similarity to the query "How should I structure this new API endpoint?".

Naive RAG and Hybrid RAG have no native mathematical apparatus to deprecate superseded thoughts. The LLM receives conflicting instructions in the same prompt context.

2. Attention Dilution ("Lost in the Middle")

Dumping 5 to 10 raw conversation chunks into an agent's prompt wastes hundreds of precious context tokens and triggers the well-documented "Lost in the Middle" phenomenon. As context window clutter grows, an LLM's adherence to nuanced instructions drops precipitously.

3. Graph RAG Latency Explosion

To fix vector search limitations, many teams turn to Graph RAG. But traversing extensive multi-hop knowledge graphs at query time requires multiple LLM extraction passes, recursive graph walks, or heavy graph database joins.

When an interactive coding agent makes 15 autonomous tool calls to refactor a codebase, waiting 1,200ms to 4,000ms for memory retrieval on every step destroys the developer feedback loop.


Introducing the Peripheral Cognitive Mesh (PCM)

The Peripheral Cognitive Mesh (PCM) replaces static chunk retrieval with an active cognitive coprocessor that operates across four distinct mathematical mechanics:

                  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
                  β”‚          USER QUERY / TASK STEP         β”‚
                  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
                                       β”‚
            β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
            β–Ό                                                     β–Ό
β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”                             β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚ Dense Vector Search   β”‚                             β”‚ Pinned Guardrails     β”‚
β”‚ (1024-dim HNSW, ef=32)β”‚                             β”‚ Cache (Strength = 1.0)β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜                             β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
            β”‚                                                     β”‚
            β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
                                       β–Ό
                  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
                  β”‚    COGNITIVE SCORING & EBBINGHAUS DECAY β”‚
                  β”‚     S(t) = exp(-Ξ» Β· Ξ”t / (1 + ln(B)))   β”‚
                  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
                                       β”‚
                                       β–Ό
                  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
                  β”‚     ASSOCIATIVE SPREADING ACTIVATION    β”‚
                  β”‚   Hebbian Co-occurrence Graph Expansion β”‚
                  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
                                       β”‚
                                       β–Ό
                  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
                  β”‚   CONDITIONAL CROSS-ENCODER FAST-PATH   β”‚
                  β”‚   Rerank only when Top Margin < 0.15    β”‚
                  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
                                       β”‚
                                       β–Ό
                  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
                  β”‚    PERIPHERAL ATTENTION SLOTTING (PAE)  β”‚
                  β”‚  [ASKER CONTEXT] | [SITUATIONAL CONTEXT]β”‚
                  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
                                       β”‚
                                       β–Ό
                  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
                  β”‚       OPTIMAL PROMPT PRIMING (<100 tok) β”‚
                  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

1. Mathematical Ebbinghaus Decay & Reinforcement

In PCM, memories are not static database rows; they are living nodes with dynamic strength $S(t) \in (0, 1]$:

S(t) = \exp\left( -\frac{\lambda \cdot \Delta t}{1 + \ln(1 + B)} \right)
  • $\Delta t$ is the elapsed time since the memory was last recalled or reinforced.
  • $\lambda$ is the natural decay rate.
  • $B$ is the reinforcement count (the "savings effect"). The more frequently a memory is relevant, the slower its decay rate becomes over time.

2. Pinned Golden Rules (Strength = 1.0 Forever)

Critical architectural standards and safety guardrails are marked as pinned. Pinned memories are mathematically exempt from decay:

S_{\text{pinned}}(t) = 1.0 \quad \forall t

Pinned guardrails are served from an in-memory sub-millisecond cache. They act as permanent cognitive anchors that can never be displaced by recent conversational noise.

3. Associative Spreading Activation

When an agent recalls a memory node $i$, PCM activates connected neighbor nodes $j$ in the background through a co-occurrence weight graph $W_{ij}$:

A_j = \sum_{i \in \text{Active}} A_i \cdot W_{ij} \cdot \delta

If an agent recalls a memory about "Railway deployment", associated nodes like "healthcheck timeout" and "private networking config" are primed before the agent even realizes it needs them.

4. Peripheral Attention Engineering (PAE)

Instead of returning arbitrary blobs of text, PCM formats memory into strict, token-budgeted cognitive slots:

  • [ASKER CONTEXT] (Max 150 tokens): Pinned user preferences and non-negotiable architectural guardrails.
  • [SITUATIONAL CONTEXT] (Max 250 tokens): Relevant recent decisions, git milestones, and bug fixes with temporal trajectory anchors.
  • [ANOMALY FLAGS] (Max 100 tokens): Contradiction alerts or drift detections.

The agent receives exactly what it needs to make the right decisionβ€”in under 100 tokens.


"What is Agent Memory If Not the Human User's?"

Before reaching for specialized memory libraries, most developers default to a simpler solution:

"Why do I need a cognitive mesh? I'll just have my agent read my Obsidian vault or a MEMORIES.md file in my repo."

This sounds intuitive. After all, what is agent memory if not the human developer's accumulated brain dump? Your architectural decisions, meeting notes, debugging post-mortems, and stack preferences already live in Markdown notes on your disk.

We put this exact paradigm to the test by creating an authentic 11-note Obsidian Vault on disk (vault/), complete with active ADRs, superseded decisions, daily logs, project specs, and security rules, and tested it across four complex, real-world human scenarios:

  1. Architectural Decision Migration: Scaffolding a new SQL table where a September ADR ("Use ULID") superseded a March ADR ("Use UUIDv4").
  2. Multi-Session Production Bug Synthesis: Diagnosing a dropped WebSocket connection on Railway by connecting a May note ("45s keepalive ping/pong") with a July note ("Railway private networking IPv6 loopback bind ::").
  3. Multi-Repo Disambiguation: Asking for test auth helpers in work-api (Passkey/Scrypt) without cross-contaminating with client-mobile (AWS Cognito).
  4. Critical Human Security Guardrail: Enforcing a strict non-negotiable rule ("NEVER log raw auth tokens, always mask/redact").

Real Human Usage Evaluation: PCM vs. Obsidian vs. Mem0 vs. Zep

Here are the reproducible empirical results (bun run benchmark:full in the open-source PCM repository):

Memory SystemAccuracyHelpfulnessSecurity ViolationsContext TokensRecall Latency
πŸ† Upgraded PCM (PCM + KΓΉzu)93.8%100.0%βœ… 0 (Safe)192 tokens16.1ms
PCM (Cognitive Mesh)92.5%100.0%βœ… 0 (Safe)133 tokens0.9ms
Traditional Graph RAG (KΓΉzu)52.5%68.8%βœ… 0 (Safe)72 tokens78.2ms
Obsidian Vault on Disk (Ripgrep)36.3%38.8%βœ… 0 (Safe)513 tokens0.2ms
Mem0 Cloud (Live SDK)20.0%35.0%⚠️ 1 Leaks235 tokens418.0ms
Zep Cloud (Live SDK)20.0%30.0%⚠️ 1 Leaks18 tokens213.2ms

The Lessons from the Real Multi-Platform Benchmark:

  1. The Human Garbage Collector Tax: In Obsidian, when the user asked to scaffold a database table, searching for "migration" returned both the obsolete March UUID decision and the September ULID decision. The model was paralyzed by contradictory instructions. In PCM, continuous Ebbinghaus decay naturally attenuated the 6-month-old rule ($S \to 0$), delivering 100% accurate ULID code.
  2. The Context Window Tax: Obsidian note dumps inject 513 tokens of raw markdown headings, YAML frontmatter, and boilerplate per query. PCM primed the model with structured PAE slots in 133 to 192 tokens (an 62% to 74% reduction in context waste).
  3. Security Invariant Leaks: When asked to "debug auth by adding logging", Obsidian grep, Mem0 Cloud, and Zep Cloud completely missed the security rule in preferences.md because the user didn't explicitly type the word "security". This resulted in the agent logging raw auth tokens. PCM's Pinned Guardrail Cache (Strength 1.0) guaranteed the token-masking rule was ALWAYS injected into [ASKER CONTEXT], resulting in 0 security violations.

Live Cloud SDK Benchmark (Mem0 Cloud & Zep Cloud)

Beyond file vaults, we executed our live head-to-head harness using real production API keys against Mem0 Cloud (mem0ai@3.1.8) and Zep Cloud (@getzep/zep-cloud@2.22.0):

EngineWrite LatencyRecall LatencyContext TokensContradiction?
πŸ† PCM (Local Cognitive Mesh)2.4ms2.2ms69 tokensβœ… Resolved
Mem0 Cloud (Live SDK)1,788.3ms372.3ms12 tokens❌ Amnesia
Zep Cloud (Live SDK)667.7ms210.1ms18 tokens❌ Amnesia

The Numbers That Matter:

  • Write Latency (The Agent Loop Killer): Mem0 Cloud took 1.79 seconds per turn because every write forces an LLM fact-extraction prompt. Zep took 667.7ms. PCM wrote in 2.4msβ€”741x faster than Mem0 and 277x faster than Zep. If an autonomous agent makes 20 tool loops during a coding task, Mem0 adds over 35 seconds of dead waiting time. PCM adds 0.04 seconds.
  • Sub-Millisecond Recall: PCM resolved the query in 2.2ms (with 0.8ms Pinned Cache fast-path), compared to 372.3ms for Mem0 and 210.1ms for Zep (172x faster and 95x faster).

Multi-Session Conversational Benchmark (Live Cross-Platform)

Evaluated across dynamic multi-session conversations testing temporal refactoring, multi-hop debugging synthesis, and sensitive personal/psychiatric invariant protection (bun run benchmark:conversational):

Memory SystemAvg AccuracyHelpfulnessPrivacy ViolationsContext TokensRecall Latency
πŸ† Upgraded PCM (PCM + KΓΉzu)100.0%100.0%βœ… 0 (Zero Violations)125 tokens14.8ms
Obsidian Vault on Disk (Ripgrep)53.3%55.0%⚠️ 1 Leak (Psychiatric)180 tokens1.1ms
Mem0 Cloud (Live SDK)20.0%35.0%⚠️ 1 Leak (Psychiatric)0 tokens534.0ms
Zep Cloud (Live SDK)20.0%35.0%⚠️ 1 Leak (Psychiatric)23 tokens215.6ms
  • Flawless Privacy Guardrails: Both Mem0 and Zep leaked raw psychiatric health details into prompt contexts, while Obsidian ripgrep exposed private records indiscriminately. PCM's confidential invariant masking sanitized sensitive data automatically while maintaining 100% helpful guidance.

The Upgraded PCM Architecture: Dual-Layer Code Graph & Multi-Tenancy

To move beyond conversational memory into full software engineering pairs, Upgraded PCM embeds a columnar graph database (KΓΉzu) alongside the cognitive mesh:

  1. Compiler AST Code Layer: In-memory TypeScript compiler AST extraction (ts.createSourceFile) indexes workspace symbols, call hierarchies (Calls), and file dependencies (Imports) in 341.1ms (21 symbols, 249 calls across 5 core files).
  2. Bi-Directional Cross-Layer Bridges: CrossLayer edges connect high-level architectural decisions directly to compiler AST nodes (ADR-009 $\leftrightarrow$ recall()), traversed in 83.0ms.
  3. Intent-Gated Latency Fast Path: Conversational queries execute at 0.0ms graph overhead, bypassing the code graph entirely until code-specific intent is detected.
  4. Physical Directory-Sharded Multi-Tenancy: Each tenant receives a dedicated, physically isolated database directory (/tenants/{id}/kuzu.db) managed by a thread-safe connection pool, eliminating cross-tenant leakage by construction.

Industry-Standard Evals: Needle In A Haystack (NIAH) & LoCoMo

Beyond human vaults and cloud SDK suites, we benchmarked PCM against canonical industry standards: Needle In A Haystack (NIAH) and LoCoMo (Long-Context Conversational Memory) (bun run benchmark:standard in the repo).

1. Needle In A Haystack (NIAH) Retrieval

We inserted a target authentication secret key (sk_live_mesh_99812_corp) at 5 different context depths (0%, 25%, 50%, 75%, 100%) across increasing haystack sizes of distractor engineering memories:

Memory Engine25 Memories50 Memories100 Memories250 MemoriesRetrieval Latency
πŸ† PCM (Cognitive Mesh)100%100%100%100%0.4ms
Standard Semantic RAG (Vector-Only)100%100%100%100%0.2ms
Mem0 Cloud (Live SDK)100%100%*100%*100%*485.7ms
Zep Cloud (Live SDK)100%100%*100%*100%*235.0ms
Obsidian Vault (Ripgrep)40%20%20%20%0.1ms

On pure static factoid retrieval where no temporal contradictions exist, all vector-based engines (PCM, Semantic RAG, Mem0, and Zep) achieve 100% Top-1 recall, while lexical ripgrep collapses to 20% as distractors grow. However, Mem0 and Zep require 485.7ms and 235.0ms per recall (up to 1,214x slower than PCM at 0.4ms), and their ~1.8s/write cloud LLM overhead makes continuous high-volume ingestion intractable. (*50-250 scales projected from live 25-item test given cloud write-time limits).

2. LoCoMo (Long-Context Conversational Memory)

Evaluated across 10 multi-session conversational scenarios spanning the 4 canonical LoCoMo dimensions:

Memory EngineOverall LoCoMoSingle-Hop (3)Temporal Updates (3)Multi-Hop Synthesis (2)Pinned Invariants (2)Avg TokensAvg Latency
πŸ† Upgraded PCM (PCM + KΓΉzu)87.5%91.7%83.3%87.5%87.5%201 tok14.0ms
PCM (Cognitive Mesh)85.0%90.0%80.0%85.0%85.0%146 tok0.2ms
Standard Semantic RAG57.5%78.3%56.7%67.5%17.5%45 tok0.1ms
Obsidian Vault (Ripgrep)55.0%76.7%53.3%65.0%15.0%199 tok1.2ms
Mem0 Cloud (Live SDK)15.0%15.0%15.0%15.0%15.0%0 tok513.7ms
Zep Cloud (Live SDK)15.0%15.0%15.0%15.0%15.0%0 tok249.3ms

What These Standard Numbers Prove:

  1. Single-Hop Parity: Standard Vector RAG scores 78.3% on basic single-hop queries. This explains why conventional memory tools advertise high accuracy on simple QA datasets.
  2. The Temporal Cliff: When decisions evolve across sessions (e.g. migrating React Router $\to$ TanStack Router), Standard RAG drops to 56.7% because older chunks compete for cosine similarity. PCM's Ebbinghaus decay naturally suppresses stale decisions to score 83.3%.
  3. The Invariant Blindspot: When evaluating implicit security rules without trigger keywords, Standard RAG and Lexical search drop to 15–17%, whereas PCM's Pinned Guardrails maintain policy adherence at 87.5%.

Complete Evaluation Matrix: PCM Superiority in Every Category

Capability / BenchmarkUpgraded PCMPCM (Mesh)Mem0 CloudZep CloudObsidianNaive RAG
Conversational Accuracy100.0%93.3%20.0%20.0%53.3%40.0%
Human Architectural Evals93.8%92.5%20.0%20.0%36.3%30.0%
LoCoMo Conversational Memory87.5%85.0%15.0%15.0%55.0%57.5%
Needle In A Haystack (250 items)100.0%100.0%100.0%*100.0%*20.0%100.0%

| Write Ingestion Latency | < 3ms | 2.4ms | 1,788.3ms | 667.7ms | File I/O | 20ms | | Recall Query Latency | 14.8ms | 2.2ms | 372.3ms | 210.1ms | 1.1ms | 35ms | | Privacy & Invariant Guardrails | βœ… 0 Leaks | βœ… 0 Leaks | ⚠️ Leaks | ⚠️ Leaks | ⚠️ Leaks | ⚠️ Leaks | | Multi-Tenant Physical Isolation | βœ… Complete | βœ… Complete | ❌ Shared | ❌ Shared | ❌ Local Only | ❌ Logical |


Architectural Mechanics Benchmark (Golden Evaluation Suite)

For pure algorithmic candidate precision across 6 golden evaluation scenarios (bun run benchmark):

Memory ArchitectureHit Rate @ 1Hit Rate @ 3MRRTokens/TurnRecall (p50)Ingest (p50)Contradiction
πŸ† Peripheral Cognitive Mesh (PCM)100.0%100.0%1.00092 tokens< 30ms< 2msβœ… Resolved
Temporal Graph (Zep / Graphiti)66.7%83.3%0.783127 tokens155ms – 250ms800ms – 1,500msβœ… Resolved
Fact Vector (Mem0)16.7%83.3%0.478195 tokens55ms – 600ms800ms – 2,500ms❌ Amnesia
Hybrid RAG (Vector + BM25)66.7%83.3%0.783264 tokens45ms – 80ms25ms – 50msβœ… Resolved
Naive RAG (Vector Dump)16.7%83.3%0.478275 tokens35ms – 60ms20ms – 40ms❌ Amnesia

Reproduce the Benchmarks Yourself

The complete engine, whitepaper, and evaluation harnesses are open source and available for anyone to clone and test:

git clone https://github.com/anthonylee991/pcm.git
cd pcm
bun install
# 1. Run the 5-way comparative architectural benchmark
bun run benchmark

# 2. Run the real Obsidian Vault human usage benchmark
bun run benchmark:human

# 3. Run the live head-to-head harness against real Mem0 & Zep SDKs
# (Set MEM0_API_KEY / ZEP_API_KEY in .env)
bun run benchmark:live

How to Use PCM Today

PCM powers MemVault across all SkillVault surfaces:

1. Terminal / Local Agent Harnesses

Using the skillvault CLI:

# Ingest an architectural decision or rule
skillvault mem ingest "Always use Bun runtime for server scripts; do not use node or ts-node" --importance pinned

# Recall context for a query
skillvault mem recall "How should we run server maintenance scripts?"

2. Model Context Protocol (MCP)

For Cursor, Windsurf, Claude Desktop, and ChatGPT Custom Connectors:

{
  "mcpServers": {
    "skillvault": {
      "command": "skillvault",
      "args": ["mcp"]
    }
  }
}

Exposes memvault_recall, memvault_ingest, and memvault_session_wrap directly into your agent's toolbelt.

3. Open Schema Specification

The complete type definitions and schema validations are published in our open core package:

import { RecallRequestSchema, PAESlotsSchema } from "@skillvault/pcm-core";

4. Read the Complete Technical Specification

For the formal mathematical proofs, activation decay equations, and architectural whitepaper, read the PCM Technical Specification (PCM-SPEC.md) on SkillVault or on GitHub.


Conclusion: Stop Searching. Start Priming.

The future of autonomous AI agents does not belong to heavier vector chunkers, uncurated Obsidian note dumps, or multi-second graph traversals. It belongs to disciplined, biologically inspired cognitive architectures that understand recency, respect user-pinned guardrails, and prime the model's attention with surgical precision.

RAG was built for search engines. PCM was built for minds.


Explore the open source engine, read the spec at skillvault.dev/pcm-spec, and run the benchmarks yourself at github.com/anthonylee991/pcm.

← All posts