mneme

Memória local em primeiro lugar entre sessões, onde arquivos Markdown permanecem como a fonte da verdade e o índice de busca é um artefato reconstruível.

Documentação

mneme — vault-native memory for Claude Code

Registro mneme

Memória nativa de vault para Claude Code. Markdown é a fonte da verdade.

mneme-core on PyPI mneme-cc-plugin on PyPI mneme-mcp-server on npm CI Apache-2.0 Python versions DOI

Toda sessão começa do zero. Você reexplica a mesma arquitetura, as mesmas restrições, a mesma decisão que já resolveu ontem, e as ferramentas que prometem resolver isso geralmente armazenam seu histórico de conversa em blobs opacos de SQLite e chamam um LLM toda vez que você encerra uma sessão. O registro do seu próprio trabalho acaba em um lugar que você não consegue ler, não consegue pesquisar com grep e não consegue levar com você.

mneme registra o que aconteceu em cada sessão do Claude Code como arquivos markdown simples em um diretório que você controla (o vault) e os indexa com SQLite FTS5. A próxima sessão abre com um bloco de preflight — os cabeçalhos de hoje, um resumo do status do git e os cinco documentos de sessão modificados mais recentemente — e o agente consulta o índice sob demanda por meio de mneme_search.

Aqui está o arquivo que o hook Stop escreve. O frontmatter, o cabeçalho e o formato do resumo vêm de packages/mneme-cc-plugin/src/mneme_cc_plugin/hooks/stop.py e packages/mneme-core/src/mneme_core/distill/templates/summary-en.md; o conteúdo abaixo é ilustrativo.

---
id: session-2026-07-24
type: session
created: 2026-07-24T09:12:41.087213+00:00
schema_version: 1
---
# Sessions 2026-07-24

## 09:12 session a3f19c2e
transcript: `~/.claude/projects/mneme/a3f19c2e.jsonl`

**Session intent**: make the retrieval guard fail on the negative probe too

**Files touched**

- `benchmarks/retrieval/regression_guard.py`
- `benchmarks/retrieval/baseline.json`

**Tool activity** (34 events, 08:41:02 → 09:12:38)

- Edit: 11
- Bash: 9
- Read: 8

*Deterministic extractive summary (zero-LLM). Edit freely — this file is yours.*
pipx install mneme-cc-plugin && mneme install

Isso instala o plugin e registra os hooks de ciclo de vida; mneme doctor verifica o resultado, e perfis e instalações por cliente estão em Instalação em Três Camadas. O Claude Code registra seis eventos de hook; Codex e Antigravity mapeiam quatro. Qualquer outro cliente MCP (Kimi, Qwen, Cline, Cursor) recebe as dez ferramentas MCP por meio do adaptador aberto, sem hooks de ciclo de vida e sem captura automática.

  • O que ele armazena é um arquivo que você pode abrir. Quando uma sessão realmente alterou algo no vault, o hook Stop anexa um bloco ## HH:MM session com timestamp a vault/sessions/YYYY-MM-DD.md com frontmatter type: session, gravado atomicamente sob um lock entre processos; mneme index rebuild reconstrói o índice FTS5 sobre cada arquivo markdown no vault, então o banco de dados é um estado derivado que você pode excluir.
  • Encerrar uma sessão não custa nada e leva 2 ms. "Nenhuma chamada de LLM no caminho crítico" é aplicada no CI em vez de prometida em prosa. tools/spec_verify.py analisa todos os seis módulos de hooks de ciclo de vida e falha o build em qualquer importação de sete raízes com capacidade de rede (anthropic, openai, requests, httpx, urllib.request, urllib3, aiohttp), e packages/mneme-cc-plugin/tests/integration/test_c3_no_network.py re-verifica o fechamento transitivo completo de importação dos três hooks de caminho quente em tempo de execução, onde uma varredura estática não consegue enxergar. O benchmark do proxy do hook Stop mede 2 ms no p95 em 100 sessões contra um teto de 1000 ms: benchmarks/latency/p95_guard.py aplica esse teto dentro do mesmo workflow de benchmark com escopo de caminho descrito abaixo, e packages/mneme-cc-plugin/tests/unit/test_stop_performance.py re-verifica isso em 100 chamadas Stop reais em cada execução de CI, que não carrega filtro de caminho.
  • A qualidade da busca não pode degradar silenciosamente. Um pull request que reduza o nDCG@5 do FTS5 de produção em mais de 0,02 abaixo da linha de base travada (0,8006, reportado como 0,801), reduza o Recall@10 em mais de 0,05 abaixo de 1,00, ou falhe na sonda negativa fora do vocabulário falha o build — benchmarks/retrieval/regression_guard.py, executado por .github/workflows/bench.yml em cada pull request e cada push para main que toque em packages/mneme-core, packages/mneme-mcp, benchmarks/ ou no próprio arquivo do workflow.

