v1.2.0 · Bi-Temporal Agent Memory

Persistent cross-session memory that expires stale facts automatically.

Cortex-MCP combines a local-first bi-temporal knowledge graph, Okapi BM25 + 2-hop spreading activation context compiler, semantic contradiction auditor, and TruthGate exporter over MCP.

Open Memory Studio Read Docs

Three stages from session amnesia to verified prompts

1

Record & Supersede

Upsert structured facts with transaction + valid timestamps. Singular predicates supersede prior claims automatically.

2

Audit Contradictions

Detect negation polarity conflicts, antonym object pairs, predicate alias collisions, and concurrent drift.

3

Compile Token Budget

Rank active subgraphs with Okapi BM25, 2-hop spreading activation, SHA-256 Merkle proof, and TruthGate export.

Inspect live supersession & conflict scenarios

Launch Full Studio Browse 7 MCP Tools

Deterministic local throughput without cloud vector DBs

100.0%
Stale-Fact Suppression
0.004 ms
Fact Upsert P50
5.750 ms
800-Tok Compile P50
1.756 ms
600 SHA-256 Verify

Engineering design details

Why bi-temporal tracking instead of a flat vector store?

Vector similarity treats deprecated config (like JWT_HS256) and its replacement (PASETO_v4_public) as equally true neighbors. Bi-temporal bounds (valid_from, valid_until, superseded_by) exclude superseded facts while preserving historical time travel via memory_time_travel.

How does Cortex-MCP integrate with TruthGate and hosted MCP clients?

cortex-mcp export-sources emits verified GroundedSourceDocument payloads for citation verification, while api/index.py exposes Streamable HTTP at POST /mcp and local agents connect over stdio or HTTP/SSE.

How is tampering detected in local graph storage?

Every recorded episode and fact participates in a SHA-256 hash chain and deterministic Merkle root digest checked by memory_verify_integrity.