Integración: las tres piezas juntas
Gentle-AI configura Engram como uno de sus componentes: instala el binario, escribe la configuración MCP por agente, y gentle-ai doctor chequea que el MCP de Engram responda. Pero Gentle-AI no reimplementa Engram — su propia documentación marca ese límite: el transporte de nube es responsabilidad de Engram, no del código de Gentle-AI.
Dos syncs, no confundir
gentle-ai sync refresca la configuración de tus agentes (prompts, skills, MCP). engram sync exporta o importa memoria hacia .engram/. Son dos comandos de dos herramientas distintas que hacen trabajos distintos.
SDD y memoria
Las fases de SDD pueden guardar sus artefactos durables en Engram, en OpenSpec, o en ambos (modo híbrido). En flujos respaldados por Engram, cada subagente de fase persiste su progreso antes de devolver el control, así la fase siguiente puede retomarlo — incluso en otra sesión.
En equipo
scope: project es lo que ve el equipo; scope: personal es solo tuyo — pero el scope filtra búsquedas, no el sync: un proyecto habilitado exporta las dos por igual.
Cuándo NO usar cada pieza
No fuerces SDD en un pedido chico: el agente lo resuelve directo. No actives RDD si no necesitás revisión nativa antes de entregar: queda apagada por default. No levantes Engram Cloud si trabajás solo en una máquina: el SQLite local más engram sync por git ya te cubre.
Qué gana una empresa
Las dos herramientas son MIT (LICENSE en ambos repos). Eso saca del camino la revisión legal más pesada, la que sí frena a las alternativas licenciadas bajo AGPL-3.0.
Operarlo cuesta poco. Engram es un binario Go con un solo archivo de base (~/.engram/engram.db): no hay runtime de Node, Bun, uv ni Python, no hay proceso worker aparte ni base vectorial que mantener. Para los agentes que hablan MCP por stdio no hay siquiera un proceso que levantar.
No hay lock-in de agente. Si un equipo usa Claude Code, otro Cursor y otro VS Code Copilot, los tres leen y escriben la misma memoria vía MCP: el conocimiento no se fragmenta por herramienta.
Nada se captura solo. El agente decide qué vale la pena guardar, así que no hay llamadas extra a la API para comprimir ni tool calls crudos ensuciando la búsqueda.
Para lo sensible está <private>...</private>, que se despoja en dos capas: en el plugin, antes de que el dato salga del proceso, y en el store en Go, dentro de AddObservation() y AddPrompt(). Lo que queda persistido es [REDACTED].
Donde más se nota es en el onboarding: el contexto que un colaborador nuevo tendría que ir a preguntar ya está guardado como scope: project.
La adopción no es técnica, es un acuerdo escrito: documentá la convención en el README, mirá el scope en la revisión de código, y auditá cada tanto con mem_context.
Y el objetivo real, según la propia documentación: si estás pensando en Engram mientras trabajás, algo salió mal. Es infraestructura — se configura una vez y desaparece.