Escopo e limites

Esses números vêm da suíte de benchmarks no repositório, semeada com MNEME_BENCH_SEED=42. O Benchmark A usa um corpus de 500 documentos. O Benchmark E usa seu fixture padrão de 300 documentos e 30 consultas. Reproduza com make bench-all. Ambas as figuras acima — o 0,801 e os 2 ms — carregam a nota que rege toda figura neste README:

Nota: Todas as figuras abaixo são âncoras determinísticas de regressão calculadas em um corpus sintético semeado; não são medições de qualidade do mundo real (ver ADR-012).

As afirmações de recuperação seguem o caminho alcançável. O caminho de produção mneme_search é FTS5 BM25. O núcleo Python contém um backend experimental de vetor lexical com hash de características e um protocolo de fusão RRF usado por testes unitários e benchmarks sintéticos, mas esse backend não está conectado ao servidor MCP ou ao instalador. Resumo e timeline de perfil completo podem adicionar campos Graphiti e Neo4j locais opcionais. Um backend verdadeiro de embeddings semânticos permanece no roadmap.

Privacidade e rede. Redação inline de tags <private> na gravação de staging com log de auditoria SHA256. Zero chamadas de rede de saída, exceto LLM de compressão opt-in e Neo4j local opcional. A compressão acontece em segundo plano, opt-in, com um teto de custo.

Raciocínio temporal. O ciclo de vida determinístico de afirmações (válido de/até, substitui, consultas as-of, detecção de contradição, viagem no tempo de proveniência temporal blame) é integrado em todo perfil — SQLite puro, sem dependência extra. Exportação Graphiti e extração de afirmações por LLM permanecem opcionais e nunca rodam no caminho Stop ou crítico.

Context Continuity Engine (opt-in). Checkpoints são markdown simples no vault, zero-LLM, desativados por padrão.

Obsidian é totalmente opcional. Um vault é simplesmente um diretório comum de arquivos markdown. mneme não exige editor específico, aplicativo externo ou instalação do Obsidian. Você pode trabalhar com seu vault usando grep, git, VS Code ou qualquer editor de texto. O termo "vault" é uma convenção emprestada para um diretório markdown autocontido, não uma dependência de qualquer ferramenta específica. Como o vault é markdown simples, um usuário que já usa Obsidian pode apontá-lo para o mesmo diretório e obter notas renderizadas, backlinks e navegação em grafo sobre os wikilinks que mneme escreve. As duas ferramentas coexistem limpas: mneme armazena todo estado derivado (índices, staging, logs de auditoria) dentro de um diretório .mneme que o Obsidian ignora como pasta oculta, e o indexador do mneme exclui a pasta de configurações .obsidian da indexação, então nenhuma ferramenta perturba a outra. Obsidian é um visualizador e navegador conveniente para o conteúdo do vault. Não faz parte do caminho de captura, indexação ou recuperação do mneme, e não deve ser tratado como pré-requisito de instalação.

O ledger completo de enviado / gated / roadmap está em Status de Implementação; as capacidades que mneme não envia de forma alguma estão listadas em O que o 2.0 Ainda Não Envia.

Status: versão pública 4.1.0. As fontes de versão de pacote, plugin, runtime, citação e documentação são mantidas em sincronia por tools/version_bump.py (18 fontes incluindo esta linha, verificadas no CI), então nenhuma versão declarada individual pode divergir. Atualizando de uma linha anterior: docs/UPGRADING.md.

