Principios
memsys3 se rige por 10 principios sistemicos documentados de forma canonica en PRINCIPLES.md. Cualquier comportamiento del sistema debe poder justificarse desde uno de ellos.
Cuando despliegas memsys3 en un proyecto, PRINCIPLES.md se copia a memsys3/PRINCIPLES.md y los agents lo leen al inicio de cada sesion.
1. Anti-CDC (Casualidad de Contexto)
Section titled “1. Anti-CDC (Casualidad de Contexto)”El principio fundacional. La lucidez de un AI agent no debe depender del azar de qué archivos haya tocado en la sesión actual. memsys3 garantiza el contexto mediante archivos canónicos leídos siempre, no por suerte.
Si una decisión, gotcha o convención sólo “se sabe” porque casualmente apareció en la conversación, está fuera del sistema. La canonización proactiva (volcar lo aprendido a memory.yaml, adr.yaml, sessions.yaml) es la defensa.
2. Agnosticismo de modelo IA
Section titled “2. Agnosticismo de modelo IA”Los prompts (Markdown) y la memoria (YAML) son universales. memsys3 funciona con Claude, Gemini, Codex y cualquier modelo capaz de leer ficheros. Features específicas de herramientas (statusline, comandos locales) son opcionales y nunca obligatorias.
3. Una sola carpeta
Section titled “3. Una sola carpeta”Sin base de datos, sin servidor, sin daemon. Todo vive en memsys3/. Copiar la carpeta es el deploy. Borrarla es la desinstalación.
4. Human-in-the-loop
Section titled “4. Human-in-the-loop”El sistema no actúa por su cuenta. El humano decide cuándo empezar y acabar sesión, cuándo compilar contexto, cuándo actualizar. No hay agentes autónomos persistentes.
5. Criterio inteligente vs límites arbitrarios
Section titled “5. Criterio inteligente vs límites arbitrarios”El Context Agent no se rige por cuotas fijas (“máximo N ADRs”). Lee TODO primero y filtra con criterio según la pregunta: “¿qué necesita CUALQUIER agent descontextualizado para trabajar aquí?”. Único límite duro: 2000 líneas en context.yaml.
6. Templates como documentación activa
Section titled “6. Templates como documentación activa”Los templates YAML no son ejemplos muertos: son la forma canónica que el sistema espera. Si un template cambia, los proyectos lo reciben vía /actualizar-memsys3.
7. file_version inmutable salvo /actualizar-memsys3
Section titled “7. file_version inmutable salvo /actualizar-memsys3”Cada archivo de infraestructura lleva un file_version independiente. Sólo el prompt actualizar.md puede modificarlo. Los agents trabajando en proyectos cliente no deben tocar versiones de infraestructura.
8. Datos siempre preservados
Section titled “8. Datos siempre preservados”Rotaciones, archivado y Plan de Contingencia mueven datos a history/ o a archivos rotados (sessions_N.yaml, adr_N.yaml). Nunca se borra.
9. Separation of Concerns
Section titled “9. Separation of Concerns”memsys3_templates/— producto distribuible agnóstico.memsys3/(en el repo upstream) — dogfooding, NO se distribuye.memory/full/— datos del proyecto.memory/templates/— infraestructura inmutable.
10. Restricciones de infraestructura en agents
Section titled “10. Restricciones de infraestructura en agents”Los agents tienen restricciones explícitas declaradas en main-agent.yaml y context-agent.yaml: no tocar prompts/, agents/ ni templates/ excepto vía /actualizar-memsys3. Las restricciones viven con el agente, no en documentación lateral.