Quick Start

Walk through the core workflow: store a claim, recall it, check health, and understand what happened at each pipeline layer.

Overview

The Epistemic Memory Engine exposes 11 tools to the AI agent. In normal operation, the agent calls these tools automatically — you simply chat and the agent decides when to store and recall. This guide shows what happens under the hood.

1. Store a Memory

The epistemic_store tool accepts natural-language claims:

Tool Call
{
  "tool": "epistemic_store",
  "input": {
    "claim": "I work at Google as a senior engineer"
  }
}

The pipeline processes this claim through 6 layers:

Pipeline Output
L0  Policy     → PASS (occupational claim)
L1  Normalize  → { subject: "user", predicate: "works at", object: "Google as senior engineer" }
L2  Score      → confidence: 0.780 (source: user_explicit, kind: occupational)
L3  Conflict   → no prior conflicts found
L4  Embed      → 1536-dim vector stored in LanceDB
L5  Route      → tier: WORKING (conf ≥ 0.70)
Result: The memory is now stored with confidence 0.780 in the WORKING tier, meaning it will be auto-injected into future agent prompts.

2. Recall Memories

Recall uses hybrid search (vector similarity + keyword matching):

Tool Call
{
  "tool": "epistemic_recall",
  "input": {
    "query": "Where does the user work?"
  }
}
Response
{
  "results": [
    {
      "claim": "I work at Google as a senior engineer",
      "subject": "user",
      "confidence": 0.780,
      "tier": "WORKING",
      "decayClass": "STABLE",
      "source": "user_explicit",
      "storedAt": "2026-01-15T10:30:00.000Z"
    }
  ]
}

3. Check Memory Health

Tool Call
{
  "tool": "epistemic_health",
  "input": {}
}
Response
{
  "total": 1,
  "byTier": { "WORKING": 1 },
  "byDecayClass": { "STABLE": 1 },
  "entropy": 0.0,
  "challengedCount": 0,
  "alerts": []
}

4. Handle a Conflict

Store a contradicting claim:

{
  "tool": "epistemic_store",
  "input": {
    "claim": "I just switched to Meta, starting next week"
  }
}

The pipeline detects a conflict at L3:

Pipeline Output
L3  Conflict   → CONFLICT detected with memory #abc123
                  Old: "works at Google" (conf: 0.780)
                  New: "switched to Meta" (conf: 0.780)
                  → Old claim moved to CHALLENGED tier
                  → New claim stored as WORKING
                  → entropy: +0.15

Resolve the conflict explicitly:

{
  "tool": "epistemic_resolve",
  "input": {
    "keep": "new",
    "conflictId": "abc123"
  }
}

What's Next