Ferramentas

O servidor MCP registra dez ferramentas. Todo cliente que fala MCP recebe todas as dez; hooks de ciclo de vida e captura automática são uma camada separada que apenas Claude Code, Codex e Antigravity fornecem. A lista autoritativa é packages/mneme-mcp/src/tool_registry.ts.

FerramentaO que faz
mneme_searchRecuperação FTS5 BM25 sobre o vault com normalização de casefold turco, além de filtros de data, tipo de memória e escopo. Retorna resultados ranqueados e EvidenceCards com hashes de conteúdo, confiança, nível de confiança e o backend que realmente executou.
mneme_recallRecupera documentos indexados por identificador de sessão, intervalo de datas e escopo. Retorna caminhos, títulos, horários de modificação, tipos de memória e, opcionalmente, o corpo markdown completo.
mneme_writeAnexa ou substitui atomicamente uma seção markdown em um arquivo do vault. Aplica contenção de caminho do vault e redige spans privados antes do armazenamento.
mneme_summarizeAgrupa correspondências FTS5 para um tópico por diretório do vault dentro de filtros opcionais de data e escopo. O enriquecimento Graphiti aparece apenas quando essa integração de grafo local opcional está configurada.
mneme_timelineRetorna referências restritas por escopo para um assunto em ordem cronológica. Fatos Graphiti e filtragem bi-temporal aparecem apenas quando a integração de grafo local opcional está disponível.
mneme_primeConstrói um pacote de contexto preflight com orçamento de tokens a partir de sessões recentes e correspondências relevantes ao tópico. Um identificador de sessão do chamador permite deduplicação de injeção por sessão e formatação completa, por pontos-chave ou de referência.
mneme_proposeEnfileira uma proposta de edição de memória redigida para o drain de políticas. O servidor não aplica a edição diretamente; categorias duráveis sempre exigem aprovação humana.
mneme_checkpoint_listLista checkpoints recentes do Context Continuity Engine do escopo ativo, do mais novo ao mais antigo. Estado de checkpoint ausente retorna uma lista vazia.
mneme_working_set_loadCarrega itens do conjunto de trabalho ranqueados por saliência de um checkpoint do Context Continuity Engine. Âncoras desconhecidas e fora do escopo retornam o mesmo resultado neutro de não encontrado.

Como mneme se compara

Ferramentas de memória no ecossistema Claude Code e de agentes fazem diferentes trade-offs. A tabela abaixo compara capacidades arquiteturais nas dimensões às quais mneme se compromete, e inclui deliberadamente as linhas onde outra ferramenta lidera. Essas células descrevem propriedades de design publicamente verificáveis na documentação de cada ferramenta. Não são um ranking com benchmark. Para os números reproduzíveis do próprio mneme, veja Números Reproduzíveis; para detalhes por ferramenta e uma lista honesta de "onde mneme não é o melhor ajuste", veja docs/COMPETITIVE.md.

Legenda: ✓ integrado · gated enviado, precisa de dependência ou flag opt-in · ~ parcial · — não disponível · n/a a dimensão não se aplica.

Dimensãomnemeclaude-memmem0LettaZepSupermemory
Armazenamento markdown simples que você pode git diff e usar com grep✓——~——
Redação integrada de <private> com auditoria SHA256✓—————
Captura Stop determinística, sem chamada de LLM✓—n/an/an/an/a
Recuperação híbrida no caminho normal do usuário~~~~✓✓
Ciclo de vida temporal de afirmações (válido de/até, substitui, blame)✓—~~✓~
Grafo de projeto e código (tree-sitter, impacto de PR)gated~————
Orçamento adaptativo de tokens e contexto✓—————
Segurança do agente: firewall de capacidades, taint, gate de aprovação✓—————
Migração sem perda em um comando a partir de claude-mem✓n/a————
Local-first, sem conta em nuvem necessária✓✓~✓——
Roda em Claude Code, Codex, Antigravity, qualquer cliente MCP✓~~~~~
LicençaApache-2.0Apache-2.0Apache-2.0Apache-2.0nuvemcódigo aberto
Memória de equipe com UI de grafo web (mneme: sync git auto-hospedado + console local)✓—~—✓✓
Agente reescreve autonomamente sua própria memória (mneme: graduado por política, rollback, cadeia de auditoria)✓—~✓——
Auto-resumo no fim da sessão, ativado por padrão (mneme: determinístico zero-LLM)✓✓——~~
Presets localizados de prompt de observação (mneme: en + tr)~✓————

