MemoryLake
Volver a todos los artículos
Pain Point22 de mayo de 20267 min de lectura

¿Por qué Windsurf olvida mis decisiones arquitectónicas?

Hace dos semanas, tú y Cascade definieron la capa de datos: Drizzle sobre Prisma, amigable con edge-runtime, sin uniones del lado ORM, SQL en bruto para consultas analíticas. Capturaste el porqué en una larga conversación. Hoy abres una nueva sesión de Cascade para añadir un nuevo endpoint, y Cascade sugiere casualmente escribir un esquema de Prisma con inclusiones unidas.

La decisión está en tu cabeza, en tu base de código y en algún lugar del historial de chats de las últimas dos semanas. No está en la memoria de Cascade. Aquí está el porqué.

La respuesta corta

Windsurf olvida decisiones arquitectónicas porque Cascade no tiene memoria persistente de chats pasados entre sesiones, y el archivo .windsurfrules es demasiado pequeño (~6,000 caracteres) para contener ADR completos con justificación. Los detalles de la decisión se pierden en sesiones antiguas y se comprimen en las largas. Una memoria de proyecto recuperable hace que las decisiones sean consultables en cada chat y cada herramienta.

Por qué Windsurf olvida decisiones arquitectónicas

Las decisiones arquitectónicas son el contexto de mayor valor en una base de código y el peor atendido por la memoria nativa de cada editor. Tres mecánicas de Cascade impulsan la pérdida:

1. Sin memoria entre sesiones para el contenido del chat. Cascade Memories captura notas breves con un alcance limitado al espacio de trabajo. No está diseñado para almacenar la cadena completa de razonamiento de una discusión de diseño de 90 mensajes. Cuando abres un nuevo chat, el porqué detrás de cada decisión está en la barra lateral del chat — legible por ti, invisible para el agente.

2. Los archivos de reglas son demasiado pequeños para los ADR. Un verdadero ADR tiene contexto, opciones consideradas, decisión, consecuencias y seguimientos. Meter media docena de esos en un .windsurfrules de 6,000 caracteres no es realista. La mayoría de los equipos se rinden y escriben una sola línea: "usar Drizzle". La línea sobrevive. La justificación no, así que Cascade sigue proponiendo opciones rechazadas.

3. La resumición en sesión comprime el porqué. Codeium ha documentado mejoras en el resumidor de Cascade porque versiones anteriores omitieron contexto importante. Incluso ahora, la resumición es con pérdida. El razonamiento se parafrasea en una frase corta, y Cascade pierde las restricciones detrás de ello.

Lo que pierdes cuando Windsurf olvida decisiones arquitectónicas

La justificación perdida es el tipo de pérdida de contexto más costoso:

  • Las opciones rechazadas vuelven a la vida. Prisma ya fue evaluado y rechazado. Sin el porqué, Cascade lo propone de nuevo — y sin tu oposición, un desarrollador junior o un revisor menos escéptico podrían aceptarlo.
  • Las decisiones se vuelven a litigar cada sprint. "¿Usamos Redis?" fue respondido en marzo. Sin un registro recuperable, se vuelve a preguntar en mayo, y desperdicias una sesión volviendo a decidir.
  • Nuevo código viola decisiones antiguas en silencio. "Todos los pagos a través de Stripe Checkout, nunca API en bruto" se decidió una vez. La siguiente característica utiliza API en bruto, porque la restricción nunca llegó al agente.

Soluciones integradas de Windsurf (y dónde cada una falla)

Windsurf tiene tres mecanismos relevantes. Ninguno está diseñado para contenido a escala de ADR.

`.windsurfrules` puede contener algunas líneas sobre tu stack. No puede contener ADR completos debido al límite práctico de caracteres y porque Cascade resume las reglas cargadas a medida que las sesiones crecen.

Cascade Memories genera automáticamente notas breves durante los chats. Útil para "el usuario prefiere PRs pequeñas". Inútil para "elegimos Drizzle sobre Prisma debido a estas cinco restricciones en este orden".

Workflows pueden guionar procedimientos repetibles. No es una característica de memoria; no ayudará.

Puedes leer la documentación oficial de Cascade Memories para conocer la superficie completa de características.

Para preferencias pequeñas, los nativos funcionan. Para la justificación arquitectónica de tu equipo, no están diseñados para el trabajo.

Dónde la memoria integrada de Windsurf falla

Las decisiones arquitectónicas no están limitadas al editor. Están limitadas al proyecto, a menudo a la organización. La misma decisión de "elegimos Drizzle" se aplica ya sea que estés en Cascade, Cursor, Claude Code, ChatGPT o una herramienta de revisión de código. Ninguna de las características nativas de Windsurf viaja más allá de Windsurf, y los ADR en una carpeta /docs/adr/ solo son útiles si cada agente en cada herramienta puede realmente encontrarlos y usarlos.

