memanto
Agent plugin
First committed by het0814
Published in moorcheh-ai/memanto. Publisher page
2,363 GitHub stars
What it is
Memory that AI Agents Love!
AutoGineer overview, from the brain’s own files
Memanto acts as a chief of staff for your AI agents, moving beyond simple storage to actively manage the lifecycle of agentic knowledge. Unlike passive vector stores, Memanto observes interaction streams to extract durable facts, decisions, and preferences. It handles the complex tasks of consolidating duplicate information, resolving contradictions between agents, and enforcing retention policies to prevent memory bloat. By providing a unified, portable estate that works across different frameworks and vendors, Memanto ensures that your agents remain consistent and informed without requiring manual intervention or complex application-level logic.
How it works
Memory model: Vector store
AutoGineer overview, from the brain’s own files
Memanto runs as a companion agent alongside your existing AI fleet. It uses a vector-store-based memory model to store knowledge, which it organizes into namespaces for different agents. It observes agent traffic to extract and categorize information, merges duplicates, and reconciles conflicting data points. Users can define retention policies in YAML files to automate the expiration of stale memories. The system provides a CLI for manual interaction, a REST API for integration, and supports exporting the entire memory estate into the Open Knowledge Format (OKF) for portability.
| Folder | Role | Files |
|---|---|---|
| .github | agent-config | 7 |
| assets | attachments | 11 |
| docs | docs | 10 |
| examples | examples | 640 |
| scripts | scripts | 1 |
| tests | tests | 62 |
| i18n | folder | 3 |
| integrations | folder | 105 |
| memanto | folder | 103 |
| sdks | folder | 41 |
Requirements
Runtimes: Python >=3.10,<4
API keys (by name): MOORCHEH_API_KEY
Works with: Claude Code, Claude apps, OpenAI Codex, GitHub Copilot, Cursor, Gemini CLI, Google Antigravity, Kiro, OpenCode, Amp, Roo Code, Cline, JetBrains Junie, Devin (ex-Windsurf)
Set it up
This brain runs code automatically: 4 hooks (claude-code), 3 scripts. Review examples/claudecode-skills-memanto/lifecycle-hooks/install.py, integrations/hermes-agents/hermes_memanto/install.py, memanto/cli/connect/assets/hooks/hooks.json, pyproject.toml before opening the folder in Claude Code. No step below turns a hook on for you.
examples/claudecode-skills-memanto/lifecycle-hooks/install.py:python examples/claudecode-skills-memanto/lifecycle-hooks/install.pyintegrations/hermes-agents/hermes_memanto/install.py:python integrations/hermes-agents/hermes_memanto/install.pymemanto/cli/connect/assets/hooks/hooks.json:${SYS_EXECUTABLE}memanto/cli/connect/assets/hooks/hooks.json:${SYS_EXECUTABLE}memanto/cli/connect/assets/hooks/hooks.json:${SYS_EXECUTABLE}memanto/cli/connect/assets/hooks/hooks.json:${SYS_EXECUTABLE}pyproject.toml:hatch build hook vcs (hatch_build.py)
- Not scanned by AutoGineerIts dependencies are installed by pip or uv when you run it and were not scanned by AutoGineer (14 declared). https://pypi.org/project/memanto/
First committed by het0814. Published in moorcheh-ai/memanto. Licence: MIT License.
Usage
AutoGineer overview, from the brain’s own files
- Automating memory curation across multiple agent frameworks
- Resolving conflicting information between different agents
- Enforcing data retention and expiration policies
- Exporting agent memory to portable Markdown files
- Bootstrapping agents with relevant context before they act
- “memanto remember "Auth migrated to JWT — session cookies deprecated" --type decision”
- The agent captures this decision as a durable memory, making it available for other agents in the fleet to recall later.
- “memanto recall "how does auth work"”
- The agent retrieves the relevant, consolidated knowledge about the authentication system, grounded in previous decisions.
- “memanto policy apply-preset balanced”
- Applies a predefined retention policy to automatically manage memory expiration and keep the knowledge base sharp.
- “memanto memory export --okf”
- Generates a portable, human-readable Markdown bundle of the entire memory estate for backup or migration.
Documentation by het0814
<p align="center"> <a href="https://www.memanto.ai/"> <img alt="Memanto" src="https://github.com/moorcheh-ai/memanto/raw/main/assets/memanto-logo.svg" width="440"> </a> </p>
<p align="center"> Memanto is a <strong>Memory Agent</strong>; a companion agent that manages the memories of your other agents:<br> what to keep, what conflicts, what expires, and who needs to know. </p>
<p align="center"> <a href="https://github.com/moorcheh-ai/memanto"><img alt="GitHub stars" src="https://img.shields.io/github/stars/moorcheh-ai/memanto?style=social"></a> <a href="https://pepy.tech/projects/memanto"><img alt="Downloads" src="https://static.pepy.tech/personalized-badge/memanto?period=total&units=INTERNATIONAL_SYSTEM&left_color=BLACK&right_color=GREEN&left_text=downloads"></a> <a href="https://arxiv.org/abs/2604.22085"><img alt="arXiv" src="https://img.shields.io/badge/arXiv-2604.22085-b31b1b.svg"></a> <a href="https://pypi.org/project/memanto/"><img alt="PyPI" src="https://img.shields.io/pypi/v/memanto.svg?color=%2334D058"></a> <a href="https://mcptoplist.com/server/io.github.moorcheh-ai%2Fmemanto"><img alt="MCP Toplist" src="https://mcptoplist.com/badge/io.github.moorcheh-ai%2Fmemanto.svg"></a> <a href="https://opensource.org/licenses/MIT"><img alt="MIT License" src="https://img.shields.io/badge/license-MIT-yellow.svg"></a> </p>
<p align="center"> <sub><a href="README.md">English</a> · <a href="i18n/README_es.md">Español</a> · <a href="i18n/README_zh-CN.md">简体中文</a> · <a href="i18n/README_ja.md">日本語</a></sub> </p>
pip install memantonpm install @moorcheh-ai/memantogo get github.com/moorcheh-ai/memanto/sdks/go<!-- ============================================================ DEMO GIF — highest-impact missing asset. assets/demo.gif VHS tape provided separately. Under 15s, under 3MB. ============================================================ -->
<!-- <p align="center"> <img alt="Memanto in 15 seconds" src="https://github.com/moorcheh-ai/memanto/raw/main/assets/demo.gif" width="900"> </p> -->
Every platform will store your agents' memory. None of them will manage it. Managing it across platforms is against their interest. That is the job of a Memory Agent.
Persistence is solved. Claude, Bedrock, Cursor, and every vector store will happily keep what your agents write. None of them will tell you that two of your agents now believe opposite things about your auth service, that a preference from March has quietly outranked a decision from last week, or that the agent you spun up this morning is about to redo work another one finished and reverted.
Storage is a filing cabinet. Memanto is the chief of staff; it decides what goes in, watches the access, resolves what contradicts, discards what's stale, and briefs each agent before it acts.
It's an agent, not an API
Memanto isn't a library you call. It's a second agent that runs beside your fleet and does six things on its own judgment. Each one is a real behavior with a command behind it, nothing here is a roadmap item.
| What Memanto does | Run it | |
|---|---|---|
| Observes & extracts | Watches the interaction streams of the agents it serves and pulls durable knowledge out of ephemeral traffic — decisions, preferences, facts, failures — instead of archiving transcripts wholesale. | memanto remember --from-conversation |
| Consolidates | Merges extracted memories into one canonical estate. Duplicates collapse, fragments join, repeated observations strengthen confidence instead of multiplying rows. | memanto schedule enable |
| Reconciles | When new knowledge contradicts old, Memanto supersedes rather than appends — preserving what was believed and when. "What's true now" and "what did we believe then" stay different questions. | memanto conflicts |
| Forgets | Decay, expiry, and deliberate deletion are policies it executes, not cleanup you remember to do. An estate that only grows becomes noise; managed forgetting is what keeps recall sharp at month twelve. | memanto forget |
| Briefs | Before an agent acts, Memanto hands it the minimal relevant slice of the estate. Your agents don't query anything — they get briefed by a colleague. | memanto agent bootstrap |
| Moves knowledge | Through the Open Knowledge Format, the estate crosses frameworks and vendors — so a fleet spanning Claude Code, Cursor, and your own stack shares one memory instead of five silos. | memanto memory export --okf |
And it does this while you're asleep. memanto schedule enable and the loop runs daily: new memories curated, duplicates merged across agents, contradictions flagged for your review. You come back to a fleet that knows more than it did yesterday, without having sorted anything yourself.
60 seconds to a managed fleet
pip install memanto
memanto # "On-Prem" (Docker, no account) or "Cloud" (free key)
memanto connect claude-code # also: cursor, codex, windsurf, cline, goose, copilot…Your agents now share one managed estate. No code changes, no wrapper, no rewrite of your agent loop.
# backend-agent learns something on Monday
memanto remember "Auth migrated to JWT — session cookies deprecated" --type decision
# review-agent, which never saw that session, knows it on Friday
memanto recall "how does auth work"
memanto answer "why did we drop session cookies?" # grounded, no extra API key
# what did the fleet believe last Tuesday? what changed since the release?
memanto recall "deployment policy" --as-of 2026-08-05
memanto recall "deployment policy" --changed-since v2.1macOS, Linux, Windows. memanto ui opens a local dashboard over the whole estate — browse it, search it, audit it.
Own your agentic memory
This is the part that matters in two years, and it's the part every platform-native memory feature is designed to prevent.
Your estate is a file. memanto memory export --okf gives you the Open Knowledge Format — plain Markdown, readable, diffable, committable, greppable. Not a proprietary dump you can technically request. The actual working format.
It moves. memanto migrate imports from Mem0, Letta, Supermemory, Zep, Hindsight, or any OKF bundle. The same command works in reverse. OKF is an open interchange format any framework or vendor can implement — including ours' competitors, deliberately.
It runs on your machine. Local Docker + Ollama, no account, no API key, nothing leaves your infrastructure. Or free cloud, or your own hosting. memanto config backend switches between them in one command, and the estate comes with you.
MIT. No open-core tier waiting to gate the useful half. No feature flags, no seat limits, no rug pull.
There is no lock-in because there is nothing to lock.
Security & sovereignty
<!-- ============================================================ TODO — Majid: fill from your hardening work. Structure is right; the specifics are yours. Items marked ⟨…⟩ need input. Anything you can't substantiate today, delete rather than soften. ============================================================ -->
Nothing leaves your machine in on-prem mode. Docker + Ollama, no account, no outbound calls. The full loop — extraction, consolidation, reconciliation, briefing — runs locally.
Scoped by default. Each agent gets its own namespace. Your production-ops agent doesn't read your scratch experiments; you provision exactly what each one should know and nothing more.
Every belief is traceable. Confidence score, source, provenance, and timestamp. When an agent acts on something, you can walk back to where that belief entered the fleet and when — which is the difference between an auditable estate and a black box.
Forgetting is a decision you make, not a side effect. A memory is active or expired — nothing else. It becomes expired only because a policy you wrote says so, and it carries the date and the rule name that did it. Expired memories still recall, clearly labelled, and memanto memory restore puts one back. Deleting is a separate, explicit act.
Memory that expires on your terms
Every memory is active until a policy retires it. Expiry is stamped, auditable, and reversible — the content survives, and the memory keeps showing up in recall marked [EXPIRED] with the reason it aged out.
memanto policy list-preset # conservative / balanced / aggressive
memanto policy apply-preset balanced # shows it in full, then asks
memanto policy apply --dry-run # exactly what would expire, per rule
memanto policy apply # shows the policy + matches, then confirmsPolicies live in ~/.memanto/policies/<agent>.yaml and have two halves — a per-type retention table for broad strokes, and named rules for everything sharper. The first matching rule wins, so a rule can also pin a memory that the table would otherwise expire:
retention:
context: 7d
event: 30d
preference: never # durable user truths don't age out
rules:
- name: pinned
match: {tags: [pinned]}
expire_after: never # an explicit pin beats the table
- name: low-confidence-guesses
match: {provenance: [inferred], confidence_below: 0.5}
expire_after: 14d
purge_expired_after: never # optional hard delete, off by defaultRecall shows both states side by side; narrow with --active or --expired. Point-in-time recall is unaffected — --as-of still reconstructs what was true then, including memories that have expired since.
memanto memory expire mem-123 # retire one by hand
memanto memory restore mem-123 # and put it backThe nightly job (memanto schedule enable) runs the sweep for you. An agent with no policy set never expires anything.
Unlike memory storage
| Memory storage | Memanto | |
|---|---|---|
| What it is | A database with an SDK — write, embed, retrieve | An agent with judgment over your fleet's memory |
| Core behavior | Persist | Curate, reconcile, consolidate, forget, brief |
| Who decides what's kept | You, in application code | Memanto, on policy you set once |
| When two agents disagree | Last write wins, silently | Both versioned, surfaced for review |
| Forgetting | A DELETE you remember to run | A first-class policy that runs on schedule |
| Scope | One app, one stack, one vendor's walls | A fleet, across stacks and vendors |
| Your data | Exportable in theory | The working format is portable Markdown |
Storage substrates sit beneath Memanto — vector stores, filesystems, and platform-native memory features are all backends it manages. Their commoditization is good for you: it makes the substrate free and leaves the management to something that's actually good at it.
<p align="center"> <strong>⭐ Star the repo if Memanto is managing your fleet's memory</strong><br> <sub>It's the signal that tells us to keep building this in the open, under MIT, with nothing held back.</sub> </p>
Developer experience
One pip install. No vector store to provision, no embedding pipeline, no reranker, no schema migration, no backend to babysit. The retrieval engine ships in the box.
Works with what you already run. memanto connect claude-code — same for Cursor, Codex, Windsurf, Cline, Continue, Goose, Copilot, and more. One command each.
Searchable the moment it's written. No extraction pass at write time, no graph to rebuild, no indexing queue. remember returns and every agent in the fleet can already recall it.
Typed, not soup. 13 memory categories — instruction, fact, decision, goal, preference, relationship, and more — so recall is filterable instead of one undifferentiated blob.
A dashboard, not a log file. memanto ui for the whole estate. memanto daily-summary for a readable digest of what changed across your agents. memanto status for registered agents, sessions, and health.
<details> <summary><strong>Full CLI reference</strong></summary>
<br>
| Capability | Commands | What it does |
|---|---|---|
| System status | memanto status | Environment, configuration, server health, active session, registered agents. |
| Local REST API + web UI | memanto serve, memanto ui | Run the REST API locally and open an interactive browser UI. |
| Agent lifecycle | memanto agent ... | Create/list/delete agents, activate sessions, run agent bootstrap. |
| Memory capture at scale | memanto remember | Single memories, batch JSON, or --from-conversation to extract from chat logs. |
| Editing & deletion | memanto edit, memanto forget | Update fields on a memory, or permanently delete a bad one. |
| File ingestion | memanto upload | Bring .pdf, .docx, .xlsx, .json, .txt, .csv, .md into an agent's namespace. |
| Advanced recall | memanto recall | Standard search plus temporal queries (--as-of, --changed-since) with filters. |
| Grounded answers | memanto answer | Generate answers from retrieved memory context. |
| Daily intelligence | memanto daily-summary, memanto conflicts | Summaries, contradiction detection, interactive resolution. |
| Sessions & automation | memanto session ..., memanto schedule ... | Inspect sessions, enable scheduled daily runs. |
| Estate export & sync | memanto memory export, memanto memory sync | Export structured Markdown, sync MEMORY.md into projects. --okf for a portable OKF bundle. |
| Import & migration | memanto migrate | Import from Mem0, Letta, Supermemory, Zep, Hindsight, or an OKF bundle. |
| Configuration | memanto config show | API key status, active agent/session, server settings, schedule time. |
| Fleet integration | memanto connect ... | Claude Code, Codex, Cursor, Windsurf, Antigravity, Gemini CLI, Cline, Continue, OpenCode, Goose, Roo, GitHub Copilot, Augment. |
Memory types: instruction, fact, decision, goal, commitment, preference, relationship, context, event, learning, observation, artifact, error
memanto remember "User prefers concise answers" --type preference
memanto recall "user communication style" --type preferenceComplete reference: CLI User Guide
</details>
<details> <summary><strong>Install options — fully local vs. free cloud</strong></summary>
<br>
Fully local. No account, no API key, nothing leaves your machine:
pip install memanto
memanto # choose "On-Prem" — guides through Docker + Ollama setupRequires Docker.
Free cloud. No card, ~60 seconds:
pip install memanto
memanto # choose "Cloud" — paste your free API keyFree key at console.moorcheh.ai/api-keys — 100K free operations.
Switch any time: memanto config backend
</details>
<details> <summary><strong>Architecture</strong></summary>
<br>
Recall is powered by an information-theoretic semantic engine that ships in the box — as a local Docker container or as a free cloud service. The memanto CLI manages either for you. Storage substrates beneath it are pluggable; Memanto is the agent above them.
<p align="center"> <img alt="Architecture" src="https://github.com/moorcheh-ai/memanto/raw/main/assets/Architecture-diagram.png" width="900"> </p>
On-prem:
<p align="center"> <img alt="On-prem architecture" src="https://github.com/moorcheh-ai/memanto/raw/main/assets/On-prem-architecture-diagram.png" width="900"> </p>
</details>
<details> <summary><strong>SDKs & REST API</strong></summary>
<br>
Python — the memanto package ships an in-process client; no server to start:
from memanto import Memanto
memanto = Memanto(agent_id="my-agent") # creates the agent on first use
memanto.remember("Alex prefers oat milk.", type="preference")
memanto.recall("what does Alex drink?")
memanto.answer("Does Alex drink dairy?")Reference: docs.memanto.ai/sdk/python.
TypeScript / Node.js — @moorcheh-ai/memanto boots a local Memanto server via uvx and exposes an ergonomic client (remember / recall / answer).
Go — github.com/moorcheh-ai/memanto/sdks/go connects to a running Memanto server or starts one via uvx.
REST API — start with memanto serve. Endpoint reference at docs.memanto.ai/api and http://localhost:8000/docs while running.
</details>
Watch it work
Research
Memanto: Typed Semantic Memory with Information-Theoretic Retrieval for Long-Horizon Agents
On public recall benchmarks we report 89.8% on LongMemEval and 87.1% on LoCoMo. <!-- TODO: state reader model, judge model, and subset here — you should be the one in this space whose conditions are legible. --> Datasets and harness are open at huggingface.co/moorcheh — run them yourself.
A caveat we'd rather say out loud: cross-project scores on these benchmarks are not comparable. Reader model, judge model, judge prompt, and retrieval budget each move results by several points, and no two published runs share a configuration. Treat every number in this category — including ours — as directional. What a Memory Agent should eventually be measured on isn't recall at all, but estate quality over time: contradiction rate, staleness, and precision at month six.
@misc{abtahi2026memantotypedsemanticmemory,
title={Memanto: Typed Semantic Memory with Information-Theoretic Retrieval for Long-Horizon Agents},
author={Seyed Moein Abtahi and Rasa Rahnema and Hetkumar Patel and Neel Patel and Majid Fekri and Tara Khani},
year={2026},
eprint={2604.22085},
archivePrefix={arXiv},
primaryClass={cs.AI},
url={https://arxiv.org/abs/2604.22085},
}Community
<p align="center"> <a href="https://memanto.ai/discord"><img src="https://img.shields.io/badge/Join-Discord-5865F2?style=for-the-badge&logo=discord&logoColor=white" alt="Discord"></a> <a href="https://www.reddit.com/r/Memanto/"><img src="https://img.shields.io/badge/Join-Reddit-FF4500?style=for-the-badge&logo=reddit&logoColor=white" alt="Reddit"></a> <a href="https://docs.memanto.ai"><img src="https://img.shields.io/badge/Docs-memanto.ai-000000?style=for-the-badge&logo=readthedocs&logoColor=white" alt="Docs"></a> </p>
<p align="center"> <a href="https://trendshift.io/repositories/27378"><img src="https://trendshift.io/api/badge/repositories/27378" alt="Trendshift" width="220"></a> <!-- <a href="https://mcptoplist.com/server/glama%2Fmoorcheh-ai%2Fmemanto"><img src="https://mcptoplist.com/badge/glama%2Fmoorcheh-ai%2Fmemanto.svg" alt="MCP Top List" width="220"></a> --> <a href="https://deepwiki.com/moorcheh-ai/memanto"><img alt="DeepWiki" src="https://deepwiki.com/badge.svg"></a> </p>
Questions: [e-mail address on the upstream page](mailto:e-mail address on the upstream page) · @moorcheh_ai
<p align="center"> <strong>MIT License</strong> </p>
docs/HYBRID_TIMELINE_GUIDE.md
Hybrid Timeline Guide: Combining Automatic + Semantic
For: AI agents and developers using MEMANTO's timeline features Status: Production Guide
Introduction
MEMANTO's hybrid timeline model combines the reliability of automatic server-side timestamps with the richness of semantic timeline memories. This guide shows you how to get the best of both worlds.
The Two Levels
Level 1: Automatic Timestamps (Always There)
What: Server automatically adds created_at and updated_at to every memory
Effort: Zero - happens transparently
Use For: Temporal filtering, time-based queries, activity tracking
Example:
# Get memories from last 7 days
curl -X POST ".../recall/changed-since" \
-H "X-Session-Token: $TOKEN" -H "Content-Type: application/json" \
-d '{"since":"2025-12-20T00:00:00Z"}'Level 2: Semantic Timeline (Optional)
What: Agents explicitly store timeline context (sessions, milestones, phases) Effort: Small - agent chooses when to store Use For: Understanding project history, answering "why" and "what" questions Example:
# Store milestone
curl -X POST ".../remember?memory_type=event&title=Phase+H+Complete&..."When to Use Each Level
| Scenario | Automatic Timestamps | Semantic Timeline | Both |
|---|---|---|---|
| "Show me today's work" | ✅ Sufficient | ⚠️ Overkill | - |
| "What did we accomplish this week?" | ⚠️ Too broad | ✅ Better | ✅ Best |
| "When did Phase H start?" | ❌ Can't answer | ✅ Required | - |
| "Show recent decisions" | ✅ Filter by time | ⚠️ Good context | ✅ Best |
| "Track project velocity" | ⚠️ Basic | ✅ Meaningful | ✅ Best |
| "Activity heatmap" | ✅ Sufficient | ❌ Not needed | - |
Pattern 1: Filter First, Contextualize Second
Use automatic timestamps to narrow down, then semantic timeline to understand.
Example: Find Recent Major Decisions
# Step 1: List decision-type memories changed since Dec 1 (server-side type filter)
curl -X POST "http://localhost:8000/api/v2/agents/{agent_id}/recall/changed-since" \
-H "X-Session-Token: {session_token}" \
-H "Content-Type: application/json" \
-d '{"since":"2025-12-01T00:00:00Z","type":["decision"],"limit":20}'
# Step 2: Look for semantic timeline tags in results
# Filter client-side for memories with tags like:
# - "milestone", "phase-transition", "major-decision"Python Example:
import requests
from datetime import datetime, timedelta
session_token = "your_session_token_here" # Replace with your actual session token
# Get last month's decisions
last_month = (datetime.utcnow() - timedelta(days=30)).isoformat() + 'Z'
response = requests.post(
"http://localhost:8000/api/v2/agents/claude_dev/recall/changed-since",
json={"since": last_month, "type": ["decision"], "limit": 50},
headers={"X-Session-Token": session_token},
)
memories = response.json()['memories']
# Find major milestones using semantic tags
major_decisions = [
m for m in memories
if 'milestone' in m.get('tags', []) or 'major' in m.get('title', '').lower()
]
print(f"Total decisions: {len(memories)}")
print(f"Major decisions: {len(major_decisions)}")Pattern 2: Timeline Anchors with Activity Fill
Use semantic timeline to mark key moments, automatic timestamps to fill gaps.
Example: Project Timeline with Daily Activity
import requests
from datetime import datetime, timedelta
session_token = "your_session_token_here" # Replace with your actual session token
# Get semantic timeline anchors (milestones, phases)
semantic_response = requests.get(f"""
http://localhost:8000/api/v2/agents/claude_dev/recall?
query=milestone+phase+session&
tags=timeline&
limit=50
""", headers={"X-Session-Token": session_token})
milestones = semantic_response.json()['memories']
# For each period between milestones, get activity via automatic timestamps
for i in range(len(milestones) - 1):
start = milestones[i]['created_at']
end = milestones[i+1]['created_at']
activity = requests.post(
f"http://localhost:8000/api/v2/agents/claude_dev/recall/changed-since",
json={"since": start, "limit": 100},
headers={"X-Session-Token": session_token},
)
# Client-side filter for the upper bound (changed-since has no `until` field)
items = [m for m in activity.json()["memories"] if m.get("created_at", "") <= end]
print(f"\nBetween {milestones[i]['title']} and {milestones[i+1]['title']}:")
print(f" Activity: {len(items)} memories")Visualization:
Project Timeline
─────────────────────────────────────────────────────
Phase A ●●●●●●●●●● Phase B ●●●● Phase C
Started (45 memories) Complete (18) Started
Dec 1 Dec 15 Dec 27Pattern 3: Temporal Queries with Semantic Enrichment
Start with automatic timestamp query, enrich with semantic context.
Example: Weekly Status Report
from datetime import datetime, timedelta
from collections import Counter
import requests
def generate_weekly_report(agent_id, session_token):
# Get last week's data using automatic timestamps
week_ago = (datetime.utcnow() - timedelta(days=7)).isoformat() + 'Z'
response = requests.post(
f"http://localhost:8000/api/v2/agents/{agent_id}/recall/changed-since",
json={"since": week_ago, "limit": 100},
headers={"X-Session-Token": session_token},
)
memories = response.json()['memories']
# Basic stats (from automatic timestamps)
total = len(memories)
types = Counter(m.get('type') for m in memories)
# Semantic enrichment
milestones = [m for m in memories if 'milestone' in m.get('tags', [])]
sessions = [m for m in memories if 'session-start' in m.get('tags', [])]
decisions = [m for m in memories if m.get('type') == 'decision']
# Generate report
report = f"""
Weekly Report for {agent_id}
════════════════════════════════════════
ACTIVITY (Automatic Timestamps)
• Total Memories: {total}
• Memory Types: {dict(types)}
• Time Period: Last 7 days
HIGHLIGHTS (Semantic Timeline)
• Milestones Achieved: {len(milestones)}
{chr(10).join(f' - {m["title"]}' for m in milestones[:5])}
• Sessions: {len(sessions)}
• Major Decisions: {len(decisions)}
{chr(10).join(f' - {d["title"]}' for d in decisions[:3])}
"""
return report
# Example usage:
# session_token = "your_session_token_here"
# print(generate_weekly_report("claude_dev", session_token))Pattern 4: Smart Session Restoration
Use both levels for optimal context restoration.
Bootstrap Script Enhancement
#!/bin/bash
AGENT_ID="claude_dev"
MEMANTO_URL="http://localhost:8000"
SESSION_TOKEN="your_session_token_here" # Replace with your actual session token
echo "Restoring agent context..."
# 1. Find last session using semantic timeline
LAST_SESSION=$(curl -s "$MEMANTO_URL/api/v2/agents/$AGENT_ID/recall?\
query=session+start&\
tags=timeline,session-start&\
limit=1" -H "X-Session-Token: $SESSION_TOKEN" | python -m json.tool | grep '"created_at"' | head -1)
# 2. Get all activity since last session using automatic timestamps
if [ -n "$LAST_SESSION" ]; then
LAST_DATE=$(echo $LAST_SESSION | cut -d'"' -f4)
echo "Last session: $LAST_DATE"
echo "Retrieving activity since then..."
curl -s -X POST "$MEMANTO_URL/api/v2/agents/$AGENT_ID/recall/changed-since" \
-H "X-Session-Token: $SESSION_TOKEN" \
-H "Content-Type: application/json" \
-d "{\"since\":\"$LAST_DATE\",\"limit\":50}" | python -m json.tool
else
echo "No previous session found, getting recent context..."
curl -s -X POST "$MEMANTO_URL/api/v2/agents/$AGENT_ID/recall/recent" \
-H "X-Session-Token: $SESSION_TOKEN" \
-H "Content-Type: application/json" \
-d '{"limit":20}' | python -m json.tool
fi
# 3. Store new session start (semantic timeline)
CURRENT_DATE=$(date -u +%Y-%m-%dT%H:%M:%SZ)
curl -s -X POST "$MEMANTO_URL/api/v2/agents/$AGENT_ID/remember?\
memory_type=fact&\
title=Session+Started+$CURRENT_DATE&\
content=Agent+started+new+work+session&\
tags=timeline,session-start" \
-H "X-Session-Token: $SESSION_TOKEN" > /dev/null
echo "✅ Context restored. Session start recorded."Pattern 5: Progressive Timeline Building
Start with automatic, add semantic as patterns emerge.
Recommended Workflow
Week 1: Automatic Only
# Just use MEMANTO normally - automatic timestamps work
curl -X POST ".../remember?memory_type=fact&title=Bug+Fix&content=..."
# Server adds created_at and updated_at automaticallyWeek 2: Add Session Markers
# Start adding session markers when you notice patterns
# Morning session
curl -X POST ".../remember?memory_type=fact&title=Morning+Session&tags=timeline,session-start&..."
# Evening session
curl -X POST ".../remember?memory_type=fact&title=Evening+Session&tags=timeline,session-start&..."Week 3: Add Milestones
# When something significant happens
curl -X POST ".../remember?memory_type=event&title=Feature+Complete&tags=timeline,milestone&..."Week 4: Full Hybrid
# Now using both:
# - Automatic timestamps (always working)
# - Session markers (track work patterns)
# - Milestones (mark achievements)
# - Phase transitions (track project evolution)Pattern 6: Temporal Analytics
Combine both for powerful insights.
Example: Find Productive Periods
def find_productive_periods(agent_id, session_token):
"""
Use automatic timestamps to find when agent is most productive,
then use semantic timeline to understand why.
"""
# Get last month's activity (automatic)
last_month = (datetime.utcnow() - timedelta(days=30)).isoformat() + 'Z'
response = requests.post(
f"http://localhost:8000/api/v2/agents/{agent_id}/recall/changed-since",
json={"since": last_month, "limit": 100},
headers={"X-Session-Token": session_token},
)
memories = response.json()['memories']
# Group by hour of day
from collections import defaultdict
hourly_activity = defaultdict(list)
for m in memories:
if 'created_at' in m:
hour = datetime.fromisoformat(m['created_at'].replace('Z', '')).hour
hourly_activity[hour].append(m)
# Find peak hour
peak_hour = max(hourly_activity.items(), key=lambda x: len(x[1]))[0]
# Look for semantic context during peak hour
peak_memories = hourly_activity[peak_hour]
sessions_during_peak = [
m for m in peak_memories
if 'session-start' in m.get('tags', [])
]
print(f"Peak productivity hour: {peak_hour}:00 UTC")
print(f"Average memories during peak: {len(peak_memories) / 30:.1f} per day")
if sessions_during_peak:
print(f"\nSessions typically started at this hour: {len(sessions_during_peak)}")
print("Semantic context: Morning work sessions")
else:
print("\nNo semantic session markers - just observed activity pattern")Best Practices Summary
✅ DO
Trust automatic timestamps - They're always there, always accurate
Add semantic timeline for meaning - Sessions, milestones, phases
Use temporal endpoints first - Narrow down with
/recall/changed-since,/recall/as-of, or/recall/recentTag consistently - Use
timeline,session-start,milestone,phaseCombine for insights - Automatic shows WHEN, semantic shows WHY
❌ DON'T
Don't duplicate - Don't store "created at" in content if automatic timestamp exists
Don't over-tag - Not every memory needs timeline tags
Don't ignore automatic - Even without semantic timeline, you have temporal data
Don't stress - Semantic timeline is RECOMMENDED, not REQUIRED
Quick Reference: API Query Patterns
All temporal listings are POST with a JSON body. Add -H "X-Session-Token: $TOKEN" and -H "Content-Type: application/json" to every curl below.
Automatic Timestamps Only
# Last 7 days
POST /recall/changed-since {"since":"2025-12-20T00:00:00Z"}
# Date range — fetch by lower bound, client-filter the upper
POST /recall/changed-since {"since":"2025-12-01T00:00:00Z","limit":100}
# then keep only items with created_at <= "2025-12-31T23:59:59Z"
# Newest N memories regardless of date
POST /recall/recent {"limit":50}
# Point-in-time snapshot
POST /recall/as-of {"as_of":"2025-12-20T00:00:00Z"}Semantic Timeline Only
# Milestones (semantic similarity search)
POST /recall {"query":"milestone","limit":20}
# Sessions
POST /recall {"query":"session start","limit":20}Hybrid (Best)
# Recent decisions — server-side type filter on temporal endpoint
POST /recall/changed-since {"since":"2025-12-01T00:00:00Z","type":["decision"]}
# Newest events (e.g. milestones live in `type:event`)
POST /recall/recent {"type":["event"],"limit":20}Tag-based filtering is not exposed on the temporal endpoints; do it client-side after the fetch.
Example: Complete Hybrid Workflow
Agent Daily Routine
Morning (Session Start):
# Server automatically timestamps this memory
curl -X POST ".../remember?\
memory_type=fact&\
title=Morning+Session+Started&\
content=Starting+work+on+authentication+module&\
tags=timeline,session-start&\
confidence=1.0"
# created_at: 2025-12-27T09:00:00Z (automatic)
# updated_at: 2025-12-27T09:00:00Z (automatic)
# tags: [timeline, session-start] (semantic)During Work (Regular Memories):
# Just store normally - automatic timestamps handle temporal data
curl -X POST ".../remember?memory_type=decision&title=Use+JWT&content=..."
# created_at: 2025-12-27T11:30:00Z (automatic)
curl -X POST ".../remember?memory_type=fact&title=Bug+Fixed&content=..."
# created_at: 2025-12-27T14:15:00Z (automatic)Major Achievement (Milestone):
# Add semantic timeline for major events
curl -X POST ".../remember?\
memory_type=event&\
title=Authentication+Module+Complete&\
content=Completed+full+OAuth+2.0+implementation+with+JWT+tokens&\
tags=timeline,milestone,authentication&\
confidence=1.0"
# created_at: 2025-12-27T16:00:00Z (automatic)
# tags: [timeline, milestone, authentication] (semantic)Query Later (all POST, all with X-Session-Token header):
# Use automatic timestamp to list everything since today
curl -X POST ".../recall/changed-since" -H "Content-Type: application/json" \
-d '{"since":"2025-12-27T00:00:00Z","limit":50}'
# Returns all 4 memories
# Use semantic similarity to find milestones
curl -X POST ".../recall" -H "Content-Type: application/json" \
-d '{"query":"milestone","limit":20}'
# Returns just the achievement
# Hybrid: newest events (milestones are stored as type=event)
curl -X POST ".../recall/changed-since" -H "Content-Type: application/json" \
-d '{"since":"2025-12-20T00:00:00Z","type":["event"]}'
# Best of both worldsTroubleshooting
"I don't see timestamps in recall results"
Cause: Moorcheh's search API doesn't return metadata by default
Solution: Timestamps are in metadata, used for filtering but not always displayed
Workaround: Use temporal endpoints (/recall/changed-since, /recall/as-of) to verify they work
"My semantic timeline isn't showing up"
Check:
Did you add timeline tags? (
tags=timeline,milestone)Are you querying with correct tags? (
?tags=timeline)Did you use right memory type? (Use
eventfor milestones)
"Which level should I use?"
Answer: BOTH! They complement each other:
Automatic = Temporal filtering (always works)
Semantic = Contextual understanding (when valuable)
Resources
API Reference: AGENT_RUNTIME_GUIDE.md
Best Practices: AGENT_MEMORY_BEST_PRACTICES.md
Visualization: TIMELINE_VISUALIZATION_EXAMPLES.md
Temporal Helpers: app/utils/temporal_helpers.py
Remember: The hybrid timeline model gives you the best of both worlds. Use automatic timestamps for reliability and temporal filtering. Add semantic timeline when you want meaningful context and richer queries. Together, they create a powerful temporal memory system.
Status: Production Guide Last Updated: December 2025
512 files · 493 not served here
- .dockerignore (not served here)
- .env.example (not served here)
- .gitattributes (not served here)
- .github/workflows/bounty-label.yml (not served here)
- .github/workflows/ci.yml (not served here)
- .github/workflows/merge-contributor-onboarding.yml (not served here)
- .github/workflows/publish.yml (not served here)
- .github/workflows/release-integration.yml (not served here)
- .github/workflows/sdk-go.yml (not served here)
- .github/workflows/sdk-typescript.yml (not served here)
- .gitignore (not served here)
- .pre-commit-config.yaml (not served here)
- ATTRIBUTION.md
- AUTOGINEER-RUNS.md
- CODE_OF_CONDUCT.md
- CONTRIBUTING.md
- Dockerfile (not served here)
- EXTERNAL_CONTRIBUTORS.md
- LICENSE
- README.md
- SECURITY.md (not served here)
- assets/After.gif (not served here)
- assets/Architecture-diagram.png (not served here)
- assets/Before.gif (not served here)
- assets/On-prem-architecture-diagram.png (not served here)
- assets/contributor-banner.svg (not served here)
- assets/crewai-architecture.png (not served here)
- assets/memanto-logo.png (not served here)
- assets/memanto-logo.svg (not served here)
- assets/memanto.svg (not served here)
- assets/video-demo.png (not served here)
- assets/video-uidashboard.png (not served here)
- docker-compose.yml (not served here)
- docs/AGENT_INTEGRATION_GUIDE.md
- docs/AGENT_MEMORY_BEST_PRACTICES.md
- docs/CLI_INSTALLATION.md
- docs/CLI_USER_GUIDE.md
- docs/DEPLOYMENT_GUIDE.md
- docs/GETTING_STARTED.md (not served here)
- docs/HYBRID_TIMELINE_GUIDE.md
- docs/SESSION_ARCHITECTURE.md
- docs/TIMELINE_VISUALIZATION_EXAMPLES.md
- docs/V2_QUICK_START.md
- examples/benchmarks/adversarial-memory-resilience/.env.example (not served here)
- examples/benchmarks/adversarial-memory-resilience/.gitignore (not served here)
- examples/benchmarks/adversarial-memory-resilience/README.md (not served here)
- examples/benchmarks/adversarial-memory-resilience/adversarial_memory/__init__.py (not served here)
- examples/benchmarks/adversarial-memory-resilience/adversarial_memory/adapters.py (not served here)
- examples/benchmarks/adversarial-memory-resilience/adversarial_memory/dataset.py (not served here)
- examples/benchmarks/adversarial-memory-resilience/adversarial_memory/runner.py (not served here)
- examples/benchmarks/adversarial-memory-resilience/adversarial_memory/scoring.py (not served here)
- examples/benchmarks/adversarial-memory-resilience/requirements.txt (not served here)
- examples/benchmarks/adversarial-memory-resilience/results/live/comparison.json (not served here)
- examples/benchmarks/adversarial-memory-resilience/results/live/config.json (not served here)
- examples/benchmarks/adversarial-memory-resilience/results/live/dataset.jsonl (not served here)
- examples/benchmarks/adversarial-memory-resilience/results/live/environment.json (not served here)
- examples/benchmarks/adversarial-memory-resilience/results/live/report.md (not served here)
- examples/benchmarks/adversarial-memory-resilience/results/live/summary.csv (not served here)
- examples/benchmarks/adversarial-memory-resilience/results/live/summary.json (not served here)
- examples/benchmarks/adversarial-memory-resilience/results/live/traces.jsonl (not served here)
- examples/benchmarks/adversarial-memory-resilience/run_benchmark.py (not served here)
- examples/benchmarks/adversarial-memory-resilience/tests/test_adapters.py (not served here)
- examples/benchmarks/adversarial-memory-resilience/tests/test_dataset.py (not served here)
- examples/benchmarks/adversarial-memory-resilience/tests/test_runner.py (not served here)
- examples/benchmarks/adversarial-memory-resilience/tests/test_scoring.py (not served here)
- examples/benchmarks/memanto-vs-mem0-persona/.env.example (not served here)
- examples/benchmarks/memanto-vs-mem0-persona/README.md (not served here)
- examples/benchmarks/memanto-vs-mem0-persona/benchmark.py (not served here)
- examples/benchmarks/memanto-vs-mem0-persona/data/golden_qa.json (not served here)
- examples/benchmarks/memanto-vs-mem0-persona/data/persona_conversations.json (not served here)
- examples/benchmarks/memanto-vs-mem0-persona/requirements.txt (not served here)
- examples/benchmarks/memanto-vs-mem0-persona/results/benchmark-1781666328.json (not served here)
- examples/benchmarks/memanto-vs-mem0-persona/results/benchmark-1781666495.json (not served here)
- examples/benchmarks/memanto-vs-mem0-persona/results/benchmark-1781666805.json (not served here)
- examples/benchmarks/memanto-vs-mem0-persona/results/benchmark-1782184179.json (not served here)
- examples/benchmarks/memanto-vs-mem0-persona/results/benchmark-1782184458.json (not served here)
- examples/benchmarks/memanto-vs-mem0-persona/results/benchmark-1782184517.json (not served here)
- examples/benchmarks/memanto-vs-mem0-persona/results/benchmark-20260613.json (not served here)
- examples/benchmarks/memanto-vs-mem0-persona/results/benchmark-20260619.json (not served here)
- examples/benchmarks/memanto-vs-mem0/.env.example (not served here)
- examples/benchmarks/memanto-vs-mem0/README.md (not served here)
- examples/benchmarks/memanto-vs-mem0/adapters/__init__.py (not served here)
- examples/benchmarks/memanto-vs-mem0/adapters/base.py (not served here)
- examples/benchmarks/memanto-vs-mem0/adapters/mem0_adapter.py (not served here)
- examples/benchmarks/memanto-vs-mem0/adapters/memanto_adapter.py (not served here)
- examples/benchmarks/memanto-vs-mem0/dashboard.py (not served here)
- examples/benchmarks/memanto-vs-mem0/data/executive_shadow.json (not served here)
- examples/benchmarks/memanto-vs-mem0/evaluator.py (not served here)
- examples/benchmarks/memanto-vs-mem0/harness.py (not served here)
- examples/benchmarks/memanto-vs-mem0/pyproject.toml (not served here)
- examples/benchmarks/memanto-vs-mem0/reporter.py (not served here)
- examples/benchmarks/memanto-vs-mem0/requirements.txt (not served here)
- examples/benchmarks/memanto-vs-mem0/results/benchmark_2026-06-22_18-59-00.json (not served here)
- examples/benchmarks/memanto-vs-mem0/results/benchmark_2026-06-22_19-01-00.json (not served here)
- examples/benchmarks/memanto-vs-mem0/results/benchmark_2026-06-22_19-03-03.json (not served here)
- examples/benchmarks/memanto-vs-mem0/run_benchmark.py (not served here)
- examples/benchmarks/submission_freq1062/.env.example (not served here)
- examples/benchmarks/submission_freq1062/README.md (not served here)
- examples/benchmarks/submission_freq1062/adapters/__init__.py (not served here)
- examples/benchmarks/submission_freq1062/adapters/cognee.py (not served here)
- examples/benchmarks/submission_freq1062/adapters/letta.py (not served here)
- examples/benchmarks/submission_freq1062/adapters/mem0.py (not served here)
- examples/benchmarks/submission_freq1062/adapters/memanto.py (not served here)
- examples/benchmarks/submission_freq1062/adapters/supermemory.py (not served here)
- examples/benchmarks/submission_freq1062/adapters/vector_baseline.py (not served here)
- examples/benchmarks/submission_freq1062/adapters/zep_graphiti.py (not served here)
- examples/benchmarks/submission_freq1062/datasets/__init__.py (not served here)
- examples/benchmarks/submission_freq1062/datasets/agent_memory_bench.py (not served here)
- examples/benchmarks/submission_freq1062/datasets/locomo.py (not served here)
- examples/benchmarks/submission_freq1062/datasets/memoryagentbench.py (not served here)
- examples/benchmarks/submission_freq1062/interfaces.py (not served here)
- examples/benchmarks/submission_freq1062/local_server.py (not served here)
- examples/benchmarks/submission_freq1062/outputs/locomo_results.png (not served here)
- examples/benchmarks/submission_freq1062/outputs/recall_and_time.png (not served here)
- examples/benchmarks/submission_freq1062/outputs/speed_vs_recall.png (not served here)
- examples/benchmarks/submission_freq1062/providers.py (not served here)
- examples/benchmarks/submission_freq1062/requirements.txt (not served here)
- examples/benchmarks/submission_freq1062/run.py (not served here)
- examples/benchmarks/temporal-memory-showdown/.gitignore (not served here)
- examples/benchmarks/temporal-memory-showdown/README.md (not served here)
- examples/benchmarks/temporal-memory-showdown/backends.py (not served here)
- examples/benchmarks/temporal-memory-showdown/dataset.py (not served here)
- examples/benchmarks/temporal-memory-showdown/metrics.py (not served here)
- examples/benchmarks/temporal-memory-showdown/requirements.txt (not served here)
- examples/benchmarks/temporal-memory-showdown/results/.gitkeep (not served here)
- examples/benchmarks/temporal-memory-showdown/results/latest.json (not served here)
- examples/benchmarks/temporal-memory-showdown/results/latest.md (not served here)
- examples/benchmarks/temporal-memory-showdown/run_benchmark.py (not served here)
- examples/benchmarks/temporal-memory-showdown/tests/conftest.py (not served here)
- examples/benchmarks/temporal-memory-showdown/tests/test_metrics.py (not served here)
- examples/claudecode-skills-memanto/lifecycle-hooks/.claude-plugin/plugin.json (not served here)
- examples/claudecode-skills-memanto/lifecycle-hooks/.env.example (not served here)
- examples/claudecode-skills-memanto/lifecycle-hooks/.gitignore (not served here)
- examples/claudecode-skills-memanto/lifecycle-hooks/README.md (not served here)
- examples/claudecode-skills-memanto/lifecycle-hooks/assets/component-architecture.png (not served here)
- examples/claudecode-skills-memanto/lifecycle-hooks/assets/how-it-works-three-real-lifecycle-hooks.png (not served here)
- examples/claudecode-skills-memanto/lifecycle-hooks/demo_session_1.py (not served here)
- examples/claudecode-skills-memanto/lifecycle-hooks/demo_session_2.py (not served here)
- examples/claudecode-skills-memanto/lifecycle-hooks/demo_session_3.py (not served here)
- examples/claudecode-skills-memanto/lifecycle-hooks/hooks/__init__.py (not served here)
- examples/claudecode-skills-memanto/lifecycle-hooks/hooks/_common.py (not served here)
- examples/claudecode-skills-memanto/lifecycle-hooks/hooks/on_prompt.py (not served here)
- examples/claudecode-skills-memanto/lifecycle-hooks/hooks/on_stop.py (not served here)
- examples/claudecode-skills-memanto/lifecycle-hooks/hooks/session_start.py (not served here)
- examples/claudecode-skills-memanto/lifecycle-hooks/install.py (not served here)
- examples/claudecode-skills-memanto/lifecycle-hooks/memanto_skills/__init__.py (not served here)
- examples/claudecode-skills-memanto/lifecycle-hooks/memanto_skills/cli.py (not served here)
- examples/claudecode-skills-memanto/lifecycle-hooks/memanto_skills/client.py (not served here)
- examples/claudecode-skills-memanto/lifecycle-hooks/memanto_skills/config.py (not served here)
- examples/claudecode-skills-memanto/lifecycle-hooks/memanto_skills/extractor.py (not served here)
- examples/claudecode-skills-memanto/lifecycle-hooks/memanto_skills/installer.py (not served here)
- examples/claudecode-skills-memanto/lifecycle-hooks/memanto_skills/profile.py (not served here)
- examples/claudecode-skills-memanto/lifecycle-hooks/memanto_skills/skill_map.py (not served here)
- examples/claudecode-skills-memanto/lifecycle-hooks/pyproject.toml (not served here)
- examples/claudecode-skills-memanto/lifecycle-hooks/skills/memanto-companion/SKILL.md (not served here)
- examples/claudecode-skills-memanto/lifecycle-hooks/tests/__init__.py (not served here)
- examples/claudecode-skills-memanto/lifecycle-hooks/tests/conftest.py (not served here)
- examples/claudecode-skills-memanto/lifecycle-hooks/tests/test_client.py (not served here)
- examples/claudecode-skills-memanto/lifecycle-hooks/tests/test_extractor.py (not served here)
- examples/claudecode-skills-memanto/lifecycle-hooks/tests/test_hooks.py (not served here)
- examples/claudecode-skills-memanto/lifecycle-hooks/tests/test_installer.py (not served here)
- examples/claudecode-skills-memanto/lifecycle-hooks/tests/test_profile.py (not served here)
- examples/claudecode-skills-memanto/lifecycle-hooks/tests/test_skill_map.py (not served here)
- examples/crewai-memory/.env.example (not served here)
- examples/crewai-memory/README.md (not served here)
- examples/crewai-memory/agents.py (not served here)
- examples/crewai-memory/crew.py (not served here)
- examples/crewai-memory/requirements.txt (not served here)
- examples/crewai-memory/run_contradiction.py (not served here)
- examples/crewai-memory/run_full_pipeline.py (not served here)
- examples/crewai-memory/run_research.py (not served here)
- examples/crewai-memory/run_writer.py (not served here)
- examples/crewai-memory/tasks.py (not served here)
- examples/langgraph-memanto/.env.example (not served here)
- examples/langgraph-memanto/.gitignore (not served here)
- examples/langgraph-memanto/README.md (not served here)
- examples/langgraph-memanto/basic_integration/__init__.py (not served here)
- examples/langgraph-memanto/basic_integration/agent.py (not served here)
- examples/langgraph-memanto/basic_integration/demo.py (not served here)
- examples/langgraph-memanto/cross_session_recall/graph.py (not served here)
- examples/langgraph-memanto/cross_session_recall/main.py (not served here)
- examples/langgraph-memanto/custom_memory_saver/__init__.py (not served here)
- examples/langgraph-memanto/custom_memory_saver/agent.py (not served here)
- examples/langgraph-memanto/custom_memory_saver/demo.py (not served here)
- examples/langgraph-memanto/custom_memory_saver/langgraph_agent.py (not served here)
- examples/langgraph-memanto/custom_memory_saver/memanto_memory.py (not served here)
- examples/langgraph-memanto/custom_memory_saver/run_demo.py (not served here)
- examples/langgraph-memanto/memanto_base_store/README.md (not served here)
- examples/langgraph-memanto/memanto_base_store/app.py (not served here)
- examples/langgraph-memanto/memanto_base_store/graph.py (not served here)
- examples/langgraph-memanto/memanto_base_store/langgraph-architecture-diagram.png (not served here)
- examples/langgraph-memanto/memanto_base_store/llm_config.py (not served here)
- examples/langgraph-memanto/memanto_base_store/memanto_store.py (not served here)
- examples/langgraph-memanto/memanto_base_store/run_contradiction.py (not served here)
- examples/langgraph-memanto/memanto_base_store/run_full_demo.py (not served here)
- examples/langgraph-memanto/memanto_base_store/run_session_1.py (not served here)
- examples/langgraph-memanto/memanto_base_store/run_session_2.py (not served here)
- examples/langgraph-memanto/memanto_base_store/state.py (not served here)
- examples/langgraph-memanto/requirements.txt (not served here)
- examples/langgraph-memanto/research_pipeline/.gitignore (not served here)
- examples/langgraph-memanto/research_pipeline/langgraph_memanto/__init__.py (not served here)
- examples/langgraph-memanto/research_pipeline/langgraph_memanto/graph.py (not served here)
- examples/langgraph-memanto/research_pipeline/langgraph_memanto/llm_config.py (not served here)
- examples/langgraph-memanto/research_pipeline/langgraph_memanto/nodes.py (not served here)
- examples/langgraph-memanto/research_pipeline/langgraph_memanto/state.py (not served here)
- examples/langgraph-memanto/research_pipeline/pipeline/__init__.py (not served here)
- examples/langgraph-memanto/research_pipeline/pipeline/graph.py (not served here)
- examples/langgraph-memanto/research_pipeline/pipeline/nodes.py (not served here)
- examples/langgraph-memanto/research_pipeline/pipeline/state.py (not served here)
- examples/langgraph-memanto/research_pipeline/run_full_pipeline.py (not served here)
- examples/langgraph-memanto/research_pipeline/run_research.py (not served here)
- examples/langgraph-memanto/research_pipeline/run_writer.py (not served here)
- examples/migrations/9-migration-adapters/.env.example (not served here)
- examples/migrations/9-migration-adapters/README.md (not served here)
- examples/migrations/9-migration-adapters/app.py (not served here)
- examples/migrations/9-migration-adapters/docs/chatgpt.md (not served here)
- examples/migrations/9-migration-adapters/docs/chroma.md (not served here)
- examples/migrations/9-migration-adapters/docs/claude.md (not served here)
- examples/migrations/9-migration-adapters/docs/gemini.md (not served here)
- examples/migrations/9-migration-adapters/docs/hindsight.md (not served here)
- examples/migrations/9-migration-adapters/docs/langgraph.md (not served here)
- examples/migrations/9-migration-adapters/docs/letta.md (not served here)
- examples/migrations/9-migration-adapters/docs/mem0.md (not served here)
- examples/migrations/9-migration-adapters/docs/notion.md (not served here)
- examples/migrations/9-migration-adapters/docs/obsidian.md (not served here)
- examples/migrations/9-migration-adapters/docs/supermemory.md (not served here)
- examples/migrations/9-migration-adapters/docs/zep.md (not served here)
- examples/migrations/9-migration-adapters/evidence/dry_run_chatgpt.txt (not served here)
- examples/migrations/9-migration-adapters/evidence/dry_run_claude.txt (not served here)
- examples/migrations/9-migration-adapters/evidence/dry_run_gemini.txt (not served here)
- examples/migrations/9-migration-adapters/evidence/dry_run_hindsight.txt (not served here)
- examples/migrations/9-migration-adapters/evidence/dry_run_langgraph.txt (not served here)
- examples/migrations/9-migration-adapters/evidence/dry_run_zep.txt (not served here)
- examples/migrations/9-migration-adapters/evidence/live_migration_summary.txt (not served here)
- examples/migrations/9-migration-adapters/exporters/__init__.py (not served here)
- examples/migrations/9-migration-adapters/exporters/hindsight_export.py (not served here)
- examples/migrations/9-migration-adapters/exporters/zep_export.py (not served here)
- examples/migrations/9-migration-adapters/ico/chatgpt.svg (not served here)
- examples/migrations/9-migration-adapters/ico/claude.svg (not served here)
- examples/migrations/9-migration-adapters/ico/gemini.svg (not served here)
- examples/migrations/9-migration-adapters/ico/hindsight.svg (not served here)
- examples/migrations/9-migration-adapters/ico/letta.svg (not served here)
- examples/migrations/9-migration-adapters/ico/mem0.svg (not served here)
- examples/migrations/9-migration-adapters/ico/supermemory.svg (not served here)
- examples/migrations/9-migration-adapters/ico/zep.svg (not served here)
- examples/migrations/9-migration-adapters/mappers.py (not served here)
- examples/migrations/9-migration-adapters/migrate.py (not served here)
- examples/migrations/9-migration-adapters/okf_bundle/index.md (not served here)
- examples/migrations/9-migration-adapters/okf_bundle/memories/artifact/comparing-text-embedding-3-small-vs-bge-m3-for-a-semantic-se.md (not served here)
- examples/migrations/9-migration-adapters/okf_bundle/memories/artifact/index.md (not served here)
- examples/migrations/9-migration-adapters/okf_bundle/memories/event/comparing-agent-memory-systems-mem0-memanto-and-plain-vector.md (not served here)
- examples/migrations/9-migration-adapters/okf_bundle/memories/event/comparing-llm-embedding-models.md (not served here)
- examples/migrations/9-migration-adapters/okf_bundle/memories/event/contributing-to-ripgrep.md (not served here)
- examples/migrations/9-migration-adapters/okf_bundle/memories/event/index.md (not served here)
- examples/migrations/9-migration-adapters/okf_bundle/memories/event/open-sourcing-an-llm-memory-benchmarking-tool.md (not served here)
- examples/migrations/9-migration-adapters/okf_bundle/memories/event/samuel-test-bank-uses-vscode-with-dark-mode-as-his-primary-e.md (not served here)
- examples/migrations/9-migration-adapters/okf_bundle/memories/fact/alice-is-based-in-berlin-germany.md (not served here)
- examples/migrations/9-migration-adapters/okf_bundle/memories/fact/alice-uses-vscode-with-dark-mode-as-her-primary-editor.md (not served here)
- examples/migrations/9-migration-adapters/okf_bundle/memories/fact/assistant-will-remember-that.md (not served here)
- examples/migrations/9-migration-adapters/okf_bundle/memories/fact/fastapi-is-preferred-over-javascript.md (not served here)
- examples/migrations/9-migration-adapters/okf_bundle/memories/fact/i-want-to-open-source-my-llm-memory-benchmarking-tool-what-l.md (not served here)
- examples/migrations/9-migration-adapters/okf_bundle/memories/fact/index.md (not served here)
- examples/migrations/9-migration-adapters/okf_bundle/memories/fact/lagos-is-located-in-nigeria.md (not served here)
- examples/migrations/9-migration-adapters/okf_bundle/memories/fact/my-llm-agent-needs-persistent-memory-across-sessions-i-am-ev.md (not served here)
- examples/migrations/9-migration-adapters/okf_bundle/memories/fact/samuel-is-a-python-developer-who-prefers-fastapi-over-flask.md (not served here)
- examples/migrations/9-migration-adapters/okf_bundle/memories/fact/samuel-test-avoids-javascript-when-possible.md (not served here)
- examples/migrations/9-migration-adapters/okf_bundle/memories/fact/samuel-test-bank-lives-in-lagos-nigeria-and-works-on-open-so.md (not served here)
- examples/migrations/9-migration-adapters/okf_bundle/memories/fact/samuel-test-is-a-python-developer.md (not served here)
- examples/migrations/9-migration-adapters/okf_bundle/memories/fact/samuel-test-lives-in-lagos.md (not served here)
- examples/migrations/9-migration-adapters/okf_bundle/memories/fact/samuel-test-mostly-works-on-open-source-projects.md (not served here)
- examples/migrations/9-migration-adapters/okf_bundle/memories/fact/samuel-test-prefers-dark-mode.md (not served here)
- examples/migrations/9-migration-adapters/okf_bundle/memories/fact/samuel-test-prefers-the-fastapi-framework.md (not served here)
- examples/migrations/9-migration-adapters/okf_bundle/memories/fact/samuel-test-uses-vscode-daily.md (not served here)
- examples/migrations/9-migration-adapters/okf_bundle/memories/fact/the-user-is-an-open-source-python-developer.md (not served here)
- examples/migrations/9-migration-adapters/okf_bundle/memories/fact/the-user-lives-in-lagos.md (not served here)
- examples/migrations/9-migration-adapters/okf_bundle/memories/goal/build-an-open-source-agentic-memory-layer.md (not served here)
- examples/migrations/9-migration-adapters/okf_bundle/memories/goal/index.md (not served here)
- examples/migrations/9-migration-adapters/okf_bundle/memories/index.md (not served here)
- examples/migrations/9-migration-adapters/okf_bundle/memories/instruction/building-a-rag-pipeline-for-a-codebase.md (not served here)
- examples/migrations/9-migration-adapters/okf_bundle/memories/instruction/implementing-async-rust-with-tokio.md (not served here)
- examples/migrations/9-migration-adapters/okf_bundle/memories/instruction/index.md (not served here)
- examples/migrations/9-migration-adapters/okf_bundle/memories/instruction/optimizing-rust-binary-size.md (not served here)
- examples/migrations/9-migration-adapters/okf_bundle/memories/instruction/tracking-memory-provenance-for-ai-agents.md (not served here)
- examples/migrations/9-migration-adapters/okf_bundle/memories/instruction/trying-to-shrink-my-rust-binary-for-a-cli-tool-currently-8-m.md (not served here)
- examples/migrations/9-migration-adapters/okf_bundle/memories/observation/debugging-lifetime-errors-in-rust.md (not served here)
- examples/migrations/9-migration-adapters/okf_bundle/memories/observation/index.md (not served here)
- examples/migrations/9-migration-adapters/okf_bundle/memories/observation/samuel-test-bank-is-a-python-developer-who-prefers-fastapi-o.md (not served here)
- examples/migrations/9-migration-adapters/okf_bundle/memories/observation/samuel-test-bank-lives-in-lagos-nigeria-and-contributes-to-o.md (not served here)
- examples/migrations/9-migration-adapters/okf_bundle/memories/observation/samuel-test-bank-uses-vscode-with-dark-mode-as-his-primary-c.md (not served here)
- examples/migrations/9-migration-adapters/okf_bundle/memories/preference/alice-prefers-python-and-fastapi-over-javascript.md (not served here)
- examples/migrations/9-migration-adapters/okf_bundle/memories/preference/index.md (not served here)
- examples/migrations/9-migration-adapters/okf_bundle/memories/relationship/how-do-i-set-up-qdrant-locally-with-docker-and-connect-it-fr.md (not served here)
- examples/migrations/9-migration-adapters/okf_bundle/memories/relationship/index.md (not served here)
- examples/migrations/9-migration-adapters/okf_bundle/memories/relationship/running-qdrant-with-docker-and-rust-client.md (not served here)
- examples/migrations/9-migration-adapters/okf_bundle/metrics/index.md (not served here)
- examples/migrations/9-migration-adapters/okf_bundle/metrics/overview.md (not served here)
- examples/migrations/9-migration-adapters/okf_bundle/sessions/demo-migration-showcase_2025-06-21_sess_42725ff0b23b_summary.md (not served here)
- examples/migrations/9-migration-adapters/okf_bundle/sessions/demo-migration-showcase_2025-06-25_sess_42725ff0b23b_summary.md (not served here)
- examples/migrations/9-migration-adapters/okf_bundle/sessions/demo-migration-showcase_2025-06-28_sess_42725ff0b23b_summary.md (not served here)
- examples/migrations/9-migration-adapters/okf_bundle/sessions/demo-migration-showcase_2025-07-06_sess_42725ff0b23b_summary.md (not served here)
- examples/migrations/9-migration-adapters/okf_bundle/sessions/demo-migration-showcase_2025-07-08_sess_42725ff0b23b_summary.md (not served here)
- examples/migrations/9-migration-adapters/okf_bundle/sessions/demo-migration-showcase_2025-07-18_sess_9d1471042af2_summary.md (not served here)
- examples/migrations/9-migration-adapters/okf_bundle/sessions/demo-migration-showcase_2025-07-23_sess_b16446931004_summary.md (not served here)
- examples/migrations/9-migration-adapters/okf_bundle/sessions/demo-migration-showcase_2025-07-27_sess_9d1471042af2_summary.md (not served here)
- examples/migrations/9-migration-adapters/okf_bundle/sessions/demo-migration-showcase_2025-07-30_sess_b16446931004_summary.md (not served here)
- examples/migrations/9-migration-adapters/okf_bundle/sessions/demo-migration-showcase_2025-08-10_sess_b16446931004_summary.md (not served here)
- examples/migrations/9-migration-adapters/okf_bundle/sessions/demo-migration-showcase_2025-08-15_sess_9d1471042af2_summary.md (not served here)
- examples/migrations/9-migration-adapters/okf_bundle/sessions/demo-migration-showcase_2025-08-17_sess_9d1471042af2_summary.md (not served here)
- examples/migrations/9-migration-adapters/okf_bundle/sessions/demo-migration-showcase_2025-08-19_sess_b16446931004_summary.md (not served here)
- examples/migrations/9-migration-adapters/okf_bundle/sessions/demo-migration-showcase_2025-09-02_sess_b16446931004_summary.md (not served here)
- examples/migrations/9-migration-adapters/okf_bundle/sessions/demo-migration-showcase_2025-10-09_sess_9d1471042af2_summary.md (not served here)
- examples/migrations/9-migration-adapters/okf_bundle/sessions/demo-migration-showcase_2026-07-23_sess_247ee7b986ee_summary.md (not served here)
- examples/migrations/9-migration-adapters/okf_bundle/sessions/demo-migration-showcase_2026-07-23_sess_e78cc92c4d1b_summary.md (not served here)
- examples/migrations/9-migration-adapters/okf_bundle/sessions/demo-migration-showcase_2026-08-29_sess_e067b499a59d_summary.md (not served here)
- examples/migrations/9-migration-adapters/okf_bundle/sessions/index.md (not served here)
- examples/migrations/9-migration-adapters/requirements.txt (not served here)
- examples/migrations/9-migration-adapters/runner.py (not served here)
- examples/migrations/9-migration-adapters/sample_data/chatgpt_export.zip (not served here)
- examples/migrations/9-migration-adapters/sample_data/claude_export.zip (not served here)
- examples/migrations/9-migration-adapters/sample_data/gemini_export.zip (not served here)
- examples/migrations/9-migration-adapters/scripts/_load_zip.py (not served here)
- examples/migrations/9-migration-adapters/scripts/_shared.py (not served here)
- examples/migrations/9-migration-adapters/scripts/dump_langgraph.py (not served here)
- examples/migrations/9-migration-adapters/scripts/generate_okf_bundle.py (not served here)
- examples/migrations/9-migration-adapters/scripts/generate_sample_data.py (not served here)
- examples/migrations/9-migration-adapters/scripts/migrate_chatgpt.py (not served here)
- examples/migrations/9-migration-adapters/scripts/migrate_chroma.py (not served here)
- examples/migrations/9-migration-adapters/scripts/migrate_claude.py (not served here)
- examples/migrations/9-migration-adapters/scripts/migrate_gemini.py (not served here)
- examples/migrations/9-migration-adapters/scripts/migrate_hindsight.py (not served here)
- examples/migrations/9-migration-adapters/scripts/migrate_langgraph.py (not served here)
- examples/migrations/9-migration-adapters/scripts/migrate_letta.py (not served here)
- examples/migrations/9-migration-adapters/scripts/migrate_mem0.py (not served here)
- examples/migrations/9-migration-adapters/scripts/migrate_notion.py (not served here)
- examples/migrations/9-migration-adapters/scripts/migrate_obsidian.py (not served here)
- examples/migrations/9-migration-adapters/scripts/migrate_supermemory.py (not served here)
- examples/migrations/9-migration-adapters/scripts/migrate_zep.py (not served here)
- examples/migrations/9-migration-adapters/scripts/seed_and_export.sh (not served here)
- examples/migrations/9-migration-adapters/tests/conftest.py (not served here)
- examples/migrations/9-migration-adapters/tests/test_migrate_mappers_api.py (not served here)
- examples/migrations/9-migration-adapters/tests/test_migrate_mappers_conversations.py (not served here)
- examples/migrations/9-migration-adapters/tests/test_migrate_mappers_file.py (not served here)
- examples/migrations/9-migration-adapters/tests/test_migrate_runner_source_count.py (not served here)
- examples/migrations/9-migration-adapters/validation/golden_qa.json (not served here)
- examples/migrations/9-migration-adapters/validation/validate.py (not served here)
- examples/migrations/antigravity-brain/.gitattributes (not served here)
- examples/migrations/antigravity-brain/DEMO_SCRIPT.md (not served here)
- examples/migrations/antigravity-brain/README.md (not served here)
- examples/migrations/antigravity-brain/migrate_antigravity.py (not served here)
- examples/migrations/antigravity-brain/prepare_public_sample.py (not served here)
- examples/migrations/antigravity-brain/pyproject.toml (not served here)
- examples/migrations/antigravity-brain/reconstruct_antigravity.py (not served here)
- examples/migrations/antigravity-brain/run_demo.py (not served here)
- examples/migrations/antigravity-brain/run_live_demo.py (not served here)
- examples/migrations/antigravity-brain/sample/golden_qa.json (not served here)
- examples/migrations/antigravity-brain/sample/okf/.antigravity-okf-bundle-v1 (not served here)
- examples/migrations/antigravity-brain/sample/okf/index.md (not served here)
- examples/migrations/antigravity-brain/sample/okf/memories/event/implementation-plan-revision-0.md (not served here)
- examples/migrations/antigravity-brain/sample/okf/memories/event/implementation-plan-revision-1.md (not served here)
- examples/migrations/antigravity-brain/sample/okf/memories/event/implementation-plan-revision-2.md (not served here)
- examples/migrations/antigravity-brain/sample/okf/memories/event/implementation-plan-revision-3.md (not served here)
- examples/migrations/antigravity-brain/sample/okf/memories/event/implementation-plan-revision-4.md (not served here)
- examples/migrations/antigravity-brain/sample/okf/memories/event/index.md (not served here)
- examples/migrations/antigravity-brain/sample/okf/memories/event/walkthrough-revision-0.md (not served here)
- examples/migrations/antigravity-brain/sample/okf/memories/event/walkthrough-revision-1.md (not served here)
- examples/migrations/antigravity-brain/sample/okf/memories/event/walkthrough-revision-2.md (not served here)
- examples/migrations/antigravity-brain/sample/okf/memories/event/walkthrough-revision-3.md (not served here)
- examples/migrations/antigravity-brain/sample/okf/memories/goal/implementation-plan.md (not served here)
- examples/migrations/antigravity-brain/sample/okf/memories/goal/index.md (not served here)
- examples/migrations/antigravity-brain/sample/okf/memories/index.md (not served here)
- examples/migrations/antigravity-brain/sample/okf/memories/learning/index.md (not served here)
- examples/migrations/antigravity-brain/sample/okf/memories/learning/walkthrough.md (not served here)
- examples/migrations/antigravity-brain/sample/okf/metrics/mapping-table.md (not served here)
- examples/migrations/antigravity-brain/sample/okf/metrics/memanto-cli-dry-run.json (not served here)
- examples/migrations/antigravity-brain/sample/okf/metrics/migration-report.json (not served here)
- examples/migrations/antigravity-brain/sample/okf/metrics/privacy-report.json (not served here)
- examples/migrations/antigravity-brain/sample/okf/metrics/round-trip-validation.json (not served here)
- examples/migrations/antigravity-brain/sample/okf/metrics/savings-report.json (not served here)
- examples/migrations/antigravity-brain/sample/okf/metrics/source-provenance.json (not served here)
- examples/migrations/antigravity-brain/sample/source/.antigravity-public-sample-v1 (not served here)
- examples/migrations/antigravity-brain/sample/source/brain/session-0fe08c92635a/implementation_plan.md (not served here)
- examples/migrations/antigravity-brain/sample/source/brain/session-0fe08c92635a/implementation_plan.md.metadata.json (not served here)
- examples/migrations/antigravity-brain/sample/source/brain/session-0fe08c92635a/implementation_plan.md.resolved.0 (not served here)
- examples/migrations/antigravity-brain/sample/source/brain/session-0fe08c92635a/implementation_plan.md.resolved.1 (not served here)
- examples/migrations/antigravity-brain/sample/source/brain/session-0fe08c92635a/implementation_plan.md.resolved.2 (not served here)
- examples/migrations/antigravity-brain/sample/source/brain/session-0fe08c92635a/implementation_plan.md.resolved.3 (not served here)
- examples/migrations/antigravity-brain/sample/source/brain/session-0fe08c92635a/implementation_plan.md.resolved.4 (not served here)
- examples/migrations/antigravity-brain/sample/source/brain/session-0fe08c92635a/walkthrough.md (not served here)
- examples/migrations/antigravity-brain/sample/source/brain/session-0fe08c92635a/walkthrough.md.metadata.json (not served here)
- examples/migrations/antigravity-brain/sample/source/brain/session-0fe08c92635a/walkthrough.md.resolved.0 (not served here)
- examples/migrations/antigravity-brain/sample/source/brain/session-0fe08c92635a/walkthrough.md.resolved.1 (not served here)
- examples/migrations/antigravity-brain/sample/source/brain/session-0fe08c92635a/walkthrough.md.resolved.2 (not served here)
- examples/migrations/antigravity-brain/sample/source/brain/session-0fe08c92635a/walkthrough.md.resolved.3 (not served here)
- examples/migrations/antigravity-brain/sample/source/source-provenance.json (not served here)
- examples/migrations/antigravity-brain/tests/test_migration.py (not served here)
- examples/migrations/antigravity-brain/validate_round_trip.py (not served here)
- examples/migrations/chatgpt-claude-okf/.env.example (not served here)
- examples/migrations/chatgpt-claude-okf/.gitignore (not served here)
- examples/migrations/chatgpt-claude-okf/EXPORTING.md (not served here)
- examples/migrations/chatgpt-claude-okf/README.md (not served here)
- examples/migrations/chatgpt-claude-okf/architecture.png (not served here)
- examples/migrations/chatgpt-claude-okf/evidence/full_run.txt (not served here)
- examples/migrations/chatgpt-claude-okf/evidence/recall_parity.txt (not served here)
- examples/migrations/chatgpt-claude-okf/golden_qa.json (not served here)
- examples/migrations/chatgpt-claude-okf/liberate.py (not served here)
- examples/migrations/chatgpt-claude-okf/okf_bundle/index.md (not served here)
- examples/migrations/chatgpt-claude-okf/okf_bundle/memories/artifact/index.md (not served here)
- examples/migrations/chatgpt-claude-okf/okf_bundle/memories/artifact/lambda-based-eks-shutdown-startup-system-architecture.md (not served here)
- examples/migrations/chatgpt-claude-okf/okf_bundle/memories/context/dev-eks-cost-saving-shutdown-startup-system-design.md (not served here)
- examples/migrations/chatgpt-claude-okf/okf_bundle/memories/context/index.md (not served here)
- examples/migrations/chatgpt-claude-okf/okf_bundle/memories/context/mlops-on-kubernetes-full-stack-and-layered-architecture.md (not served here)
- examples/migrations/chatgpt-claude-okf/okf_bundle/memories/decision/argocd-strategy-disable-re-enable-auto-sync-option-1.md (not served here)
- examples/migrations/chatgpt-claude-okf/okf_bundle/memories/decision/index.md (not served here)
- examples/migrations/chatgpt-claude-okf/okf_bundle/memories/fact/index.md (not served here)
- examples/migrations/chatgpt-claude-okf/okf_bundle/memories/fact/production-mlops-real-world-scale-benchmarks-and-tool-decisi.md (not served here)
- examples/migrations/chatgpt-claude-okf/okf_bundle/memories/goal/index.md (not served here)
- examples/migrations/chatgpt-claude-okf/okf_bundle/memories/goal/next-steps-terraform-cdk-for-infrastructure-resources.md (not served here)
- examples/migrations/chatgpt-claude-okf/okf_bundle/memories/index.md (not served here)
- examples/migrations/chatgpt-claude-okf/okf_bundle/memories/learning/index.md (not served here)
- examples/migrations/chatgpt-claude-okf/okf_bundle/memories/learning/key-practitioner-vs-beginner-gaps-in-mlops-on-kubernetes-202.md (not served here)
- examples/migrations/chatgpt-claude-okf/okf_bundle/memories/learning/mlops-on-kubernetes-anti-patterns-by-experience-level.md (not served here)
- examples/migrations/chatgpt-claude-okf/okf_bundle/memories/learning/snowflake-query-optimization-patterns-for-account-usage-view.md (not served here)
- examples/migrations/chatgpt-claude-okf/okf_bundle/memories/observation/index.md (not served here)
- examples/migrations/chatgpt-claude-okf/okf_bundle/memories/observation/user-is-a-sr-data-platform-engineer-working-with-snowflake.md (not served here)
- examples/migrations/chatgpt-claude-okf/okf_bundle/memories/preference/index.md (not served here)
- examples/migrations/chatgpt-claude-okf/okf_bundle/memories/preference/real-readiness-polling-over-fixed-timers.md (not served here)
- examples/migrations/chatgpt-claude-okf/okf_bundle/memories/preference/user-prefers-detailed-technical-explanations-with-reasoning.md (not served here)
- examples/migrations/chatgpt-claude-okf/okf_bundle/memories/preference/user-wants-deep-multi-source-analysis-not-simple-answers.md (not served here)
- examples/migrations/chatgpt-claude-okf/okf_bundle/metrics/index.md (not served here)
- examples/migrations/chatgpt-claude-okf/okf_bundle/metrics/overview.md (not served here)
- examples/migrations/chatgpt-claude-okf/requirements.txt (not served here)
- examples/migrations/chatgpt-claude-okf/run.sh (not served here)
- examples/migrations/chatgpt-claude-okf/sample/chatgpt_export.json (not served here)
- examples/migrations/chatgpt-claude-okf/sample/claude_export.json (not served here)
- examples/migrations/chatgpt-claude-okf/sample/saved_memories.txt (not served here)
- examples/migrations/chatgpt-claude-okf/validate.py (not served here)
- examples/migrations/hermes-holographic-to-okf/.gitignore (not served here)
- examples/migrations/hermes-holographic-to-okf/README.md (not served here)
- examples/migrations/hermes-holographic-to-okf/build_report.py (not served here)
- examples/migrations/hermes-holographic-to-okf/export_holo.py (not served here)
- examples/migrations/hermes-holographic-to-okf/generate_demo_source.py (not served here)
- examples/migrations/hermes-holographic-to-okf/golden_questions.json (not served here)
- examples/migrations/hermes-holographic-to-okf/mapping.md (not served here)
- examples/migrations/hermes-holographic-to-okf/output/.fresh_destination.lock (not served here)
- examples/migrations/hermes-holographic-to-okf/output/.memanto_roundtrip.lock (not served here)
- examples/migrations/hermes-holographic-to-okf/output/.okf_bundle.lock (not served here)
- examples/migrations/hermes-holographic-to-okf/output/fresh_destination/index.md (not served here)
- examples/migrations/hermes-holographic-to-okf/output/fresh_destination/memories/fact/a-migration-result-is-not-accepted-until-a-fresh-destination.md (not served here)
- examples/migrations/hermes-holographic-to-okf/output/fresh_destination/memories/fact/hermes-holographic-memory-treats-fact-text-and-metadata-as-s.md (not served here)
- examples/migrations/hermes-holographic-to-okf/output/fresh_destination/memories/fact/holographic-contradiction-detection-is-query-time-behavior-i.md (not served here)
- examples/migrations/hermes-holographic-to-okf/output/fresh_destination/memories/fact/holographic-entity-associations-are-represented-by-fact-enti.md (not served here)
- examples/migrations/hermes-holographic-to-okf/output/fresh_destination/memories/fact/holographic-hrr-vectors-can-be-rebuilt-from-canonical-conten.md (not served here)
- examples/migrations/hermes-holographic-to-okf/output/fresh_destination/memories/fact/holographic-memory-bank-vectors-are-aggregate-retrieval-stru.md (not served here)
- examples/migrations/hermes-holographic-to-okf/output/fresh_destination/memories/fact/index.md (not served here)
- examples/migrations/hermes-holographic-to-okf/output/fresh_destination/memories/fact/memanto-okf-import-accepts-markdown-with-yaml-frontmatter-an.md (not served here)
- examples/migrations/hermes-holographic-to-okf/output/fresh_destination/memories/fact/memanto-uses-a-fixed-memory-type-vocabulary-while-okf-permit.md (not served here)
- examples/migrations/hermes-holographic-to-okf/output/fresh_destination/memories/fact/project-atlas-chose-okf-first-interchange-as-its-working-app.md (not served here)
- examples/migrations/hermes-holographic-to-okf/output/fresh_destination/memories/fact/project-atlas-exists-to-deliver-portable-knowledge-migration.md (not served here)
- examples/migrations/hermes-holographic-to-okf/output/fresh_destination/memories/fact/project-atlas-has-this-constraint-avoid-silently-serializing.md (not served here)
- examples/migrations/hermes-holographic-to-okf/output/fresh_destination/memories/fact/project-atlas-s-latest-verified-outcome-is-that-a-fresh-dest.md (not served here)
- examples/migrations/hermes-holographic-to-okf/output/fresh_destination/memories/fact/project-atlas-s-rollback-rule-is-to-retain-the-previous-read.md (not served here)
- examples/migrations/hermes-holographic-to-okf/output/fresh_destination/memories/fact/project-atlas-uses-a-three-stage-verification-gate-before-pu.md (not served here)
- examples/migrations/hermes-holographic-to-okf/output/fresh_destination/memories/fact/project-beacon-chose-append-only-markdown-evidence-packets-a.md (not served here)
- examples/migrations/hermes-holographic-to-okf/output/fresh_destination/memories/fact/project-beacon-exists-to-deliver-offline-incident-handoff.md (not served here)
- examples/migrations/hermes-holographic-to-okf/output/fresh_destination/memories/fact/project-beacon-has-this-constraint-work-without-a-network-co.md (not served here)
- examples/migrations/hermes-holographic-to-okf/output/fresh_destination/memories/fact/project-beacon-s-latest-verified-outcome-is-that-the-next-op.md (not served here)
- examples/migrations/hermes-holographic-to-okf/output/fresh_destination/memories/fact/project-beacon-s-rollback-rule-is-to-preserve-the-last-signe.md (not served here)
- examples/migrations/hermes-holographic-to-okf/output/fresh_destination/memories/fact/project-beacon-uses-hash-and-schema-validation-before-handof.md (not served here)
- examples/migrations/hermes-holographic-to-okf/output/fresh_destination/memories/fact/project-cinder-chose-content-addressed-artifact-manifests-as.md (not served here)
- examples/migrations/hermes-holographic-to-okf/output/fresh_destination/memories/fact/project-cinder-exists-to-deliver-deterministic-release-packa.md (not served here)
- examples/migrations/hermes-holographic-to-okf/output/fresh_destination/memories/fact/project-cinder-has-this-constraint-never-publish-an-artifact.md (not served here)
- examples/migrations/hermes-holographic-to-okf/output/fresh_destination/memories/fact/project-cinder-s-latest-verified-outcome-is-that-two-clean-r.md (not served here)
- examples/migrations/hermes-holographic-to-okf/output/fresh_destination/memories/fact/project-cinder-s-rollback-rule-is-to-keep-the-previous-relea.md (not served here)
- examples/migrations/hermes-holographic-to-okf/output/fresh_destination/memories/fact/project-cinder-uses-manifest-archive-and-checksum-verificati.md (not served here)
- examples/migrations/hermes-holographic-to-okf/output/fresh_destination/memories/fact/project-drift-chose-retrieval-caps-plus-explicit-relevance-t.md (not served here)
- examples/migrations/hermes-holographic-to-okf/output/fresh_destination/memories/fact/project-drift-exists-to-deliver-agent-context-budget-control.md (not served here)
- examples/migrations/hermes-holographic-to-okf/output/fresh_destination/memories/fact/project-drift-has-this-constraint-background-memory-must-not.md (not served here)
- examples/migrations/hermes-holographic-to-okf/output/fresh_destination/memories/fact/project-drift-s-latest-verified-outcome-is-that-median-injec.md (not served here)
- examples/migrations/hermes-holographic-to-okf/output/fresh_destination/memories/fact/project-drift-s-rollback-rule-is-to-fall-back-to-an-empty-op.md (not served here)
- examples/migrations/hermes-holographic-to-okf/output/fresh_destination/memories/fact/project-drift-uses-token-count-and-relevance-regression-chec.md (not served here)
- examples/migrations/hermes-holographic-to-okf/output/fresh_destination/memories/fact/project-harbor-chose-versioned-configuration-with-explicit-d.md (not served here)
- examples/migrations/hermes-holographic-to-okf/output/fresh_destination/memories/fact/project-harbor-exists-to-deliver-safe-configuration-migratio.md (not served here)
- examples/migrations/hermes-holographic-to-okf/output/fresh_destination/memories/fact/project-harbor-has-this-constraint-old-configuration-files-m.md (not served here)
- examples/migrations/hermes-holographic-to-okf/output/fresh_destination/memories/fact/project-harbor-s-latest-verified-outcome-is-that-all-support.md (not served here)
- examples/migrations/hermes-holographic-to-okf/output/fresh_destination/memories/fact/project-harbor-s-rollback-rule-is-to-restore-the-pre-migrati.md (not served here)
- examples/migrations/hermes-holographic-to-okf/output/fresh_destination/memories/fact/project-harbor-uses-forward-and-backward-fixture-tests-befor.md (not served here)
- examples/migrations/hermes-holographic-to-okf/output/fresh_destination/memories/fact/project-kestrel-chose-a-per-change-source-and-lineage-ledger.md (not served here)
- examples/migrations/hermes-holographic-to-okf/output/fresh_destination/memories/fact/project-kestrel-exists-to-deliver-contributor-attribution-tr.md (not served here)
- examples/migrations/hermes-holographic-to-okf/output/fresh_destination/memories/fact/project-kestrel-has-this-constraint-do-not-obscure-prior-con.md (not served here)
- examples/migrations/hermes-holographic-to-okf/output/fresh_destination/memories/fact/project-kestrel-s-latest-verified-outcome-is-that-reviewers.md (not served here)
- examples/migrations/hermes-holographic-to-okf/output/fresh_destination/memories/fact/project-kestrel-s-rollback-rule-is-to-split-the-unowned-chan.md (not served here)
- examples/migrations/hermes-holographic-to-okf/output/fresh_destination/memories/fact/project-kestrel-uses-diff-level-provenance-review-before-pub.md (not served here)
- examples/migrations/hermes-holographic-to-okf/output/fresh_destination/memories/fact/project-meridian-chose-normalized-filenames-with-collision-c.md (not served here)
- examples/migrations/hermes-holographic-to-okf/output/fresh_destination/memories/fact/project-meridian-exists-to-deliver-cross-platform-bundle-por.md (not served here)
- examples/migrations/hermes-holographic-to-okf/output/fresh_destination/memories/fact/project-meridian-has-this-constraint-case-insensitive-filesy.md (not served here)
- examples/migrations/hermes-holographic-to-okf/output/fresh_destination/memories/fact/project-meridian-s-latest-verified-outcome-is-that-the-same.md (not served here)
- examples/migrations/hermes-holographic-to-okf/output/fresh_destination/memories/fact/project-meridian-s-rollback-rule-is-to-emit-a-collision-repo.md (not served here)
- examples/migrations/hermes-holographic-to-okf/output/fresh_destination/memories/fact/project-meridian-uses-linux-and-case-folded-filename-simulat.md (not served here)
- examples/migrations/hermes-holographic-to-okf/output/fresh_destination/memories/fact/project-northstar-chose-machine-readable-reports-beside-huma.md (not served here)
- examples/migrations/hermes-holographic-to-okf/output/fresh_destination/memories/fact/project-northstar-exists-to-deliver-acceptance-evidence-auto.md (not served here)
- examples/migrations/hermes-holographic-to-okf/output/fresh_destination/memories/fact/project-northstar-has-this-constraint-a-green-narrative-cann.md (not served here)
- examples/migrations/hermes-holographic-to-okf/output/fresh_destination/memories/fact/project-northstar-s-latest-verified-outcome-is-that-release.md (not served here)
- examples/migrations/hermes-holographic-to-okf/output/fresh_destination/memories/fact/project-northstar-s-rollback-rule-is-to-stop-publication-whe.md (not served here)
- examples/migrations/hermes-holographic-to-okf/output/fresh_destination/memories/fact/project-northstar-uses-structural-operational-and-portabilit.md (not served here)
- examples/migrations/hermes-holographic-to-okf/output/fresh_destination/memories/fact/the-final-okf-bundle-should-remain-human-inspectable-plain-m.md (not served here)
- examples/migrations/hermes-holographic-to-okf/output/fresh_destination/memories/fact/the-holographic-full-text-index-is-derived-from-canonical-fa.md (not served here)
- examples/migrations/hermes-holographic-to-okf/output/fresh_destination/memories/fact/the-local-holographic-memory-database-stores-retrieval-and-h.md (not served here)
- examples/migrations/hermes-holographic-to-okf/output/fresh_destination/memories/fact/unknown-okf-fields-should-not-be-treated-as-a-substitute-for.md (not served here)
- examples/migrations/hermes-holographic-to-okf/output/fresh_destination/memories/index.md (not served here)
- integrations/hermes-agents/LICENSE
- integrations/langfuse/LICENSE
- integrations/mcp/LICENSE
Advantages
- Provides active management of agent memory, including conflict resolution and automated forgetting, rather than just passive storage. evidence: README.md
- Ensures memory portability through the Open Knowledge Format, preventing vendor lock-in. evidence: README.md
- Supports local-first operation with Docker and Ollama, ensuring data sovereignty. evidence: README.md
Limitations
- Requires Docker for the fully local on-premise deployment mode. evidence: README.md
- Policy management requires creating and maintaining YAML configuration files for each agent. evidence: README.md
Security
Risk level: Low risk
This brain runs
Git hooks (3)
.pre-commit-config.yaml:uv run ruff check ..pre-commit-config.yaml:uv run ruff format --check ..pre-commit-config.yaml:uv run mypy .
Install scripts (2)
examples/claudecode-skills-memanto/lifecycle-hooks/install.py:python examples/claudecode-skills-memanto/lifecycle-hooks/install.pyintegrations/hermes-agents/hermes_memanto/install.py:python integrations/hermes-agents/hermes_memanto/install.py
Agent instructions that run or fetch something (3)
examples/claudecode-skills-memanto/lifecycle-hooks/skills/memanto-companion/SKILL.md:Run:examples/claudecode-skills-memanto/lifecycle-hooks/skills/memanto-companion/SKILL.md:If they ask "what do you remember about testing / TDD?" or want to preview what would be injected before a skill, run:examples/claudecode-skills-memanto/lifecycle-hooks/skills/memanto-companion/SKILL.md:The hooks already inject context automatically — only run `recall` manually when the user explicitly wants to inspect or preview it.
Hooks (4)
memanto/cli/connect/assets/hooks/hooks.json(SessionStart):${SYS_EXECUTABLE}memanto/cli/connect/assets/hooks/hooks.json(PreCompact):${SYS_EXECUTABLE}memanto/cli/connect/assets/hooks/hooks.json(PostToolUse):${SYS_EXECUTABLE}memanto/cli/connect/assets/hooks/hooks.json(PostToolUse):${SYS_EXECUTABLE}
Package scripts (1)
pyproject.toml(build-hook):hatch build hook vcs (hatch_build.py)
- Low risk: scripts-present (examples/claudecode-skills-memanto/lifecycle-hooks/install.py)
- Low risk: scripts-present (integrations/hermes-agents/hermes_memanto/install.py)
Attribution and licence
- First committed by
het0814
- Declared authors
- Majid Fekri (declared in pyproject.toml)
- Publisher
- Moorcheh.ai (Community)
- Source
- moorcheh-ai/memanto · commit 3ab4f67
- Licence
- MIT License (files served here)
- ATTRIBUTION.md (written by AutoGineer)
- Synced
- Contributors
- het0814, Xenogents, kircoders, HARSHAVARDHAN-RAJU5, Adam13y
AutoGineer is not affiliated with or endorsed by het0814 or Moorcheh.ai.
Install from source
493 of its files are not served here, so there is no ZIP. moorcheh-ai/memanto at 3ab4f67