A linha 3.0 fechou as antigas linhas de lacuna nos próprios termos do mneme. A memória de equipe é auto-hospedada (qualquer remote git, redação antes de compartilhar, criptografia opcional de ponta a ponta com age) com um console web apenas em loopback em vez de uma nuvem de fornecedor. A autonomia é graduada por política: o agente aplica classes de edição de baixo risco permitidas pelo operador por conta própria, toda mudança é registrada em diário para rollback em um comando e encadeada em um log de auditoria HMAC à prova de adulteração, e categorias duráveis sempre mantêm um humano no loop. O resumo de sessão ativado por padrão é determinístico e zero-LLM — sem chave, sem custo, sem latência — com compressão por LLM como a camada mais rica opt-in. Presets localizados são enviados para inglês e turco hoje (claude-mem ainda lidera em contagem bruta de idiomas, daí o ~ honesto). Onde um produto hospedado é genuinamente o melhor ajuste, docs/COMPETITIVE.md diz isso.

Status de Implementação

Um mapa honesto e de rápida visualização do que está disponível hoje versus o que está atrás de infraestrutura opcional ou ainda no roadmap. Disponível significa presente no caminho de instalação padrão e coberto pela CI. Condicionado significa implementado, mas inativo até que você forneça a dependência opcional ou o sinalizador. Roadmap significa projetado (muitas vezes com uma costura ou protocolo já em vigor), mas ainda não empacotado.

CapacidadeStatusDetalhe
Recuperação FTS5 BM25 (mneme_search)Disponívelcaminho de busca MCP padrão
Protocolo de fusão RRFExperimentalAPI Python mais harness de benchmark sintético; não conectado ao mneme_search
Redação <private> + auditoria SHA256Disponívelespelho Python + TypeScript; gravação de staging
Captura de Stop determinística sem LLMDisponívelhook Stop anexa um documento de sessão tipado
Camada de contexto adaptativa (compressão de shell, deduplicação de injeção, top-k adaptativo)Disponívelsubsistema distill.*
Memória de padrões + trajetóriasDisponívelprimitivas vault-markdown
Plugins nativos Claude Code / Codex / AntigravityDisponível (nativo)Claude Code registra 6 eventos de hook; Codex e Antigravity mapeiam 4; 2 skills + MCP
Adaptador MCP aberto (Kimi, Qwen, qualquer cliente MCP)Disponível (não nativo)apenas ferramentas MCP, sem captura automática
Compressão de IA em segundo planoDisponível (opt-in, desligado por padrão)ledger mensal de limite de custo
Recuperação léxico-vetorial com hash de característicasExperimental, desconectadoImplementado no núcleo Python e benchmarks; sem instalador documentado ou caminho de usuário MCP
Ciclo de vida temporal de alegações + extração de alegações baseada em regras + temporal blameDisponívelexportação Graphiti condicionada; extração LLM opcional, nunca no caminho crítico de Stop
Grafo de projeto + código (mneme-graph)Disponível (pacote separado)extração tree-sitter Python/JavaScript/TypeScript, detecção de comunidades, impacto de PR, canonicalização de entidades
Memória de código (mneme-code)Disponível (pacote separado)parsing procedural AGENTS.md, saída de teste para memória de falha, trajetória de correção
Modos de domínioDisponívelmodos de usuário vault-config + CLI; modos clínico e de revisão de segurança bloqueiam extração externa e upload de artefatos; configuração de usuário nunca pode enfraquecer um modo de privacidade embutido ou desabilitar redação
Segurança de agenteDisponívelfirewall de capacidades, rastreamento de taint de fluxo de dados, gate de aprovação humana para edições duráveis, benchmark de vault envenenado
Console somente leituraDisponívelrelatório de auditoria HTML autocontido, offline e seguro contra injeção
Conectores (Obsidian local + transporte injetado GitHub)Disponível (opt-in, desligado por padrão)redação antes da ingestão; revogar desabilitando
Enriquecimento temporal KG via gravações Neo4j/Graphiti ao vivo (summarize/timeline)Condicionadoperfil completo: Docker + Neo4j
Adaptador de incorporação semântica empacotadoRoadmapprotocolo de adaptador existe; sem modelo semântico empacotado ou conexão MCP de produção
Explorador visual de grafo de conhecimento baseado na webRoadmapplanejado
Recursos de equipe multiusuário (resolução de conflitos de merge, ACL por usuário, dashboards)Roadmap (Equipe)vaults compartilhados somente leitura via git remote funcionam hoje