La memoria necesita seguir el proyecto, no el editor.

Cómo MemoryLake soluciona el olvido de decisiones arquitectónicas de Windsurf

MemoryLake es una capa de memoria entre modelos que se conecta a Windsurf a través del soporte nativo de MCP de Cascade. En lugar de intentar meter ADR en un archivo de reglas, cargas tu carpeta de ADR y tus discusiones de diseño en un proyecto, y Cascade recupera la decisión relevante por turno.

  • ADRs como memoria de primera clase. Deja tu carpeta /docs/adr/, RFCs y discusiones de diseño pasadas en el proyecto. Cuando Cascade está a punto de crear una capa de datos, puede extraer "ADR-014: elección de ORM" y ver la justificación completa, no una línea.
  • 10,000× más contexto que la solicitud en bruto. El motor de recuperación de MemoryLake lee de miles de millones de tokens de memoria de proyecto y devuelve solo el ADR relevante por turno. Sin límite de archivo de reglas, sin deriva de resumición.
  • Un registro de decisiones en cada IA. Los mismos ADR son visibles en Cursor, Claude Code, ChatGPT, Claude Desktop y Gemini. Un nuevo desarrollador que abra cualquier herramienta ve las mismas decisiones por las mismas razones.

MemoryLake también ofrece control de versiones estilo Git para la memoria, así que cuando un ADR es reemplazado, obtienes la diferencia y el historial — no una sobrescritura silenciosa. Obtuvo un 94.03% en el benchmark de contexto largo de LoCoMo, el mejor resultado publicado hasta 2026, con recuperación en milisegundos y cifrado de extremo a extremo AES-256.

Conectar MemoryLake a Windsurf en 3 pasos

  1. Crea un proyecto y carga tu historial de decisiones. Inicia sesión en MemoryLake, abre Gestión de Proyectos, haz clic en Crear Proyecto y nómbralo según tu repositorio (por ejemplo, "acme-platform — ADRs"). Sube tu carpeta /docs/adr/, carpeta RFC y chats exportados de Cascade a través del Document Drive (PDF, Markdown, Word, Excel, imágenes todos soportados). Agrega resúmenes breves de decisiones clave en la pestaña de Memories para una recuperación rápida.
  2. Genera un endpoint de servidor MCP. Abre la pestaña de Servidores MCP dentro de tu proyecto, haz clic en Añadir Servidor MCP, nómbralo "integración de Windsurf" y haz clic en Generar. MemoryLake devuelve un ID de clave API, secreto y URL de endpoint. Copia el secreto inmediatamente — solo se muestra una vez.
  3. Agrega el servidor a la configuración MCP de Cascade. En Windsurf, abre Configuración → Cascade → Gestionar MCPs → Ver configuración en bruto, luego agrega una entrada memorylake con la URL del endpoint y tu token Bearer. Guarda y reinicia Cascade. Cascade ahora tiene una herramienta memorylake que puede llamar para buscar el historial de decisiones antes de escribir código con forma arquitectónica.

Preguntas frecuentes

¿Windsurf recuerda decisiones arquitectónicas entre sesiones?

La Cascade de Windsurf no tiene memoria integrada entre sesiones de chats pasados. El archivo .windsurfrules sobrevive entre sesiones pero es demasiado pequeño para ADR completos. Cascade Memories son notas breves, no documentos de diseño. Los chats pasados están en la barra lateral donde el agente no puede leerlos.

¿Cómo hago que Cascade recuerde nuestras decisiones arquitectónicas?

Conecta Cascade a una capa de memoria externa como MemoryLake a través del soporte nativo de MCP de Windsurf. Carga tus ADR, RFC y discusiones de diseño pasadas en el proyecto; Cascade podrá recuperar la decisión relevante antes de escribir nuevo código con forma arquitectónica.

¿Por qué Cascade sigue sugiriendo opciones que ya rechazamos?

Porque el rechazo vive en un chat antiguo o en un párrafo que fue resumido. Sin memoria recuperable de la justificación, Cascade evalúa cada nueva solicitud contra las mejores prácticas genéricas, no tu registro de decisiones específico.

¿Puedo simplemente poner ADR en .windsurfrules?

Puedes poner resúmenes de una línea allí, pero el archivo de reglas tiene un límite práctico de alrededor de 6,000 caracteres y compite con todo lo demás por espacio de contexto. Los ADR completos con justificación, opciones y consecuencias pertenecen a la memoria recuperable, no a una cadena preprendida.

¿Funcionarán los mismos ADR en Cursor o Claude Code?

.windsurfrules es exclusivo de Windsurf. MemoryLake almacena ADR en un Proyecto neutral al modelo, por lo que el mismo registro de decisiones funciona en Windsurf, Cursor, Claude Code, Claude Desktop, ChatGPT y cualquier herramienta que hable MCP o REST.