mneme
Memoria local primero a través de sesiones donde los archivos Markdown siguen siendo la fuente de verdad y el índice de búsqueda es un artefacto reconstruible.
Documentación
Registro de mneme
Memoria nativa del vault para Claude Code. Markdown es la fuente de verdad.
Cada sesión comienza desde cero. Vuelves a explicar la misma arquitectura, las mismas restricciones, la misma decisión que ya resolviste ayer, y las herramientas que prometen solucionarlo en su mayoría almacenan tu historial de conversación en blobs opacos de SQLite y llaman a un LLM cada vez que terminas una sesión. El registro de tu propio trabajo termina en un lugar que no puedes leer, no puedes buscar con grep y no puedes llevarte contigo.
mneme registra lo que sucedió en cada sesión de Claude Code como archivos markdown simples en un directorio que tú posees (el vault) y los indexa con SQLite FTS5. La siguiente sesión se abre con un bloque de preflight: los encabezados de hoy, un resumen del estado de git y los cinco documentos de sesión modificados más recientemente, y el agente consulta el índice bajo demanda a través de mneme_search.
Aquí está el archivo que escribe el hook de Stop. La forma del frontmatter, el encabezado y el resumen provienen de packages/mneme-cc-plugin/src/mneme_cc_plugin/hooks/stop.py y packages/mneme-core/src/mneme_core/distill/templates/summary-en.md; el contenido a continuación es 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
Eso instala el plugin y registra los hooks del ciclo de vida; mneme doctor verifica el resultado, y los perfiles e instalaciones por cliente están en Instalación de tres niveles. Claude Code registra seis eventos de hook; Codex y Antigravity mapean cuatro. Cualquier otro cliente MCP (Kimi, Qwen, Cline, Cursor) obtiene las nueve herramientas MCP a través del adaptador abierto, sin hooks de ciclo de vida ni captura automática.
- Lo que almacena es un archivo que puedes abrir. Cuando una sesión realmente ha cambiado algo en el vault, el hook de Stop agrega un bloque
## HH:MM sessioncon marca de tiempo avault/sessions/YYYY-MM-DD.mdcon frontmattertype: session, escrito atómicamente bajo un bloqueo entre procesos;mneme index rebuildreconstruye el índice FTS5 sobre cada archivo markdown en el vault, por lo que la base de datos es un estado derivado que puedes eliminar. - Cerrar una sesión no cuesta nada y toma 2 ms. "Sin llamada al LLM en la ruta crítica" se aplica en CI en lugar de prometerse en prosa.
tools/spec_verify.pyanaliza los seis módulos de hooks del ciclo de vida y falla la compilación ante cualquier importación de siete raíces con capacidad de red (anthropic,openai,requests,httpx,urllib.request,urllib3,aiohttp), ypackages/mneme-cc-plugin/tests/integration/test_c3_no_network.pyvuelve a verificar el cierre de importación transitivo completo de los tres hooks de ruta caliente en tiempo de ejecución, donde un escaneo estático no puede ver. El benchmark del proxy del hook de Stop mide 2 ms en p95 sobre 100 sesiones contra un límite de 1000 ms:benchmarks/latency/p95_guard.pyaplica ese límite dentro del mismo flujo de trabajo de benchmark con ámbito de ruta descrito a continuación, ypackages/mneme-cc-plugin/tests/unit/test_stop_performance.pylo vuelve a verificar sobre 100 llamadas reales de Stop en cada ejecución de CI, que no lleva filtro de ruta. - La calidad de búsqueda no puede degradarse silenciosamente. Una solicitud de extracción que reduzca el nDCG@5 de FTS5 de producción más de 0.02 por debajo de la línea base bloqueada (0.8006, reportado como 0.801), reduzca Recall@10 más de 0.05 por debajo de 1.00, o falle la sonda negativa fuera de vocabulario, falla la compilación:
benchmarks/retrieval/regression_guard.py, ejecutado por.github/workflows/bench.ymlen cada solicitud de extracción y cada push amainque toquepackages/mneme-core,packages/mneme-mcp,benchmarks/o el propio archivo del flujo de trabajo.
Alcance y límites
Esos números provienen del conjunto de benchmarks dentro del repositorio, sembrado con MNEME_BENCH_SEED=42. El benchmark A usa un corpus de 500 documentos. El benchmark E usa su fixture predeterminado de 300 documentos y 30 consultas. Reproduce con make bench-all. Ambas cifras anteriores (el 0.801 y los 2 ms) llevan la nota que rige cada cifra en este README:
Nota: Todas las cifras a continuación son anclas de regresión deterministas calculadas sobre un corpus sintético sembrado; no son mediciones de calidad del mundo real (ver ADR-012).
Las afirmaciones de recuperación siguen la ruta alcanzable. La ruta de producción mneme_search es FTS5 BM25. El núcleo de Python contiene un backend experimental de vector léxico con hash de características y un protocolo de fusión RRF utilizado por pruebas unitarias y benchmarks sintéticos, pero ese backend no está conectado al servidor MCP ni al instalador. El resumen de perfil completo y la línea de tiempo pueden agregar campos opcionales de Graphiti y Neo4j con compuerta. Un verdadero backend de embeddings semánticos sigue en la hoja de ruta.
Privacidad y red. Redacción de etiquetas <private> en línea en la escritura de staging con registro de auditoría SHA256. Cero llamadas de red salientes excepto el LLM de compresión opt-in y Neo4j local opcional. La compresión ocurre en segundo plano, opt-in, con un límite de costo.
Razonamiento temporal. El ciclo de vida determinista de afirmaciones (válido desde/hasta, supersede, consultas as-of, detección de contradicciones, viaje en el tiempo de procedencia temporal blame) está integrado en cada perfil: SQLite puro, sin dependencia adicional. La exportación de Graphiti y la extracción de afirmaciones con LLM siguen siendo opcionales y nunca se ejecutan en la ruta de Stop o crítica.
Motor de continuidad de contexto (opt-in). Los checkpoints son markdown simple en el vault, cero LLM, desactivado por defecto.
Obsidian es completamente opcional. Un vault es simplemente un directorio plano de archivos markdown. mneme no requiere un editor específico, ninguna aplicación externa ni una instalación de Obsidian. Puedes trabajar con tu vault usando grep, git, VS Code o cualquier editor de texto. El término "vault" es una convención prestada para un directorio markdown autocontenido, no una dependencia de ninguna herramienta en particular. Debido a que el vault es markdown simple, un usuario que ya usa Obsidian puede apuntarlo al mismo directorio y obtener notas renderizadas, backlinks y navegación de vista de grafo sobre los wikilinks que escribe mneme. Las dos herramientas coexisten limpiamente: mneme almacena todo el estado derivado (índices, staging, registros de auditoría) dentro de un directorio .mneme que Obsidian ignora como carpeta de puntos, y el indexador de mneme excluye la carpeta de configuración .obsidian de la indexación, por lo que ninguna herramienta molesta a la otra. Obsidian es un visor y navegador conveniente para el contenido del vault. No es parte de la ruta de captura, indexación o recuperación de mneme, y no debe tratarse como un requisito de instalación.
El registro completo de enviado / con compuerta / hoja de ruta está en Estado de implementación; las capacidades que mneme no envía en absoluto se enumeran bajo Lo que 2.0 aún no envía.
Estado: versión pública 3.6.3. Las fuentes de versión de paquete, plugin, runtime, citación y documentación se mantienen en sincronía mediante tools/version_bump.py (18 fuentes incluida esta línea, verificadas en CI), por lo que ninguna versión declarada individual puede desviarse. Actualización desde una línea anterior: docs/UPGRADING.md.
Herramientas
El servidor MCP registra nueve herramientas. Cada cliente que habla MCP obtiene las nueve; los hooks de ciclo de vida y la captura automática son una capa separada que solo proporcionan Claude Code, Codex y Antigravity. La lista autoritativa es packages/mneme-mcp/src/tool_registry.ts.
| Herramienta | Qué hace |
|---|---|
mneme_search | Recuperación FTS5 BM25 sobre el vault con normalización de casefold turco, más filtros de fecha, tipo de memoria y alcance. Devuelve coincidencias clasificadas y EvidenceCards que llevan hashes de contenido, confianza, certeza y el backend que realmente se ejecutó. |
mneme_recall | Recupera documentos indexados por identificador de sesión, rango de fechas y alcance. Devuelve rutas, títulos, tiempos de modificación, tipos de memoria y opcionalmente el cuerpo markdown completo. |
mneme_write | Agrega o reemplaza atómicamente una sección markdown en un archivo del vault. Aplica contención de ruta del vault y redacta tramos privados antes del almacenamiento. |
mneme_summarize | Agrupa coincidencias FTS5 para un tema por directorio del vault dentro de filtros opcionales de fecha y alcance. El enriquecimiento de Graphiti aparece solo cuando esa integración de grafo local opcional está configurada. |
mneme_timeline | Devuelve referencias restringidas por alcance para un sujeto en orden cronológico. Los hechos de Graphiti y el filtrado bi-temporal aparecen solo cuando la integración de grafo local opcional está disponible. |
mneme_prime | Construye un paquete de contexto preflight con presupuesto de tokens a partir de sesiones recientes y coincidencias relevantes al tema. Un identificador de sesión de llamada permite deduplicación de inyección por sesión y formato completo, puntos clave o de referencia. |
mneme_propose | Pone en cola una propuesta de edición de memoria redactada para el drenaje de políticas. El servidor no aplica la edición directamente; las categorías duraderas siempre requieren aprobación humana. |
mneme_checkpoint_list | Lista los checkpoints recientes del Motor de continuidad de contexto desde el alcance activo, más recientes primero. El estado de checkpoint faltante devuelve una lista vacía. |
mneme_working_set_load | Carga elementos del conjunto de trabajo clasificados por saliencia desde un checkpoint del Motor de continuidad de contexto. Los anclajes desconocidos y fuera de alcance devuelven el mismo resultado neutral de no encontrado. |
Cómo se compara mneme
Las herramientas de memoria en el ecosistema de Claude Code y agentes hacen diferentes compensaciones. La tabla a continuación compara capacidades arquitectónicas en las dimensiones a las que mneme se compromete, e incluye deliberadamente las filas donde otra herramienta lidera. Estas celdas describen propiedades de diseño que son verificables públicamente desde la documentación de cada herramienta. No son una clasificación comparada. Para los números reproducibles propios de mneme, ver Números reproducibles; para detalles por herramienta y una lista honesta de "dónde mneme no es el mejor ajuste", ver docs/COMPETITIVE.md.
Leyenda: ✓ integrado · con compuerta enviado, necesita una dependencia o bandera opt-in · ~ parcial · — no disponible · n/a la dimensión no aplica.
| Dimensión | mneme | claude-mem | mem0 | Letta | Zep | Supermemory |
|---|---|---|---|---|---|---|
Almacén markdown simple que puedes git diff y buscar con grep | ✓ | — | — | ~ | — | — |
Redacción <private> integrada con auditoría SHA256 | ✓ | — | — | — | — | — |
| Captura de Stop determinista, sin llamada al LLM | ✓ | — | n/a | n/a | n/a | n/a |
| Recuperación híbrida en la ruta normal del usuario | ~ | ~ | ~ | ~ | ✓ | ✓ |
| Ciclo de vida temporal de afirmaciones (válido desde/hasta, supersede, blame) | ✓ | — | ~ | ~ | ✓ | ~ |
| Grafo de proyecto y código (tree-sitter, impacto de PR) | con compuerta | ~ | — | — | — | — |
| Presupuesto adaptativo de tokens y contexto | ✓ | — | — | — | — | — |
| Seguridad del agente: firewall de capacidades, taint, compuerta de aprobación | ✓ | — | — | — | — | — |
| Migración sin pérdida con un comando desde claude-mem | ✓ | n/a | — | — | — | — |
| Local primero, sin cuenta en la nube requerida | ✓ | ✓ | ~ | ✓ | — | — |
| Se ejecuta en Claude Code, Codex, Antigravity, cualquier cliente MCP | ✓ | ~ | ~ | ~ | ~ | ~ |
| Licencia | Apache-2.0 | Apache-2.0 | Apache-2.0 | Apache-2.0 | nube | código abierto |
| Memoria de equipo con UI de grafo web (mneme: sincronización git autoalojada + consola local) | ✓ | — | ~ | — | ✓ | ✓ |
| El agente reescribe autónomamente su propia memoria (mneme: graduado por políticas, rollback, cadena de auditoría) | ✓ | — | ~ | ✓ | — | — |
| Auto-resumen al final de la sesión, activado por defecto (mneme: determinista, cero LLM) | ✓ | ✓ | — | — | ~ | ~ |
| Presets de prompt de observación localizados (mneme: en + tr) | ~ | ✓ | — | — | — | — |
La línea 3.0 cerró las filas de brecha anteriores en los propios términos de mneme. La memoria de equipo es autoalojada (cualquier remoto git, redacción antes de compartir, cifrado de extremo a extremo opcional con age) con una consola web solo de loopback en lugar de una nube de proveedor. La autonomía está graduada por políticas: el agente aplica clases de edición de bajo riesgo permitidas por el operador por sí mismo, cada cambio se registra en un diario para rollback con un comando y se encadena en un registro de auditoría HMAC a prueba de manipulación, y las categorías duraderas siempre mantienen a un humano en el circuito. El resumen de sesión activado por defecto es determinista y cero LLM: sin clave, sin costo, sin latencia, con compresión LLM como la capa más rica opt-in. Los presets localizados se envían para inglés y turco hoy (claude-mem aún lidera en cantidad bruta de idiomas, de ahí el ~ honesto). Donde un producto alojado es genuinamente el mejor ajuste, docs/COMPETITIVE.md lo dice.
Estado de implementación
Un mapa honesto y de un vistazo de lo que está disponible hoy frente a lo que está detrás de infraestructura opcional o aún en la hoja de ruta. Disponible significa presente en la ruta de instalación predeterminada y cubierto por CI. Condicionado significa implementado pero inactivo hasta que proporciones la dependencia o el indicador opcional. Hoja de ruta significa diseñado (a menudo con una costura o protocolo ya en su lugar) pero aún no empaquetado.
| Capacidad | Estado | Detalle |
|---|---|---|
Recuperación FTS5 BM25 (mneme_search) | Disponible | ruta de búsqueda MCP predeterminada |
| Protocolo de fusión RRF | Experimental | API de Python más banco de pruebas sintético; no conectado a mneme_search |
Redacción <private> + auditoría SHA256 | Disponible | espejo Python + TypeScript; escritura de puesta en escena |
| Captura determinista de Stop sin LLM | Disponible | el hook Stop añade un documento de sesión tipado |
| Capa de contexto adaptativa (compresión de shell, deduplicación de inyección, top-k adaptativo) | Disponible | subsistema distill.* |
| Memoria de patrones y trayectorias | Disponible | primitivas vault-markdown |
| Plugins nativos Claude Code / Codex / Antigravity | Disponible (nativo) | Claude Code registra 6 eventos de hook; Codex y Antigravity mapean 4; 2 skills + MCP |
| Adaptador MCP abierto (Kimi, Qwen, cualquier cliente MCP) | Disponible (no nativo) | solo herramientas MCP, sin captura automática |
| Compresión de IA en segundo plano | Disponible (opt-in, desactivada por defecto) | libro mayor de límite de coste mensual |
| Recuperación léxico-vectorial con hash de características | Experimental, desconectada | Implementada en el núcleo de Python y en los benchmarks; sin instalador documentado ni ruta de usuario MCP |
Ciclo de vida temporal de afirmaciones + extracción de afirmaciones basada en reglas + temporal blame | Disponible | exportación Graphiti condicionada; extracción LLM opcional, nunca en la ruta crítica de Stop |
| Grafo de proyecto y código (mneme-graph) | Disponible (paquete separado) | extracción tree-sitter Python/JavaScript/TypeScript, detección de comunidades, impacto de PR, canonicalización de entidades |
| Memoria de código (mneme-code) | Disponible (paquete separado) | análisis procedural de AGENTS.md, memoria de salida de pruebas a fallos, trayectoria de corrección |
| Modos de dominio | Disponible | modos de usuario vault-config + CLI; los modos clínico y de revisión de seguridad bloquean la extracción externa y la carga de artefactos; la configuración de usuario nunca puede debilitar un modo de privacidad integrado ni desactivar la redacción |
| Seguridad del agente | Disponible | cortafuegos de capacidades, seguimiento de flujo de datos, puerta de aprobación humana para ediciones duraderas, benchmark de vault envenenado |
| Consola de solo lectura | Disponible | informe de auditoría HTML autónomo, sin conexión y seguro contra inyección |
| Conectores (Obsidian local + transporte inyectado de GitHub) | Disponible (opt-in, desactivados por defecto) | redacción antes de la ingesta; revocación desactivándolos |
| Enriquecimiento temporal del KG mediante escrituras Neo4j/Graphiti en vivo (summarize/timeline) | Condicionado | perfil completo: Docker + Neo4j |
| Adaptador de incrustación semántica empaquetado | Hoja de ruta | el protocolo del adaptador existe; sin modelo semántico empaquetado ni cableado MCP de producción |
| Explorador visual web del grafo de conocimiento | Hoja de ruta | planificado |
| Funciones multiusuario para equipos (resolución de conflictos de fusión, ACL por usuario, paneles) | Hoja de ruta (Team) | los vaults compartidos de solo lectura mediante git remote funcionan hoy |
Números reproducibles
Provienen de la suite de benchmarks del repositorio, sembrada con MNEME_BENCH_SEED=42. El benchmark A usa un corpus de 500 documentos. El benchmark E usa su fixture predeterminado de 300 documentos y 30 consultas. Reproduce con make bench-all.
Nota: Todas las cifras siguientes son anclas de regresión deterministas calculadas sobre un corpus sintético sembrado; no son mediciones de calidad del mundo real (ver ADR-012).
| Benchmark | Métrica | Resultado |
|---|---|---|
| A. Calidad de recuperación | nDCG@5, FTS5 de producción | 0.801 (Recall@10 1.00, MRR 0.734) |
| B. Latencia del hook Stop | p95 | 2 ms (presupuesto de restricción 1000 ms) |
| B. Latencia de recuperación | p95 | 3 ms en corpus indexado de 500 documentos |
| C. Compresión de salida de shell | reducción | 88 por ciento en registros Bash redundantes |
| C. Deduplicación de inyección | tasa de omisión | 95 por ciento en sesiones ajustadas de 20 turnos |
| C. Formato comprimido | ahorro | puntos clave 46 por ciento, ref 88 por ciento frente al completo |
| D. Herramienta de migración | aserciones | 4 de 4 pasan (migrado, idempotente, deduplicación, redacción) |
| E. Adaptador cara a cara | tramo mneme | nDCG@5 0.831, MRR 0.772 en fixture de 300 documentos |
Los guardas de regresión de CI bloquean la superficie de benchmarks con ámbito de ruta. Las solicitudes de extracción que tocan código evaluado ejecutan el flujo de trabajo de benchmarks. Cualquier ejecución que reduzca el nDCG@5 del benchmark A de FTS5 de producción en más de 0.02 o supere el p95 de 1000 ms del hook Stop falla la compilación. La condición BoW RRF se informa solo como una ablación de sustituto léxico.
Instalación en tres niveles
# Lite: FTS5 + Stop hook + privacy redaction + 9 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
Actualiza en el lugar sin perder datos.
mneme upgrade --profile=standard
Verifica una instalación saludable.
mneme doctor
Usar mneme con Codex
mneme es nativo de Claude Code por origen. Debido a que su núcleo de recuperación (mneme-core), su servidor MCP (mneme-mcp) y su contrato de vault son neutrales respecto al cliente, mneme también se ejecuta dentro de la CLI de OpenAI Codex como una capa aditiva, sin pérdida de fidelidad.
# 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 obtiene las mismas nueve herramientas MCP, las mismas dos skills y el mismo vault. Cuatro de los seis eventos de hook de Claude Code registrados por mneme se mapean a eventos nativos del ciclo de vida de Codex (SessionStart, PostToolUse, Stop, PreCompact), y SessionEnd se pliega en Stop. UserPromptSubmit no tiene mapeo en Codex. Consulta docs/CODEX.md para la tabla de cobertura completa y ADR-014 en docs/ARCHITECTURE.md para el diseño multicliente.
Usar mneme con Antigravity
Antigravity (el IDE agéntico de Google) usa el modelo de extensión Gemini-CLI, y mneme incluye una extensión nativa para él.
mneme install --client=antigravity
Esto instala la extensión mneme en ~/.gemini/extensions/, conectando las mismas nueve herramientas MCP, las mismas dos skills, un archivo de reglas GEMINI.md y hooks de ciclo de vida (SessionStart, PostToolUse, Stop, PreCompact) que se mapean a la misma ruta central mneme hook <event> que usan Claude Code y Codex. Debido a que Antigravity expone un hook Stop, la captura de sesión tiene paridad nativa completa.
Otros clientes MCP (adaptador abierto)
Cualquier cliente compatible con MCP (Kimi, Qwen, Cline, Cursor y otros) puede usar mneme mediante el adaptador abierto. Este es el nivel no nativo: las nueve herramientas MCP están disponibles para que el modelo las llame, pero no hay hooks de ciclo de vida ni captura automática.
mneme install --client=mcp --config <path-to-your-clients-mcp-config.json>
mneme fusiona solo su propia entrada de servidor y deja intacto cualquier otro servidor en la configuración. Consulta docs/INTEGRATIONS.md para los detalles de niveles de cliente y examples/ para un fragmento de configuración y una plantilla AGENTS.md portátil.
Qué incluye 2.0
- 9 herramientas MCP:
mneme_search,mneme_recall,mneme_write,mneme_prime,mneme_summarize,mneme_timeline,mneme_propose,mneme_checkpoint_list,mneme_working_set_load. La búsqueda predeterminada es FTS5. El summarize y el timeline de perfil completo pueden añadir campos KG cuando el grafo local está activo.mneme_checkpoint_listymneme_working_set_loadadmiten el Context Continuity Engine (CCE): listan los checkpoints de conjunto de trabajo disponibles y cargan los elementos clasificados por saliencia de un checkpoint para la reinyección de contexto JIT. - 5 hooks de Claude Code:
PostToolUse,SessionStart,Stop,PreCompact,SessionEnd. - 3 comandos de barra:
/mneme:prime,/mneme:recall,/mneme:migrate. - 2 skills:
mneme-prime,mneme-search. - Suite de 7 benchmarks (
make bench-all): calidad de recuperación (A), latencia de Stop/recuperación (B), coste de contexto adaptativo (C), migración claude-mem (D), adaptador cara a cara (E), LongMemEval (F), recuperación por compactación CCE (G). - Migración con un comando:
mneme-migrate migrate-from-claude-memcon indicador de archivo de tres estados, reejecución idempotente y manifiesto de reversión verificado por hash en cada ejecución. - Capa de contexto adaptativa:
distill.shell_compress,distill.injection_dedup,distill.adaptive_topk,distill.compressed_format, másmneme auditpara informes de tokens ymneme audit-logpara entradas de auditoría de redacción. - Memoria de patrones:
mneme patterns {store, search, list, show, delete}que escribe documentos vault-markdown Signal/Action/Outcome. - Grabador de trayectorias:
mneme trajectory {start, step, end, show, list}que captura rastros de decisiones por sesión bajovault/trajectories/. - Compresión de IA en segundo plano (opt-in, desactivada por defecto):
mneme compress {enable, disable, status, dry-run, run}con libro mayor de límite de coste mensual.
La línea avanzada de 2.0
Ocho módulos extienden el núcleo de mneme para cargas de trabajo especializadas. Todos están condicionados o se publican como paquetes separados. Todos incluyen redacción antes del almacenamiento, procedencia en cada registro y etiquetas de confianza en cada afirmación extraída. Ninguno se ejecuta en la ruta de Stop o crítica.
- Grafo de proyecto (mneme-graph): extracción tree-sitter para Python, JavaScript y TypeScript; detección de comunidades; análisis de impacto de PR; canonicalización de entidades.
- Memoria de código (mneme-code): análisis procedural de AGENTS.md, memoria de salida de pruebas a fallos, captura de trayectoria de corrección.
- Modos de dominio: los modos clínico y de revisión de seguridad bloquean la extracción externa y la carga de artefactos en la capa de configuración. Una configuración de usuario nunca puede debilitar un modo de privacidad integrado ni desactivar la redacción.
- Seguridad del agente: cortafuegos de capacidades, seguimiento de flujo de datos, puerta de aprobación humana para ediciones duraderas, benchmark de vault envenenado.
- Consola de solo lectura: informe de auditoría HTML autónomo, sin conexión y seguro contra inyección que no requiere servidor.
- Recuperación léxico-vectorial experimental con hash de características: un backend del núcleo de Python y una costura RRF usados por pruebas y benchmarks sintéticos. No está conectado al instalador ni a la ruta de búsqueda MCP de producción.
- Extracción temporal + exportación Graphiti: extracción de afirmaciones basada en reglas, ciclo de vida valid-from/to, enlaces supersedes y exportación a una instancia Graphiti local. La extracción LLM es opcional y nunca está en la ruta crítica. Las escrituras Neo4j en vivo están condicionadas al perfil completo de Docker + Neo4j.
- Conectores (Obsidian local + transporte inyectado de GitHub): opt-in, desactivados por defecto. La redacción se ejecuta antes de cada ingesta. Revocación desactivándolos en la configuración.
Qué no incluye aún 2.0
Una afirmación creíble de "mejor del mercado" requiere un reconocimiento honesto del alcance.
- Sin backend de incrustación semántica empaquetado y sin ruta de usuario de recuperación densa instalada. La implementación léxico-vectorial con hash de características sigue siendo una API de Python experimental.
- Sin tramo denso ni de KG dentro de
mneme_search. La búsqueda MCP es FTS5. El enriquecimiento KG está condicionado a summarize y timeline cuando el estado del grafo de perfil completo local está activo. - Sin opción SaaS en la nube. mneme es local-first por convicción arquitectónica.
- Sin explorador visual web del grafo de conocimiento. Planificado.
- Sin funciones multiusuario para equipos con resolución de conflictos de fusión, ACL por usuario o paneles de equipo. Los vaults compartidos de solo lectura mediante git remote funcionan hoy. El soporte completo para equipos está en la hoja de ruta.
Consulta docs/COMPETITIVE.md para el panorama completo y qué herramientas pueden satisfacer mejor esas necesidades.
Documentación
docs/ARCHITECTURE.md: filosofía de diseño y los 16 Architecture Decision Records (ADR-001 a ADR-016, con ADR-006 reemplazado por ADR-015).docs/CONSTRAINTS.md: seis restricciones sagradas y cómo verificar cada una.docs/VAULT.md: contrato de vault, especificación de frontmatter, patrón de escritura atómica.docs/HOOKS.md: guía de integración de hooks, presupuestos de tiempo, contrato fail-soft.docs/MCP.md: referencia de la API de herramientas con esquemas JSON y llamadas de ejemplo.docs/RELEASE.md: lista de verificación de etiquetas, lanzamientos y metadatos de GitHub.docs/COOKBOOK.md: diez recetas trabajadas con transcripciones completas de Claude Code.docs/MIGRATION-FROM-CLAUDE-MEM.md: migración con un comando con archivo de tres estados y recorrido de reversión verificado por hash.docs/BENCHMARKS.md: metodología y los números de referencia bloqueados.docs/COMPETITIVE.md: documento de panorama vivo (refresco mensual).docs/PRIVACY.md: auditoría de llamadas de red salientes y política de telemetría (cero por defecto).docs/GOVERNANCE.md: modelo de mantenimiento, autoridad de lanzamiento, sucesión.
Licencia
Apache License 2.0. Consulta LICENSE y NOTICE. Los lanzamientos hasta la línea 2.x inclusive se publicaron bajo MIT y siguen siéndolo.
Agradecimientos
Mantenido por Onour Impram (@OnourImpram). La Capa de Contexto Adaptativo y las primitivas de patrón y trayectoria se inspiran conceptualmente en patrones de compresión de tokens y de agente-BD probados en herramientas internas de producción. La arquitectura es nativa de mneme; el linaje es la experiencia del operador.