Números Reproduzíveis

Estes vêm da suíte de benchmarks no repositório, semeada com MNEME_BENCH_SEED=42. O Benchmark A usa um corpus de 500 documentos. O Benchmark E usa seu fixture padrão de 300 documentos e 30 consultas. Reproduza com make bench-all.

Nota: Todos os números abaixo são âncoras de regressão determinísticas calculadas em um corpus sintético semeado; não são medições de qualidade do mundo real (veja ADR-012).

BenchmarkMétricaResultado
A. Qualidade de recuperaçãonDCG@5, FTS5 de produção0,801 (Recall@10 1,00, MRR 0,734)
B. Latência do hook Stopp952 ms (orçamento de restrição 1000 ms)
B. Latência de recuperaçãop953 ms em corpus indexado de 500 documentos
C. Compressão de saída de shellredução88 por cento em logs Bash redundantes
C. Deduplicação de injeçãotaxa de salto95 por cento em sessões apertadas de 20 turnos
C. Formato comprimidoeconomiapontos-chave 46 por cento, ref 88 por cento vs completo
D. Ferramenta de migraçãoasserções4 de 4 passam (migrado, idempotente, dedup, redação)
E. Adaptador frente a frenteperna mnemenDCG@5 0,831, MRR 0,772 no fixture de 300 documentos

Os guardas de regressão de CI bloqueiam a superfície de benchmark com escopo de caminho. Pull requests que tocam código com benchmark executam o workflow de benchmark. Qualquer execução que reduza o nDCG@5 do Benchmark A FTS5 de produção em mais de 0,02 ou viole o p95 do hook Stop de 1000 ms falha no build. A condição BoW RRF é relatada apenas como uma ablação de substituto lexical.

Instalação em Três Camadas

# Lite: FTS5 + Stop hook + privacy redaction + 10 MCP tools (Python + Node only)
pipx install mneme-cc-plugin
mneme install --profile=lite

# Standard: lite plus the standard optional dependency profile.
# The normal MCP search path remains FTS5. No --enable-dense installer flag ships.
mneme install --profile=standard

# Full: standard + gated Graphiti temporal knowledge graph enrichment (Docker + Neo4j)
mneme install --profile=full

Atualize no lugar sem perder dados.

mneme upgrade --profile=standard

Verifique uma instalação saudável.

mneme doctor

Usando mneme com Codex

mneme é nativo do Claude Code por origem. Como seu núcleo de recuperação (mneme-core), seu servidor MCP (mneme-mcp) e seu contrato de vault são neutros em relação ao cliente, mneme também roda dentro do CLI OpenAI Codex como uma camada aditiva, sem perda de fidelidade.

# Plugin: skills, MCP server, and lifecycle hooks together
codex plugin marketplace add OnourImpram/mneme

# Or wire just the MCP server into ~/.codex/config.toml
mneme install --client=codex

Codex recebe as mesmas dez ferramentas MCP, as mesmas duas skills e o mesmo vault. Quatro dos seis eventos de hook do Claude Code registrados do mneme mapeiam para eventos nativos do ciclo de vida do Codex (SessionStart, PostToolUse, Stop, PreCompact), e SessionEnd se dobra em Stop. UserPromptSubmit não tem mapeamento no Codex. Veja docs/CODEX.md para a tabela de cobertura completa e ADR-014 em docs/ARCHITECTURE.md para o design multicliente.

