Titentiten.devꦠꦶꦠꦺꦤ꧀
v0.8.7 · stableGitHub
DocsIntegrateImport memory

Import memory

Preview and import reviewed Mem0 exports, agent memory files, and rule files through one bounded local command without vendor credentials or model calls.

import-source16 profilespreview firstsnapshot only

titen import-source converts reviewed local memory into ordinary Titen evidence and direct claims. It never calls Mem0 or another vendor, never asks a model to summarize the source, and never guesses which subject or organization should receive it.

Preview first

titen import-source ./mem0-export.json \
  --from mem0-json@1 \
  --subject user:rama

Preview is the default. It reads only the selected source and prints locators, hashes, mappings, counts, and limits — never memory content. It opens no destination database, makes no network request, and writes no import artifact.

Apply requires TITEN_API_KEY and exactly one destination:

# Local database; API handlers run in process.
TITEN_API_KEY='titen_sk_...' \
  titen import-source ./MEMORY.md --from markdown@1 \
  --subject user:rama --db ~/.titen/service.db --apply

# Served instance; TITEN_URL is an exact origin.
TITEN_URL='https://memory.example.com' TITEN_API_KEY='titen_sk_...' \
  titen import-source ./mem0-export.json --from mem0-json@1 \
  --subject user:rama --project ramaaditya49/product --apply

The key supplies organization and actor authority. Source IDs, filenames, frontmatter and vendor user fields cannot select destination scope. Imports default to private and unverified; asserted is the highest allowed trust. Team visibility requires an explicit workspace.

The supported profiles

Profile What Titen reads
mem0-json@1 One JSON array or results, memories, data, or data.results envelope
openclaw-memory@1 USER.md, MEMORY.md, and dated memory/*.md notes
hermes-memory@1 MEMORY.md and USER.md
claude-code-memory@1 Markdown inside one selected project auto-memory directory
codex-memory@1 MEMORY.md and memory_summary.md
gemini-cli-memory@1 Approved private-memory Markdown; not inbox patches, skills, sessions, or GEMINI.md
qwen-code-memory@1 Atomic Markdown and pinned/**/*.md; not generated MEMORY.md or QWEN.md
byterover-context@1 Curated Markdown; not manifests, indexes, abstracts, overviews, or archives
amazon-q-memory@1 product.md, structure.md, tech.md, and procedural guidelines.md
replit-memory@1 One root replit.md
honcho-conclusions@1 One complete v3 response page or every contiguous page in a directory
letta-agentfile@1 Referenced block values from one-agent .af; not messages, tools, prompts, or settings
memomind-json@1 memomind-export major version 1, memories[].text only
agent-rules@1 Recognized AGENTS, Claude, Gemini, Qwen, Cursor, Windsurf, Copilot, Cline, Kiro, Continue, Junie, Augment, Qodo, Replit, and Amazon Q rules
basic-memory@1 Regular Markdown under one project; frontmatter is stripped and wikilinks stay inert
markdown@1 One explicitly named Markdown file, without a branded compatibility claim

Titen-to-Titen versioned JSONL still uses POST /v1/import. @modelcontextprotocol/server-memory keeps its existing graph-preserving first-run path.

What one entry becomes

Every normalized chunk becomes one imported_source observation and one direct claim that cites it. Source IDs, references and the import run ID are deterministic, so repeating the same source and destination mapping replays without duplicate observations or claims. FTS recall works immediately; vectors and background enrichment remain optional destination behavior.

Markdown is split on headings and blank blocks, then at a newline or whitespace before 4,000 characters. Structured profiles copy only documented memory text and timestamps. Rules become procedural claims for review, but are never activated as Titen governance policy.

Fail closed

The complete selected source is read and scanned before destination access. Titen rejects symlinks, malformed UTF-8, unsafe Unicode, credential patterns, empty or unknown schemas, incomplete Honcho pages, invalid AgentFile references, non-null AgentFile secrets, populated tool environment values, more than 64 MiB, or more than 10,000 entries. Errors name only the locator, rule and count; matched content is never printed.

The command does not open archives or vendor databases, follow links or includes, expand globs, evaluate MDX/frontmatter, execute skills, fetch URLs, or ingest conversations, prompts, reasoning, tools, results, and session stores.

A snapshot is not a cutover

Replacing a live memory system additionally needs ordered deltas, tombstones, membership revocations, reconciliation, a production-shaped shadow comparison, and a rehearsed authority switch plus rollback. This command deliberately claims none of those.

Take titen backup before a consequential apply. If reversal is needed, restore the verified snapshot; the importer never guesses which prior evidence should be deleted.

↑↓ navigate↵ open