Usando mneme com Antigravity

Antigravity (IDE agêntico do Google) usa o modelo de extensão Gemini-CLI, e mneme envia uma extensão nativa para ele.

mneme install --client=antigravity

Isso instala a extensão mneme em ~/.gemini/extensions/, conectando as mesmas dez ferramentas MCP, as mesmas duas skills, um arquivo de regras GEMINI.md e hooks de ciclo de vida (SessionStart, PostToolUse, Stop, PreCompact) que mapeiam para o mesmo caminho de núcleo mneme hook <event> que Claude Code e Codex usam. Como Antigravity expõe um hook Stop, a captura de sessão tem paridade nativa total.

Outros clientes MCP (adaptador aberto)

Qualquer cliente compatível com MCP (Kimi, Qwen, Cline, Cursor e outros) pode usar mneme através do adaptador aberto. Esta é a camada não nativa: as dez ferramentas MCP estão disponíveis para o modelo chamar, mas não há hooks de ciclo de vida e nenhuma captura automática.

mneme install --client=mcp --config <path-to-your-clients-mcp-config.json>

mneme mescla apenas sua própria entrada de servidor e deixa todos os outros servidores na configuração intocados. Veja docs/INTEGRATIONS.md para os detalhes de camadas de cliente e examples/ para um trecho de configuração e um modelo AGENTS.md portátil.

O que o 2.0 Entrega

  • 10 ferramentas MCP: mneme_search, mneme_recall, mneme_write, mneme_prime, mneme_summarize, mneme_timeline, mneme_propose, mneme_health, mneme_checkpoint_list, mneme_working_set_load. A busca padrão é FTS5. mneme_health relata o estado da própria instalação — esquema e idade do índice, o perfil de localidade que o índice carrega, contagem de documentos, profundidade de staging — com uma correção anexada a cada aviso. Summarize e timeline de perfil completo podem adicionar campos KG quando o grafo local está ativo. mneme_checkpoint_list e mneme_working_set_load suportam o Context Continuity Engine (CCE): liste checkpoints de conjunto de trabalho disponíveis e carregue os itens classificados por saliência de um checkpoint para re-injeção de contexto JIT.
  • 5 hooks Claude Code: PostToolUse, SessionStart, Stop, PreCompact, SessionEnd.
  • 3 comandos de barra: /mneme:prime, /mneme:recall, /mneme:migrate.
  • 2 skills: mneme-prime, mneme-search.
  • Suíte de 7 benchmarks (make bench-all): qualidade de recuperação (A), latência Stop/recuperação (B), custo de contexto adaptativo (C), migração claude-mem (D), adaptador frente a frente (E), LongMemEval (F), compactação-recall CCE (G).
  • Migração em um comando: mneme-migrate migrate-from-claude-mem com sinalizador de arquivo tri-estado, re-execução idempotente e manifesto de rollback verificado por hash por execução.
  • Camada de Contexto Adaptativo: distill.shell_compress, distill.injection_dedup, distill.adaptive_topk, distill.compressed_format, mais mneme audit para relatórios de token e mneme audit-log para entradas de auditoria de redação.
  • Memória de padrões: mneme patterns {store, search, list, show, delete} gravando documentos vault-markdown Signal/Action/Outcome.
  • Gravador de trajetórias: mneme trajectory {start, step, end, show, list} capturando trilhas de decisão por sessão sob vault/trajectories/.
  • Compressão de IA em segundo plano (opt-in, desligado por padrão): mneme compress {enable, disable, status, dry-run, run} com ledger mensal de limite de custo.

A linha avançada do 2.0

Oito módulos estendem o núcleo do mneme para cargas de trabalho especializadas. Todos são condicionados ou enviados como pacotes separados. Todos enviam com redação antes do armazenamento, proveniência em cada registro e rótulos de confiança em cada alegação extraída. Nenhum roda no caminho crítico de Stop.

  • Grafo de projeto (mneme-graph): extração tree-sitter para Python, JavaScript e TypeScript; detecção de comunidades; análise de impacto de PR; canonicalização de entidades.
  • Memória de código (mneme-code): parsing procedural AGENTS.md, saída de teste para memória de falha, captura de trajetória de correção.
  • Modos de domínio: modos clínico e de revisão de segurança bloqueiam extração externa e upload de artefatos na camada de configuração. Uma configuração de usuário nunca pode enfraquecer um modo de privacidade embutido ou desabilitar redação.
  • Segurança de agente: firewall de capacidades, rastreamento de taint de fluxo de dados, gate de aprovação humana para edições duráveis, benchmark de vault envenenado.
  • Console somente leitura: relatório de auditoria HTML autocontido, offline e seguro contra injeção, sem exigir servidor.
  • Recuperação léxico-vetorial experimental com hash de características: um backend de núcleo Python e costura RRF usados por testes e benchmarks sintéticos. Não está conectado ao instalador ou ao caminho de busca MCP de produção.
  • Extração temporal + exportação Graphiti: extração de alegações baseada em regras, ciclo de vida válido-de/até, links de substituição e exportação para uma instância Graphiti local. Extração LLM é opcional e nunca no caminho crítico. Gravações Neo4j ao vivo são condicionadas ao perfil completo Docker + Neo4j.
  • Conectores (Obsidian local + transporte injetado GitHub): opt-in, desligado por padrão. Redação roda antes de cada ingestão. Revogue desabilitando na configuração.

O que o 2.0 Ainda Não Entrega

Uma alegação credível de "melhor do mercado" exige reconhecimento honesto de escopo.

  • Sem backend de incorporação semântica empacotado e sem caminho de usuário de recuperação densa instalado. A implementação léxico-vetorial com hash de características permanece uma API Python experimental.
  • Sem perna densa ou KG dentro de mneme_search. A busca MCP é FTS5. O enriquecimento KG é condicionado a summarize e timeline quando o estado de grafo de perfil completo local está ativo.
  • Sem opção SaaS em nuvem. mneme é local-first por convicção arquitetural.
  • Sem explorador visual de grafo de conhecimento baseado na web. Planejado.
  • Sem recursos de equipe multiusuário com resolução de conflitos de merge, ACL por usuário ou dashboards de equipe. Vaults compartilhados somente leitura via git remote funcionam hoje. Suporte completo de equipe é roadmap.

Veja docs/COMPETITIVE.md para o panorama completo e quais ferramentas podem atender melhor a essas necessidades.

Documentação

  • docs/ARCHITECTURE.md: filosofia de design e os 16 Architecture Decision Records (ADR-001 a ADR-016, com ADR-006 substituído por ADR-015).
  • docs/CONSTRAINTS.md: seis restrições sagradas e como verificar cada uma.
  • docs/VAULT.md: contrato de vault, especificação de frontmatter, padrão de gravação atômica.
  • docs/HOOKS.md: guia de integração de hooks, orçamentos de tempo, contrato fail-soft.
  • docs/MCP.md: referência da API de ferramentas com schemas JSON e chamadas de exemplo.
  • docs/RELEASE.md: checklist de tag GitHub, release e metadados.
  • docs/COOKBOOK.md: dez receitas trabalhadas com transcrições completas do Claude Code.
  • docs/MIGRATION-FROM-CLAUDE-MEM.md: migração em um comando com arquivo tri-estado e walkthrough de rollback verificado por hash.
  • docs/BENCHMARKS.md: metodologia e os números de linha de base bloqueados.
  • docs/COMPETITIVE.md: documento de panorama vivo (atualização mensal).
  • docs/PRIVACY.md: auditoria de chamadas de rede de saída e política de telemetria (zero por padrão).
  • docs/GOVERNANCE.md: modelo de manutenção, autoridade de release, sucessão.

Licença

Apache License 2.0. Veja LICENSE e NOTICE. Releases até e incluindo a linha 2.x foram publicados sob MIT e permanecem assim.

Agradecimentos

Mantido por Onour Impram (@OnourImpram). A Camada de Contexto Adaptativo e os primitivos de padrão e trajetória baseiam-se conceitualmente em padrões de compressão de tokens e agente-DB comprovados em ferramentas internas de produção. A arquitetura é nativa do mneme, a linhagem é experiência de operador.